/* ========================================================
	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: 1300px) {
      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: var(--col_basic);
      font-family: "Noto Sans JP", 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: #222222;
}
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;
}
img {
	max-width: 100%;
	height: auto;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
@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;
      }
}
@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
============================================================================================================ */
.w {
      position: relative;
      display: block;
      width: 1180px;
      max-width: 100%;
      margin: 0 auto;
}
@media screen and (max-width: 1200px) {
      .w {
            width: 89.34%;
            margin: auto;
      }
}
/* ヘッダー
============================================================================================================ */
#header {
      font-size: 1.7rem;
      position: fixed;
      width: 100%;
      z-index: 100;
      background: #fff;
      box-sizing: border-box;
}
#header .head {
      padding: 0 1vw 0 4vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
}
@media screen and (max-width: 960px) {
      #header {
            height: 55px;
      }
      #header .head {
            height: 100%;
      }
}
/* logo */
#header .logo {
      font-size: 3rem;
      font-weight: 500;
}
@media screen and (max-width: 1400px) {
      #header {
            font-size: 1.6rem;
      }
}
@media screen and (max-width: 960px) {
      #header {
            font-size: 1.6rem;
      }
}
@media screen and (max-width: 680px) {
  
}

/* globalnavi nav_______ pc
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
@media screen and (min-width:961px), print {
      #header nav > div > div {
            display: flex;
            align-items: center;
            gap: 2em;
            justify-content: flex-end;
      }
      /*順番*/
      #header nav #global {
            order: 1;
      }
      #header .head_tell_cont {
            order: 2;
      }
      #header .head_contact {
            order: 3;
      }
      #header nav #global {
            display: flex;
            justify-content: flex-end;
            letter-spacing: 1px;
      }
      /*第1*/
      #header nav #global > li {
            z-index: 2;
      }
      #header nav #global > li > a {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 1.5em;
            height: 80px;
            position: relative;
      }
      .nav_down {
            display: none;
      }
      #header nav #global > li > a:after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 0px;
            background: var(--col_main);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
      }
      #header nav #global > li > a:hover:after {
            bottom: 0;
            height: 3px;
            opacity: 1;
            visibility: visible;
      }
      /*第2*/
      #header nav #global > li .global_inner {
            opacity: 0;
            overflow: hidden;
            height: 0;
            position: absolute;
            top: 80px;
            left: 0;
            width: 100%;
            background: var(--bg_gray_l);
            transition: all 0.15s ease;
            box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.12);
      }
      #header nav #global > li:hover .global_inner, #header nav #global > li .global_inner.focused {
            opacity: 1;
            overflow: visible;
            height: auto;
            min-height: 40vh;
      }
      #header nav #global > li .global_sub_list li a:hover {
            /* background: var(--col_main_l); */
      }
      #header .global_inner_w {
            display: flex;
            flex-wrap: wrap;
            width: 1180px;
            margin: auto;
            padding: 4em 0 5em 0;
            gap: 0 3%;
      }
      .sp_head_tell {
            display: none;
      }
      .head_tell_num {
            font-size: 2.6rem;
            font-weight: bold;
            line-height: 1.2;
            padding-left: 2.5rem;
            position: relative;
      }
      .head_tell_num:before {
            content:"";
            display: inline-block;
            width: 1.6rem;
            background: url(../images/icon_tell.svg) no-repeat;
            background-size: contain;
            aspect-ratio: 1 / 1;
            position: absolute;
            left: 0;
            bottom: 0.2em;
      }
      .head_tell_info {
            font-size: 1.3rem;
            padding-left: 2.5rem;
      }
}
@media screen and (max-width: 1500px) {
      #header nav > div > div {
            gap: 1em; 
      }
      #header nav #global > li > a {
            padding: 0 1.8vw;
      }
}
@media screen and (max-width: 1200px) {
      #header .global_inner_w {
            width: 90%;
      }
}
@media screen and (max-width: 1300px) {
      #header nav #global > li > a {
            padding: 0 1.2vw;
      }
}
@media screen and (max-width: 960px) {
      .head_tell_cont {
            background: var(--col_main);
            padding-top: 2em;
      }
      .sp_head_tell {
            display: block;
      }
      .head_tell_num {
            display: none;
      }
      .sp_head_tell.mo_btn > a {
            color: var(--col_main);
            background: #fff;
            width: 80%;
            max-width: inherit;
            margin-left: auto;
            margin-right: auto;
            font-size: 1.8rem;
      }
      .sp_head_tell.mo_btn > a > span {
            padding-left: 2em;
            position: relative;
      }
      .sp_head_tell.mo_btn > a > span:before {
            content:"";
            display: inline-block;
            width: 1.4em;
            height: 1.4em;
            background: url(../images/icon_tell.svg) no-repeat;
            background-size: contain;
            aspect-ratio: 1 / 1;
            filter: var(--mo_fil_main);
            position: absolute;
            left: 0;
            bottom: 0;
      }
      .head_tell_info {
            font-size: 1.5rem;
            padding-left: 0;
            text-align: center;
            color: #fff;
            margin-top: 0.3rem;
      }
}

/* globalnavi nav_______ sp
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
@media screen and (max-width: 960px) {
      #header nav #global {
            display: block;
            margin-right: 0;
      }
      #header .global_inner_w {
            width: 100%;
      }
      #header nav {
            position: fixed;
            width: 100%;
            top: 55px;
            right: 0;
            pointer-events: none;
            transition: all 0.3s ease;
            height: 0;
            visibility: hidden;
            overflow: hidden;
            opacity: 0;
            /*開発*/
            /*         visibility: visible;
            overflow: hidden;
            opacity: 1;
            height: calc(100% - 55px);*/
      }
      #header.open nav {
            visibility: visible;
            overflow: hidden;
            opacity: 1;
            height: calc(100% - 55px);
            border-top: 1px solid var(--bg_gray_ll);
      }
      #header nav > div {
            height: 100%;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
      }
      #header nav > div > div {
            height: 100%;
            overflow-y: auto;
            background: #fff;
            pointer-events: auto;
      }
      /*第1*/
      #header nav #global > li {
            position: relative;
            border-bottom: 1px solid var(--bg_gray_ll);
      }
      #header nav #global > li > a {
            display: block;
            padding: 1.0em 3em 1.0em 5%;
            height: auto;
            position: relative;
            font-size: 1.7rem;
            font-weight: bold;
      }
      /*矢印 右*/
      #header nav .nav_down {
            position: absolute;
            right: 0;
            width: 3em;
            height: 4em;
            top: 0;
            pointer-events: none;
      }
      #header nav li .nav_down:after {
            background: url("../images/arrow_02.svg") no-repeat;
            filter: var(--fil_main);
            aspect-ratio: var(--arrow_aspct_02);
            width: 0.5em;
            content: "";
            position: absolute;
            margin: auto;
            top: 50%;
            left: 50%;
      }
      #header nav li:not(.has_snav) .nav_down:after {
            transform: translate(-50%, -50%) rotate(0deg);
      }
      #header nav li.has_snav .nav_down:after {
            transform: translate(-50%, -50%) rotate(90deg);
      }
      #header nav li.has_snav .nav_down.open:after {
            transform: translate(-50%, -50%) rotate(270deg);
      }
      /*第2*/
      #header nav #global .global_inner {
            height: 0;
            visibility: hidden;
            display: none;
            opacity: 0;
            transition: all 0.2s;
            border-top: 1px solid var(--bg_gray_ll);
            background: var(--bg_main_l);
            /*開発*/
            /*  height: auto;
            visibility: visible;
            opacity: 1;*/
      }
      #header nav #global .global_inner.open {
            height: auto;
            visibility: visible;
            display: block;
            opacity: 1;
            /* padding: 1em 0; */
      }
      #header nav #global .global_inner ul > li .img {
            display: none;
      }
      .head_housing_list li a {
            font-size: 1.4rem;
      }
}
/* globalnavi nav_______共通デザイン pcsp
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
#header .global_inner_title {
      width: 100%;
      font-size: 1.1em;
      font-weight: 500;
      margin-bottom: 2em;
      border-left: 3px solid var(--col_main);
}
#header .global_inner_title a {
      display: inline-block;
      position: relative;
      padding: 0 2.5em 0 0.8em;
}
#header .global_inner_title a:hover {
      /* background: var(--col_main_l); */
      opacity: 0.8;
}
#header .global_inner_title a:before {
      content: "";
      width: 0.5em;
      aspect-ratio: var(--arrow_aspct_02);
      background: url("../images/arrow_02.svg")no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      right: 5px;
      transform: translate(-0%, -50%);
      filter: var(--fil_main);
      transition: all 0.2s;
}
#header .global_inner_title a:hover:before {
      right: 0px;
}

/*global_sub_list 第2
	--------------------------------------------*/
#header .global_sub_list {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 5%;
}
#header .global_sub_list > li {
      margin-bottom: 1em;
      width: 30%;
}
#header .global_sub_list > li > a {
      display: block;
      padding: 0.5em 2em 0.5em 0em;
      position: relative;
      border-bottom: 1px solid var(--col_main);
}
#header .global_sub_list > li a:before {
      content: "";
      width: 0.5em;
      aspect-ratio: var(--arrow_aspct_02);
      background: url("../images/arrow_02.svg")no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      right: 5px;
      transform: translate(-0%, -50%);
      filter: var(--fil_main);
      transition: all 0.2s;
}
#header .global_sub_list > li > a:hover:before {
      right: 0px;
}

/*global_sub_list 第3
	--------------------------------------------*/
#header .global_sub_list > li ul {
      margin-top: 1em;
}
#header .global_sub_list > li ul li a {
      display: block;
      padding: 0.4em 0em 0.4em 1.2em;
      position: relative;
}
#header .global_sub_list > li ul li a:before {
      content: "";
      width: 0.6em;
      height: 2px;
      background: var(--col_main);
      background-size: contain;
      position: absolute;
      top: 1.2em;
      left: 0;
}
/*アイコン
	--------------------------------------------*/
.ico_blank {
      display: inline-block;
      position: relative;
      padding-right: 1.5em;
}
.ico_blank:after {
      content: "";
      background: url("../images/icn_blank.svg") no-repeat;
      background-size: contain;
      width: 1em;
      aspect-ratio: 1/1;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translate(-0%, -50%);
}
@media screen and (max-width: 960px) {
      #header .global_inner_title {
            font-size: 1.0em;
            font-weight: normal;
            margin-bottom: 0;
            border-left: none;
      }
      #header .global_inner_title a {
            display: block;
            margin: auto 5%;
            padding: 1em 0em 1em 0.8em;
      }
      #header .global_inner_title a:before {
            left: inherit;
            right: 0;
      }
      .head_housing_flex {
            width: 90%;
            margin: auto;
      }
      .head_housing_list {
            padding-left: 1em;
      }
      .head_housing_list br {
            display: none;
      }
      .head_housing_list li a {
            position: relative;
            padding: 0.5em 0em 0.5em 1.2em;
            display: block;
      }
      .head_housing_list li a:before {
            content: "";
            width: 0.6em;
            height: 2px;
            background: var(--col_main);
            background-size: contain;
            position: absolute;
            top: 1.2em;
            left: 0;
      }
      /*global_sub_list 第2
	--------------------------------------------*/
      #header .global_sub_list {
            width: 90%;
            margin: auto 5%;
            gap: 0;
      }
      #header .global_sub_list > li {
            width: 100%;
      }
      #header .global_sub_list > li > a {
            border-bottom: none;
            padding: 1em 0em 1em 0.8em;
      }
      #header .global_sub_list > li a:before {
            right: 0;
      }
      #header .global_sub_list > li {
            margin-bottom: auto;
            position:relative;
      }
      #header .global_sub_list > li:before {
            content:"";
            display: inline-block;
            width: 100vw;
            height: 1px;
            background: #fff;
            position: absolute;
            left: -5vw;
            top: 0;
      }
      #header .global_sub_list > li ul {
            margin-top: auto;
            padding-left: 1em;
      }
      /*global_sub_list 第3
	--------------------------------------------*/
      #header .global_sub_list > li ul li a {
            font-size: 1.4rem;
      }
}
/* 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;
            background: var(--col_main);
            width: 55px;
            height: 55px;
            transition: all 0.2s;
      }
      #header .nav_btn span {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
      }
      #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: #fff;
            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 {
      box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.12);
}
@media print {
      #header {
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
}
/* contact head
------------------------------------------------------------- */
.head_contact > a {
      display: flex;
      height: calc(80px - (12px * 2));
      justify-content: center;
      align-items: center;
      color: #fff;
      background: var(--col_main);
      padding: 0 2em;
      border-radius: 4px;
      margin: 12px 0;
}
.head_contact > a > span {
      position: relative;
      padding-left: 3rem;
}
.head_contact > a > span:before {
      content:"";
      display: inline-block;
      background: url("../images/icon_mail.svg") no-repeat;
      background-size: contain;
      width: 1.1em;
      position: absolute;
      left: 0;
      top: 50%;
      aspect-ratio: var(--mo_arrow_aspct_03);
      filter: var(--fil_ff);
      transform: translate(0%, -50%);
      transition: all 0.2s;
}
@media screen and (min-width: 961px), print {
      .head_contact > a:hover {
            background: var(--col_main_m);
            opacity: 1;
      }
}
@media screen and (max-width: 1500px) {
      .head_contact > a {
            padding: 0 2.5vw;
      }

}
@media screen and (max-width: 960px) {
      .head_contact {
            background: var(--col_main);
            margin: 0;
            padding: 1.5em 0 2em;
      }
      .head_contact > a {
            width: 80%;
            margin: 0 auto;
            padding: 1em 1.5em;
            height: auto;
            font-size: 1.8rem;
            font-weight: bold;
            color: var(--mo_col_main_d);
            background: var(--mo_col_yellow);
      }
      .head_contact > a > span:before {
            filter: var(--mo_fil_main);
            width: 1.3em;
            margin-top: .1em;
      }
      .head_contact > a .sp {
            display: inline;
      }
}
/* footer
============================================================================================================ */
footer {
      position: relative;
      padding: 4em 0 1em;
      font-size: 1.4rem;
}
.foot_area {
      position: relative;
}
@media screen and (min-width: 681px), print {
      .foot_area {
            margin: auto;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
      }
      .foot_info_box {
            width: 35%;
      }
      .foot_nav_box {
            width: 65%;
            padding-top: 2rem;
      }
      .foot_logo {
            font-size: 2.0rem;
            font-weight: bold;
            margin-bottom: 1rem;
      }
      .foot_address {
            margin-bottom: 1em;
      }
      #foot_global {
            display: flex;
            flex-wrap: wrap;
            font-size: 1.5rem;
            gap: 1em 3em;
            margin-bottom: 2.8rem;
      }
      .foot_info_nav {
            display: flex;
            flex-wrap: wrap;
            gap: 1em 2em;
            margin-bottom: 2.8rem;
      }
      .foot_intermediation {
            font-size: 1.4rem;
            border-top:  1px solid #aaa;
            padding-top: 2.5rem;
      }
}
@media screen and (max-width: 680px) {
      footer {
	      padding: 3em 0 1em 0;
            border-top: none;
            font-size: 1.5rem;
      }
      .foot_area {
            width: 100%;
            margin: auto;
      }
      .foot_info_box {
            margin: 0 5% 3rem;
      }
      .foot_logo {
            font-size: 2.0rem;
            font-weight: bold;
            margin-bottom: 1rem;
      }
      .foot_address {
            margin-bottom: 1em;
      }
      #foot_global {
            border-top: 1px solid var(--bg_gray_ll);
      }
      #foot_global > li {
            position: relative;
            border-bottom: 1px solid var(--bg_gray_ll);
      }
      #foot_global > li > a {
            display: block;
            padding: 1.0em 3em 1.0em 5%;
            height: auto;
            position: relative;
            font-size: 1.7rem;
            font-weight: bold;
      }
      /*矢印 右*/
      #foot_global .nav_down {
            position: absolute;
            right: 0;
            width: 3em;
            height: 4em;
            top: 0;
            pointer-events: none;
      }
      #foot_global li .nav_down:after {
            background: url("../images/arrow_02.svg") no-repeat;
            filter: var(--fil_main);
            aspect-ratio: var(--arrow_aspct_02);
            width: 0.5em;
            content: "";
            position: absolute;
            margin: auto;
            top: 50%;
            left: 50%;
      }
      #foot_global li:not(.has_snav) .nav_down:after {
            transform: translate(-50%, -50%) rotate(0deg);
      }
      #foot_global li.has_snav .nav_down:after {
            transform: translate(-50%, -50%) rotate(90deg);
      }
      #foot_global li.has_snav .nav_down.open:after {
            transform: translate(-50%, -50%) rotate(270deg);
      }
      .foot_info_nav {
            margin: 3rem 5%;
            display: flex;
            flex-direction: column;
            gap: 0.8em 0;
      }
      .foot_intermediation {
            margin: 0 5%;
      }
}
/* copyright
------------------------------------------------------------- */
.copyright {
      display: block;
      width: 100%;
      margin-top: 20px;
      font-size: 1.2rem;
      color: var(--col_gray);
}
@media screen and (max-width: 680px) {
      .copyright {
            display: block;
            margin-top: 30px;
            line-height: 1.4;
            margin-left: 5%;
      }
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 0;
      right: 0;
      z-index: 10;
}
.page_top a {
      display: block;
      background: var(--col_main_l);
      width: 50px;
      aspect-ratio: 1/1;
      position: relative;
}
@media screen and (max-width: 961px), print {
      .page_top a:hover {
            background: var(--col_green);
      }
}
.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: 80px;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.6rem;
            padding-top: 55px;
      }
}
.f_16 {
      font-size: 16px;
}
.f_14 {
      font-size: 14px;
}
/* section
============================================================================================================ */
@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;
      }
}
/* margin
============================================================================================================ */
.mg_l3 {
      margin-top: 15rem;
      margin-bottom: 15rem;
}
.mgt_l3 {
      margin-top: 15rem;
}
.mgb_l3 {
      margin-bottom: 15rem;
}
.mg_l2 {
      margin-top: 12rem;
      margin-bottom: 12rem;
}
.mgt_l2 {
      margin-top: 12rem;
}
.mgb_l2 {
      margin-bottom: 12rem;
}
.mg_l {
      margin-top: 8rem;
      margin-bottom: 8rem;
}
.mgt_l {
      margin-top: 8rem;
}
.mgb_l {
      margin-bottom: 8rem;
}
.mg_m3 {
      margin-top: 7rem;
      margin-bottom: 7rem;
}
.mgt_m3 {
      margin-top: 7rem;
}
.mgb_m3 {
      margin-bottom: 7rem;
}
.mg_m2 {
      margin-top: 6rem;
      margin-bottom: 6rem;
}
.mgt_m2 {
      margin-top: 6rem;
}
.mgb_m2 {
      margin-bottom: 6rem;
}
.mg_m {
      margin-top: 5rem;
      margin-bottom: 5rem;
}
.mgt_m {
      margin-top: 5rem;
}
.mgb_m {
      margin-bottom: 5rem;
}
.mg_s2 {
      margin-top: 3rem;
      margin-bottom: 3rem;
}
.mgt_s2 {
      margin-top: 3rem;
}
.mgb_s2 {
      margin-bottom: 3rem;
}
.mg_s {
      margin-top: 2.5rem;
      margin-bottom: 2.5rem;
}
.mgt_s {
      margin-top: 2.5rem;
}
.mgb_s {
      margin-bottom: 2.5rem;
}
.mg_ss {
      margin-top: 1.5rem;
      margin-bottom: 1.5rem;
}
.mgt_ss {
      margin-top: 1.5rem;
}
.mgb_ss {
      margin-bottom: 1.5rem;
}
@media screen and (max-width: 680px) {
      .mg_l3 {
            margin-top: 10rem;
            margin-bottom: 10rem;
      }
      .mgt_l3 {
            margin-top: 10rem;
      }
      .mgb_l3 {
            margin-bottom: 15rem;
      }
      .mg_l2 {
            margin-top: 8rem;
            margin-bottom: 8rem;
      }
      .mgt_l2 {
            margin-top: 8rem;
      }
      .mgb_l2 {
            margin-bottom: 8rem;
      }
      .mg_l {
            margin-top: 6rem;
            margin-bottom: 6rem;
      }
      .mgt_l {
            margin-top: 6rem;
      }
      .mgb_l {
            margin-bottom: 6rem;
      }
      .mg_m3 {
            margin-top: 5rem;
            margin-bottom: 5rem;
      }
      .mgt_m3 {
            margin-top: 5rem;
      }
      .mgb_m3 {
            margin-bottom: 5rem;
      }
      .mg_m2 {
            margin-top: 4rem;
            margin-bottom: 4rem;
      }
      .mgt_m2 {
            margin-top: 4rem;
      }
      .mgb_m2 {
            margin-bottom: 4rem;
      }
      .mg_m {
            margin-top: 4.5rem;
            margin-bottom: 4.5rem;
      }
      .mgt_m {
            margin-top: 4.5rem;
      }
      .mgb_m {
            margin-bottom: 4.5rem;
      }
      .mg_s2 {
            margin-top: 3rem;
            margin-bottom: 3rem;
      }
      .mgt_s2 {
            margin-top: 3rem;
      }
      .mgb_s2 {
            margin-bottom: 3rem;
      }
      .mg_s {
            margin-top: 2rem;
            margin-bottom: 2rem;
      }
      .mgt_s {
            margin-top: 2rem;
      }
      .mgb_s {
            margin-bottom: 2rem;
      }
      .mg_ss {
            margin-top: 1.0rem;
            margin-bottom: 1.0rem;
      }
      .mgt_ss {
            margin-top: 1.0rem;
      }
      .mgb_ss {
            margin-bottom: 1.0rem;
      }
}
@media screen and (max-width: 480px) {
      .mg_l3 {
            margin-top: 10rem;
            margin-bottom: 10rem;
      }
      .mgt_l3 {
            margin-top: 10rem;
      }
      .mgb_l3 {
            margin-bottom: 10rem;
      }
      .mg_l2 {
            margin-top: 8rem;
            margin-bottom: 8rem;
      }
      .mgt_l2 {
            margin-top: 8rem;
      }
      .mgb_l2 {
            margin-bottom: 8rem;
      }
      .mg_l {
            margin-top: 6rem;
            margin-bottom: 6rem;
      }
      .mgt_l {
            margin-top: 6rem;
      }
      .mgb_l {
            margin-bottom: 6rem;
      }
      .mg_m3 {
            margin-top: 5rem;
            margin-bottom: 5rem;
      }
      .mgt_m3 {
            margin-top: 5rem;
      }
      .mgb_m3 {
            margin-bottom: 5rem;
      }
      .mg_m2 {
            margin-top: 5rem;
            margin-bottom: 5rem;
      }
      .mgt_m2 {
            margin-top: 5rem;
      }
      .mgb_m2 {
            margin-bottom: 5rem;
      }
      .mg_m {
            margin-top: 4rem;
            margin-bottom: 4rem;
      }
      .mgt_m {
            margin-top: 4rem;
      }
      .mgb_m {
            margin-bottom: 4rem;
      }
      .mg_s2 {
            margin-top: 3rem;
            margin-bottom: 3rem;
      }
      .mgt_s2 {
            margin-top: 3rem;
      }
      .mgb_s2 {
            margin-bottom: 3rem;
      }
      .mg_s {
            margin-top: 2rem;
            margin-bottom: 2rem;
      }
      .mgt_s {
            margin-top: 2rem;
      }
      .mgb_s {
            margin-bottom: 2rem;
      }
      .mg_ss {
            margin-top: 1.0rem;
            margin-bottom: 1.0rem;
      }
      .mgt_ss {
            margin-top: 1.0rem;
      }
      .mgb_ss {
            margin-bottom: 1.0rem;
      }
}
/* btn_____
============================================================================================================ */
.btn > * {
      display: inline-flex;
      border: solid 1px var(--col_main);
      padding: 15px 20px;
      color: var(--col_main);
      transition: 0.3s;
      box-sizing: border-box;
}
.btn > *:hover {
      border: solid 1px var(--col_main);
      background: var(--col_main);
      color: #fff;
      opacity: 1 !important;
}
/*arrow
-------------------------------------*/
.btn_arrow {
      position: relative;
      padding: 15px 50px;
}
.btn_arrow:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 12px;
      height: 12px;
      top: 50%;
      right: 0;
      transform: translate(-0%, -50%);
}
.btn_arrow:hover:before {
      background: url("../images/btn_arrow_ff.svg") no-repeat;
      background-size: contain;
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_s > * {
      width: 15em;
      display: block;
}
.btn_m > * {
      width: 20em;
      display: block;
}
.btn_l > * {
      width: 25em;
      display: block;
}
/*ボタンの位置*/
.btn_center {
      margin: auto;
}
@media screen and (max-width: 680px) {
      .btn_tabsp_center {
            margin: auto;
      }
      .btn_sp_center {
            margin: auto;
      }
}
/* title
============================================================================================================ */
.title_llll {
      font-size: 5.6rem;
}
.title_lll_m {
      font-size: 4.3rem;
}
.title_lll {
      font-size: 4.0rem;
}
.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_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.7rem;
      }
      .title_ss {
            font-size: 1.5rem;
      }
}
/* 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;
}
/* 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_main_l {
      background: var(--bg_main_l);
}
.bg_gray_ll {
      background: var(--bg_gray_ll);
}
.bg_gray_l {
      background: var(--bg_gray_l);
}
.bg_black {
      background: var(--bg_black);
}
/* color col______
===================================================*/
.col_main {
      color: var(--col_main);
}
.col_gray {
      color: var(--col_gray);
}
.col_green {
      color: var(--col_green);
}
.col_green_l {
      color: var(--col_green_l);
}
.col_green_b {
      color: var(--col_green_b);
}
.col_green_b_l {
      color: var(--col_green_b_l);
}
.col_blue {
      color: var(--col_blue);
}
.col_red {
      color: var(--col_red);
}
.col_yellow {
      color: var(--col_yellow);
}
.col_pup {
      color: var(--col_pup);
}
/* indent
========================================= */
.ident_01 {
      padding-left: 1em;
      text-indent: -1em;
}
.ident_02 {
      padding-left: 2em;
      text-indent: -2em;
}
.ident_03 {
      padding-left: 3em;
      text-indent: -3em;
}
/* lead
========================================= */
.lead {
      line-height: 2.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.7rem;
      }
      .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(--bg_blue_l);
      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%;
      }
}

/* fadein
============================================================================================================ */
.fadein {
  opacity: 0;
  animation: fadeIn 1.5s ease 0s forwards;
}
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
.fadeup_b {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUpB 0.5s ease 0.2s forwards;
}
@keyframes fadeUpB {
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeup {
      opacity:0;
}
.view {
      animation-name: fadeUp;
      animation-duration: .8s;
      opacity:1;
}
@keyframes fadeUp{
  from{
    opacity: 0;
    transform: translateY(30px);
  }
  
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
