/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html, body {
      width: 100%;
      overflow-x: hidden;
}
html {
      font-size: 62.5%;
      font-feature-settings: "palt";
}
/*print*/
@page {
      margin: 10mm;
      size: 210mm 297mm; /* A4縦サイズの場合 */
}
@media print {
      body {
            -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
            width: 1190px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
      }
      #header {
            width: calc(100% - 4vw) !important;
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
      .header_cv {
            position: relative !important;
            top: -170px !important;
            right: auto !important;
            left: calc(100% - 600px) !important;
      }
      img {
            max-width: 100%;
      }
}
/*print end*/
@media screen and (max-width: 1370px) {
      html {
            font-size: 0.8vw;
      }
}
@media screen and (max-width: 960px) {
      html {
            font-size: 1.1vw;
      }
}
@media screen and (max-width: 680px) {
      html {
            font-size: clamp(0.5rem, 0.056rem + 2.22vw, 1rem);
      }
}
body {
      background-color: #fff;
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.7;
      color: #222222;
      font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
      -webkit-text-size-adjust: 100%;
}
table {
      border-collapse: collapse;
      border-spacing: 0;
      line-height: 1.7;
}
a {
      text-decoration: none;
      transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
      color: #212121;
}
label {
      cursor: pointer;
}
input, select, textarea, button {
      margin: 0;
      vertical-align: middle;
      font-family: inherit;
      outline: none;
      font-size: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
}
button {
      cursor: pointer;
}
iframe {
      vertical-align: middle;
}
@media screen and (max-width: 960px) {
      img {
            max-width: 100%;
            height: auto;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
      }
      iframe {
            max-width: 100%;
            height: 200px;
      }
}
@media screen and (min-width: 1200px), print {
      a.tel_link[href^="tel:"] {
            pointer-events: none;
      }
}
/* pc / tab / sp
============================================================================================================ */
.sp {
      display: none;
}
.pc {
      display: block;
}
.tab {
      display: none;
}
.pc_tab {
      display: block;
}
.tab_sp {
      display: none;
}
.sp_680 {
      display: none;
}
@media screen and (max-width: 960px) {
      .pc {
            display: none !important;
      }
      .tab {
            display: block !important;
      }
      .sp {
            display: none;
      }
      .tab_sp {
            display: block !important;
      }
}
@media screen and (max-width: 680px) {
      .sp_680 {
            display: block;
      }
      .pc_tab_680 {
            display: none;
      }
}
@media screen and (max-width: 480px) {
      .tab {
            display: none !important;
      }
      .sp {
            display: block;
      }
      .pc_tab {
            display: none !important;
      }
      .tab_sp {
            display: block !important;
      }
}
/* sp
============================================================================================================ */
@media screen and (max-width: 960px) {
      *[data-label] img {
            display: none;
      }
      *[data-label]:before {
            content: attr(data-label);
      }
      *[data-label-r]:after {
            content: attr(data-label-r);
      }
}
/* w
============================================================================================================ */
.w103 {
      position: relative;
      display: block;
      max-width: 1036px;
      margin: 0 auto;
}
.w11 {
      position: relative;
      display: block;
      max-width: 1100px;
      margin: 0 auto;
}
.w {
      position: relative;
      display: block;
      max-width: 1000px;
      margin: 0 auto;
}
.w95 {
      position: relative;
      display: block;
      max-width: 950px;
      margin: 0 auto;
}
/* ヘッダー header________________________________________
============================================================================================================ */
#header {
      font-size: 1.4rem;
      /*position: fixed;*/
      position: absolute;
      width: 100%;
      z-index: 100;
      box-sizing: border-box;
}
#header .head {
      display: flex;
      justify-content: space-between;
}
/* logo */
#header .logo {
      width: 24rem;
      aspect-ratio: 204/172;
      position: fixed;
      top: 0;
      left: 0;
}
#header .logo img {
      width: 100%;
}
@media screen and (max-width: 960px) {
      #header {
            z-index: 888;
            height: 60px;
      }
      #header .logo {
            width: 10.4rem;
            aspect-ratio: 104/98;
            margin-top: 0;
      }
}
/* globalnavi nav_______*/
@media screen and (min-width:1981px), print {
	  #header nav #global > li a {
            padding: 1.5em  0.5em;
	}
}
@media screen and (min-width:961px) and (max-width:1980px), print {
      #header nav #global > li a {
            padding: 1.5em 1vw;
	}
}
@media screen and (min-width:961px), print {
      #header nav {
            position: fixed;
            top: 0;
            right: 0;
      }
      #header nav #global {
            display: flex;
            margin-right: 3em;
            margin-top: 3em;
            font-size: 1.4rem;
      }
      #header nav #global > li {
            position: relative;
            z-index: 2;
            width: 10em;
            margin-left: 5%;
      }
      #header nav #global > li a {
            display: flex;
            justify-content: center;
            align-items: center;
     /*       padding: 1.5em 1vw;*/
            position: relative;
            background: #fabe00;
            font-size: 1em;
            color: #fff;
            font-weight: bold;
            border-radius: 0.5em;
      }
      .contact a {
            background: #ec6d65 !important;
      }
      #header nav #global > li a:hover {
            background: #1d2088 !important;
      }
      #header nav .nav_down {
            display: none;
      }
}
@media screen and (max-width: 960px) {
      #header nav #global {
            font-size: 1.4rem;
            display: flex;
            position: relative;
            z-index: 9999;
      }
      #header nav {
            position: fixed;
            /*height: -webkit-calc(100% - 60px);
            height: calc(100% - 60px);*/
            top: 25px;
            right: 2em;
            /*  pointer-events: none;*/
            /*               overflow: hidden;  
	      opacity: 0;
            visibility: hidden;
       width: 0;*/
            transition: all 0.3s ease;
      }
      #header nav #global > li {
            width: 10em;
            margin-left: 5%;
      }
      #header nav #global > li a {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0.8em 1.5vw;
            position: relative;
            background: #fabe00;
            font-size: 1em;
            color: #fff;
            font-weight: bold;
            border-radius: 0.5em;
      }
      .contact a {
            background: #ec6d65 !important;
      }
}
@media screen and (max-width: 680px) {
      #header nav {
            right: 1.8em;
      }
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header .nav_btn {
      display: none;
}
@media screen and (max-width: 960px) {
      #header .nav_btn {
            display: block;
            position: absolute;
            right: 0;
            top: 0;
            z-index: 10;
      }
      #header .nav_btn span {
            position: relative;
            display: block;
            width: 60px;
            height: 60px;
            z-index: 2;
      }
      #header .nav_btn:before, #header .nav_btn span:before, #header .nav_btn span:after {
            content: "";
            position: absolute;
            left: 15px;
            right: 15px;
            top: 50%;
            height: 2px;
            margin-top: -1px;
            background-color: #212121;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header .nav_btn span:before {
            transform: translateY(-8px);
      }
      #header .nav_btn span:after {
            transform: translateY(8px);
      }
      /* open */
      #header.open .nav_btn:before {
            opacity: 0;
      }
      #header.open .nav_btn span:before {
            transform: translateY(0) rotate(45deg);
      }
      #header.open .nav_btn span:after {
            transform: translateY(0) rotate(-45deg);
      }
}
/* fixed
------------------------------------------------------------- */
/*#header.fixed  {

}*/
@media print {
      #header {
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
}
/* footer
============================================================================================================ */
footer {
      font-size: 1.6rem;
      padding: 3em 0 0 0;
      text-align: center;
}
footer .foot_info .foot_logo {
      margin-bottom: 10px;
      aspect-ratio: 140/123;
      width: 14.0rem;
      margin: auto;
}
footer .foot_info .foot_logo img {
      width: 100%;
}
@media screen and (max-width: 960px) {}
/* copyright
------------------------------------------------------------- */
.copyright {
      display: block;
      padding: 1em 0;
      font-size: 1.2rem;
      font-family: "Montserrat", sans-seri
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 0;
      right: 0;
      z-index: 10;
}
.page_top a {
      display: block;
      background: #3BAF1B;
      width: 75px;
      height: 75px;
      position: relative;
}
.page_top a:hover {
      opacity: 0.8;
}
.page_top a:after {
      position: absolute;
      content: "";
      vertical-align: middle;
      right: 0;
      left: 0;
      top: 5px;
      bottom: 0;
      margin: auto;
      width: 14px;
      height: 14px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(-45deg);
}
@media screen and (max-width: 960px) {
      .page_top a {
            width: 50px;
            height: 48px;
      }
}
/* コンテナ
============================================================================================================ */
#container {
      position: relative;
      font-size: 1.6rem;
      padding-top: 2em;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.6rem;
            padding-top: 0.8em;
      }
}
.f_16 {
      font-size: 16px;
}
.f_14 {
      font-size: 14px;
}
/* section
============================================================================================================ */
@media screen and (max-width: 1050px) {
      .sp_section_103 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1200px) {
      .sp_section_11 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1000px) {
      .sp_section_s {
            max-width: 95%;
            margin: auto;
      }
      .sp_section_l {
            max-width: 90%;
            margin: auto;
      }
}
.section_ll + .section_ll {
      margin-top: 13rem;
}
.section_l + .section_l {
      margin-top: 10rem;
}
.section_ml + .section_ml {
      margin-top: 8rem;
}
.section_m + .section_m {
      margin-top: 6rem;
}
.section_s + .section_s {
      margin-top: 3rem;
}
.section_ss + .section_ss {
      margin-top: 2rem;
}
@media screen and (max-width: 680px) {
      .section_ll + .section_ll {
            margin-top: 8rem;
      }
      .section_l + .section_l {
            margin-top: 7rem;
      }
      .section_ml + .section_ml {
            margin-top: 6rem;
      }
      .section_m + .section_m {
            margin-top: 4em;
      }
      .section_s + .section_s {
            margin-top: 3rem;
      }
      .section_ss + .section_ss {
            margin-top: 2rem;
      }
}
/* padding
============================================================================================================ */
.pd_l3 {
      padding-top: 15rem;
      padding-bottom: 15rem;
}
.pdt_l3 {
      padding-top: 15rem;
}
.pdb_l3 {
      padding-bottom: 15rem;
}
.pd_l2 {
      padding-top: 12rem;
      padding-bottom: 12rem;
}
.pdt_l2 {
      padding-top: 12rem;
}
.pdb_l2 {
      padding-bottom: 12rem;
}
.pd_l {
      padding-top: 8rem;
      padding-bottom: 8rem;
}
.pdt_l {
      padding-top: 8rem;
}
.pdb_l {
      padding-bottom: 8rem;
}
.pd_m3 {
      padding-top: 7rem;
      padding-bottom: 7rem;
}
.pdt_m3 {
      padding-top: 7rem;
}
.pdb_m3 {
      padding-bottom: 7rem;
}
.pd_m2 {
      padding-top: 6rem;
      padding-bottom: 6rem;
}
.pdt_m2 {
      padding-top: 6rem;
}
.pdb_m2 {
      padding-bottom: 6rem;
}
.pd_m {
      padding-top: 5rem;
      padding-bottom: 5rem;
}
.pdt_m {
      padding-top: 5rem;
}
.pdb_m {
      padding-bottom: 5rem;
}
.pd_s2 {
      padding-top: 3rem;
      padding-bottom: 3rem;
}
.pdt_s2 {
      padding-top: 3rem;
}
.pdb_s2 {
      padding-bottom: 3rem;
}
.pd_s {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
}
.pdt_s {
      padding-top: 2.5rem;
}
.pdb_s {
      padding-bottom: 2.5rem;
}
.pd_ss {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
}
.pdt_ss {
      padding-top: 1.5rem;
}
.pdb_ss {
      padding-bottom: 1.5rem;
}
@media screen and (max-width: 680px) {
      .pd_l3 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_l3 {
            padding-top: 10rem;
      }
      .pdb_l3 {
            padding-bottom: 15rem;
      }
      .pd_l2 {
            padding-top: 8rem;
            padding-bottom: 8rem;
      }
      .pdt_l2 {
            padding-top: 8rem;
      }
      .pdb_l2 {
            padding-bottom: 8rem;
      }
      .pd_l {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l {
            padding-top: 6rem;
      }
      .pdb_l {
            padding-bottom: 6rem;
      }
      .pd_m3 {
            padding-top: 5rem;
            padding-bottom: 5rem;
      }
      .pdt_m3 {
            padding-top: 5rem;
      }
      .pdb_m3 {
            padding-bottom: 5rem;
      }
      .pd_m2 {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m2 {
            padding-top: 4rem;
      }
      .pdb_m2 {
            padding-bottom: 4rem;
      }
      .pd_m {
            padding-top: 4.5rem;
            padding-bottom: 4.5rem;
      }
      .pdt_m {
            padding-top: 4.5rem;
      }
      .pdb_m {
            padding-bottom: 4.5rem;
      }
      .pd_s2 {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_s2 {
            padding-top: 3rem;
      }
      .pdb_s2 {
            padding-bottom: 3rem;
      }
      .pd_s {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .pdt_s {
            padding-top: 2rem;
      }
      .pdb_s {
            padding-bottom: 2rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
@media screen and (max-width: 480px) {
      .pd_l3 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_l3 {
            padding-top: 10rem;
      }
      .pdb_l3 {
            padding-bottom: 10rem;
      }
      .pd_l2 {
            padding-top: 8rem;
            padding-bottom: 8rem;
      }
      .pdt_l2 {
            padding-top: 8rem;
      }
      .pdb_l2 {
            padding-bottom: 8rem;
      }
      .pd_l {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l {
            padding-top: 6rem;
      }
      .pdb_l {
            padding-bottom: 6rem;
      }
      .pd_m3 {
            padding-top: 5rem;
            padding-bottom: 5rem;
      }
      .pdt_m3 {
            padding-top: 5rem;
      }
      .pdb_m3 {
            padding-bottom: 5rem;
      }
      .pd_m2 {
            padding-top: 5rem;
            padding-bottom: 5rem;
      }
      .pdt_m2 {
            padding-top: 5rem;
      }
      .pdb_m2 {
            padding-bottom: 5rem;
      }
      .pd_m {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m {
            padding-top: 4rem;
      }
      .pdb_m {
            padding-bottom: 4rem;
      }
      .pd_s2 {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_s2 {
            padding-top: 3rem;
      }
      .pdb_s2 {
            padding-bottom: 3rem;
      }
      .pd_s {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .pdt_s {
            padding-top: 2rem;
      }
      .pdb_s {
            padding-bottom: 2rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
/* btn_____
============================================================================================================ */
.btn > * {
      display: inline-flex;
      border: solid 1px var(--col_main);
      background: #fff;
      padding: 0.8em 1em;
      border-radius: 3em;
      color: var(--col_main);
      transition: 0.3s;
      box-sizing: border-box;
      font-size: 1.4rem;
}
@media screen and (min-width: 961px), print {
      .btn > *:hover {
            border: solid 1px var(--col_main);
            background: var(--col_main);
            color: #fff;
            opacity: 1 !important;
      }
}
/*arrow
-------------------------------------*/
.btn_arrow {
      position: relative;
      padding: 0.8em 4em 0.8em 3em;
}
.btn_arrow:before {
      content: "";
      background: url("../images/arrow_blue.svg") no-repeat;
      background-size: contain;
      position: absolute;
      aspect-ratio: 1;
      top: 50%;
      right: 0.3em;
      transform: translate(-0%, -50%);
      width: 2.4em;
}
/*btn color
----------------------------------------------------------------------------------------------------------*/
.btn_blue > * {
      border: solid 1px #fff;
      background: var(--col_main);
      color: #fff;
}
.btn_blue .btn_arrow:before {
      background: url("../images/arrow.svg") no-repeat;
}
@media screen and (min-width: 961px), print {
      .btn_blue > *:hover {
            border: solid 1px #fff !important;
            background: #fff !important;
            color: var(--col_main) !important;
      }
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_s > * {
      width: 12em;
      display: block;
      text-align: center;
}
.btn_m > * {
      width: 16em;
      display: block;
      text-align: center;
}
.btn_l > * {
      width: 20em;
      display: block;
      text-align: center;
}
/*ボタンの位置*/
.btn_center {
      margin: auto;
}
@media screen and (max-width: 680px) {
      .btn_tabsp_center {
            margin: auto;
      }
      .btn_sp_center {
            margin: auto;
      }
}
/*btn_pdf*/
.btn_pdf:before {
      content: "";
      background: url("../images/arrow_pdf.svg") no-repeat;
      background-size: contain;
}
/*brn_back*/
.brn_back {
      background: #C8C8C8;
      color: #222222;
      padding: 0.8em 3em 0.8em 4em;
}
.brn_back.btn_arrow:before {
      background: url("../images/arrow.svg") no-repeat;
      background-size: contain;
      right: auto;
      left: 0.3em;
      transform: translate(-0%, -50%) rotate(180deg);
}
@media screen and (min-width: 961px), print {
      .btn > *:hover {
            border: solid 1px var(--col_main);
            background: var(--col_main);
            color: #fff;
            opacity: 1 !important;
      }
}
/* midashi_
============================================================================================================ */
.midashi_01 {
      position: relative;
      z-index: 0;
}
.midashi_01 .ja, .midashi_01 .en {
      color: #2e3192;
}
.col_black.midashi_01 > * {
      color: #222222;
}
.midashi_01 .ja {
      position: relative;
      /*    padding-left: 1em;*/
      display: inline-block;
}
.midashi_01 .ja:before {
      content: "";
      background: url("../images/midashi_01.svg") no-repeat;
      aspect-ratio: 1;
      width: 2em;
      position: absolute;
      top: -0.5em;
      left: -0.7em;
      z-index: -1;
}
.midashi_01 .en {
      display: block;
      font-family: "Montserrat", sans-serif;
      font-size: 0.5em;
      letter-spacing: 1px;
}
/*飾りが大きいとき*/
.midashi_01.deco_l .ja:before {
      width: 3.5em;
      top: -1.5em;
      left: -1.8em;
}
@media screen and (max-width: 680px) {
      .midashi_01 {
            line-height: 1.3;
      }
      .midashi_01.deco_l .ja:before {
            width: 3em;
            top: -1.2em;
            left: -0.5em;
      }
}
/* title
============================================================================================================ */
.title_llll {
      font-size: 5.6rem;
}
.title_lll_m {
      font-size: 4.3rem;
}
.title_lll {
      font-size: 4.0rem;
}
.title_ll_38 {
      font-size: 3.8rem;
}
.title_ll_30 {
      font-size: 3.0rem;
}
.title_ll {
      font-size: 3.2rem;
}
.title_l {
      font-size: 2.8rem;
}
.title_ml {
      font-size: 2.6rem;
}
.title_m {
      font-size: 2.4rem;
}
.title_sm {
      font-size: 2.2rem;
}
.title_s {
      font-size: 2.0rem;
}
.title_ss {
      font-size: 1.8rem;
}
@media screen and (max-width: 680px) {
      .title_llll {
            font-size: 4.5rem;
      }
      .title_lll_m {
            font-size: 3.0rem;
      }
      .title_lll {
            font-size: 2.8rem;
      }
      .title_ll_38 {
            font-size: 2.6rem;
      }
      .title_ll_30 {
            font-size: 2.4rem;
      }
      .title_ll {
            font-size: 2.4rem;
      }
      .title_l {
            font-size: 2.2rem;
      }
      .title_ml {
            font-size: 2.1rem;
      }
      .title_m {
            font-size: 1.9rem;
      }
      .title_sm {
            font-size: 1.8rem;
      }
      .title_s {
            font-size: 1.6rem;
      }
      .title_ss {
            font-size: 1.6rem;
      }
}
/* table
============================================================================================================ */
table.basic {
      width: 100%;
      border: 1px solid #d9d9d9;
      line-height: 1.6;
      table-layout: fixed;
}
table.basic th, table.basic td {
      padding: 0.6em 1em;
      border: 1px solid #d9d9d9;
      word-wrap: break-word;
}
table.basic th {
      background: #f2f2f2;
}
/*table width*/
table .tw10 {
      width: 10%;
}
table .tw15 {
      width: 15%;
}
table .tw20 {
      width: 20%;
}
table .tw25 {
      width: 25%;
}
table .tw30 {
      width: 30%;
}
table .tw35 {
      width: 35%;
}
table .tw40 {
      width: 40%;
}
table .w45 {
      width: 45%;
}
table .tw50 {
      width: 50%;
}
@media screen and (max-width: 960px) {
      table.basic {
            border-width: 2px;
            font-size: 1.2rem;
            line-height: 1.5;
      }
      table.basic th, table.basic td {
            padding: 0.5em;
      }
      table.basic th {
            width: 10%;
      }
      table.basic td {
            width: 20%;
      }
}
/* li
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.square > li:before {
      content: "■";
      position: absolute;
      left: 0;
}
/* circle
------------------------------------------------------------- */
ul.circle > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.circle > li:before {
      content: "●";
      position: absolute;
      left: 0;
}
/* asterisk
------------------------------------------------------------- */
ul.asterisk > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.asterisk > li:before {
      content: "＊";
      position: absolute;
      left: 0;
}
/* disc
------------------------------------------------------------- */
ul.disc > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.disc > li:before {
      content: "・";
      position: absolute;
      left: 0;
}
/* notes
------------------------------------------------------------- */
ul.notes > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.notes > li:before {
      content: "※";
      position: absolute;
      left: 0;
}
/* decimal 数字
------------------------------------------------------------- */
ol.decimal {
      list-style-type: decimal;
}
ol.decimal > li {
      margin-left: 1.2em;
      margin-bottom: 0.2em;
}
/* decimal 数字　○
------------------------------------------------------------- */
ol.maru {
      counter-reset: item;
}
ol.maru > li {
      margin-left: 2em;
      position: relative;
      counter-increment: item;
}
ol.maru > li + li {
      margin-top: 1em;
}
ol.maru > li:before {
      content: counter(item);
      position: absolute;
      left: -2em;
      top: 0;
      width: 1.5em;
      height: 1.5em;
      background: #222222;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 0.9em;
      color: #fff;
}
/* img
============================================================================================================ */
.ofi {
      width: 100%;
      object-fit: cover;
      font-family: 'object-fit: cover;'
}
.ofi.cont {
      object-fit: contain;
      font-family: 'object-fit: contain;'
}
.img_max {
      max-width: 100%;
}
.img_auto {
      width: auto;
}
.img_80 {
      width: 80%;
      margin: auto;
}
/* background bg____________________
============================================================================================================ */
.bg_main {
      background: var(--col_main);
}
.bg_ff {
      background: #fff;
}
.bg_bage {
      background: #f5f1ed;
}
/*link_style*/
.link_style {
      text-decoration: underline;
      color: var(--col_main);
}
@media screen and (min-width: 961px), print {
      .link_style:hover {
            text-decoration: none;
      }
}
/* color col______
===================================================*/
.col_main {
      color: var(--col_main);
}
.col_black {
      color: #222222 !important;
}
.col_yellow {
      color: #fabe00;
}
/* lead
========================================= */
.lead {
      line-height: 2.0;
}
.lead_02 {
      line-height: 3.0;
}
.lead_18 {
      font-size: 1.8rem;
      line-height: 2;
}
.lead_18_02 {
      font-size: 1.8rem;
      line-height: 1.8;
}
.text_inner > p + p {
      margin-top: 1em;
}
@media screen and (max-width: 680px) {
      .lead_18 {
            font-size: 1.6rem;
      }
      .lead_18_02 {
            font-size: 1.6rem;
      }
}
/* 見出し
============================================================================================================ */
/*b_b
-------------------------------------------------------*/
.b_b {
      border-bottom: 2px solid #000;
      padding-bottom: 0.1em;
}
/*midashi_bg
-------------------------------------------------------*/
.midashi_bg {
      background: var(--col_main);
      color: #fff;
      border-radius: 0.2em;
      display: inline-block;
      padding: 0.3em 1em;
}
/*midashi_sq
-------------------------------------------------------*/
.midashi_sq {
      position: relative;
      padding-left: 0.8em;
}
.midashi_sq:before {
      position: absolute;
      left: 0;
      top: 0.4em;
      content: "";
      width: 0.5em;
      aspect-ratio: 1/1;
      background: #A5CBF5;
}
/*midashi_diagonal ななめ線
-------------------------------------------------------*/
.midashi_diagonal {
      position: relative;
      font-weight: bold;
      margin-bottom: 0.5em;
      display: inline-block;
}
.midashi_diagonal:before, .midashi_diagonal:after {
      content: "";
      background: #000;
      width: 2px;
      height: 100%;
      position: absolute;
      border-radius: 3px;
      top: 50%;
}
.midashi_diagonal:before {
      left: -1em;
      transform: translate(-0%, -50%) rotate(-30deg);
}
.midashi_diagonal:after {
      right: -1em;
      transform: translate(-0%, -50%) rotate(30deg);
}
.col_pink.midashi_diagonal:before, .col_pink.midashi_diagonal:after {
      background: var(--col_pink);
}
.col_orange.midashi_diagonal:before, .col_orange.midashi_diagonal:after {
      background: var(--col_orange);
}
/* fbox
============================================================================================================ */
.fbox {
      display: flex;
}
@media screen and (min-width: 681px), print {
      .fbox.f_pc {
            display: flex;
      }
      .fbox.f_sp {
            display: block;
      }
}
@media screen and (max-width: 680px) {
      .fbox.f_pc {
            display: block;
      }
      .fbox.f_sp {
            display: flex;
      }
}
.ff_re {
      flex-flow: row-reverse;
}
.jc_sp {
      justify-content: space-between;
}
.it_cener {
      align-items: center;
}
.it_start {
      align-items: flex-start;
}
/*分割比
----------------------------------------------*/
/*fbox_col2*/
.fbox_col2 {
      gap: 3%;
      flex-wrap: wrap;
}
.fbox_col2 > * {
      width: 48.5%;
}
@media screen and (max-width: 680px) {
      .fbox_col2.f_pc > * {
            width: auto;
            margin-top: 3%;
      }
      .fbox_col2.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_col3*/
.fbox_col3 {
      gap: 2%;
      flex-wrap: wrap;
}
.fbox_col3 > * {
      width: 32%;
}
@media screen and (max-width: 680px) {
      .fbox_col3.f_pc > * {
            width: auto;
      }
      .fbox_col3.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_4_6*/
.fbox_4_6 {
      gap: 5%;
}
.fbox_4_6 > *:nth-child(1) {
      width: 37%;
}
.fbox_4_6 > *:nth-child(2) {
      width: 58%;
}
@media screen and (max-width: 680px) {
      .fbox_4_6.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_4_6.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_4_6.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_6_4*/
.fbox_6_4 {
      gap: 5%;
}
.fbox_6_4 > *:nth-child(1) {
      width: 58%;
}
.fbox_6_4 > *:nth-child(2) {
      width: 37%;
}
@media screen and (max-width: 680px) {
      .fbox_6_4.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_6_4.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_6_4.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_7_3*/
.fbox_7_3 {
      gap: 5%;
}
.fbox_7_3 > *:nth-child(1) {
      width: 65%;
}
.fbox_7_3 > *:nth-child(2) {
      width: 30%;
}
@media screen and (max-width: 680px) {
      .fbox_7_3.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_7_3.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_7_3.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_3_7*/
.fbox_3_7 {
      gap: 5%;
}
.fbox_3_7 > *:nth-child(1) {
      width: 30%;
}
.fbox_3_7 > *:nth-child(2) {
      width: 65%;
}
@media screen and (max-width: 680px) {
      .fbox_3_7.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_3_7.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_3_7.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_8_2*/
.fbox_8_2 {
      gap: 5%;
}
.fbox_8_2 > *:nth-child(1) {
      width: 80%;
}
.fbox_8_2 > *:nth-child(2) {
      width: 15%;
}
@media screen and (max-width: 680px) {
      .fbox_8_2.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_8_2.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_8_2.f_pc > * + * {
            margin-top: 8%
      }
      .fbox_8_2 > *:nth-child(1) {
            width: 60%;
      }
      .fbox_8_2 > *:nth-child(2) {
            width: 35%;
      }
}
/*fbox_2_8*/
.fbox_2_8 {
      gap: 5%;
}
.fbox_2_8 > *:nth-child(1) {
      width: 15%;
}
.fbox_2_8 > *:nth-child(2) {
      width: 80%;
}
@media screen and (max-width: 680px) {
      .fbox_2_8.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_2_8.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_2_8 > *:nth-child(1) {
            width: 35%;
      }
      .fbox_2_8.f_pc > * + * {
            margin-top: 8%
      }
      .fbox_2_8 > *:nth-child(2) {
            width: 60%;
      }
}
/*cv_area*/
.cv_area {
      position: relative;
      z-index: 2;
      padding: 5em 0;
      background: url("../images/top/cv_bg.webp") no-repeat;
      background-size: cover;
      background-position: left bottom;
}
@media screen and (max-width: 680px) {
      .cv_area {
            padding: 14em 0 4em 0;
            background: url("../images/top/cv_bg_sp.webp") no-repeat;
            background-size: cover;
            background-position: center bottom;
      }
}
.cv_area_inner {
      width: 950px;
      margin: auto;
      display: flex;
      justify-content: flex-end;
      align-items: center;
}
.cv_area_box {
      padding: 1em 1em 3em 1em;
      color: #fff;
      background: var(--col_main) url("../images/top/cv_bg_dods.svg") no-repeat;
      background-size: cover;
      border-radius: 1.3em;
      width: calc(54rem - 4em);
      box-shadow: 13px 13px 13px 0px rgba(000, 000, 000, 0.5);
}
.cv_title {
      position: relative;
      z-index: 0;
      font-size: 3.8rem;
      text-align: center;
      line-height: 1.5;
}
.cv_title .ja {
      position: relative;
      display: inline-block;
}
.cv_title .ja:before {
      content: "";
      background: url("../images/midashi_01.svg") no-repeat;
      aspect-ratio: 1;
      width: 3em;
      position: absolute;
      top: -1em;
      left: -1em;
      z-index: -1;
}
.cv_title .en {
      display: block;
      font-family: "Montserrat", sans-serif;
      font-size: 0.5em;
}
.cv_text {
      padding: 1.5em 0;
      text-align: center;
}
.cv_text .fns_l {
      font-size: 1.2;
}
@media screen and (max-width: 960px) {
      .cv_area_inner {
            width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .cv_area_box {
            padding: 1em 1em 3em 1em;
            background: var(--col_main) url("../images/top/cv_bg_dods_sp.svg") no-repeat;
            background-size: cover;
            border-radius: 1.3em;
            width: 100%;
      }
      .cv_title {
            font-size: 2.8rem;
      }
      .cv_title .ja:before {
            width: 3.5em;
            position: absolute;
            top: -1.4em;
            left: -1.8em;
      }
      .cv_text {
            letter-spacing: -1px;
            padding: 1.5em 0;
            text-align: left;
      }
}