/* ========================================================
	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.3vw, 1rem);
      }
}
body {
      background-color: #fff;
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.7;
      color: #212121;
      font-family: "Noto Sans JP", "游ゴシック 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;
      }
}
.link_style {
      color: #00a6aa;
      text-decoration: underline;
}
.link_style:hover {
      text-decoration: none;
}
/*font____*/
.mare {
      font-family: "Zen Maru Gothic", sans-serif;
}
.round {
      font-family: "M PLUS Rounded 1c", sans-serif;
}
.robo {
      font-family: "Roboto", sans-serif;
}
/* 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) {
      .pc_tab_680 {
            display: none;
      }
      .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
============================================================================================================ */
.w15 {
      position: relative;
      display: block;
      max-width: 1540px;
      margin: 0 auto;
}
.w13 {
      position: relative;
      display: block;
      max-width: 1320px;
      margin: 0 auto;
}
.w12 {
      position: relative;
      display: block;
      max-width: 1240px;
      margin: 0 auto;
}
.w116 {
      position: relative;
      display: block;
      max-width: 1160px;
      margin: 0 auto;
}
.w {
      position: relative;
      display: block;
      max-width: 1000px;
      margin: 0 auto;
}
.w90 {
      position: relative;
      display: block;
      max-width: 900px;
      margin: 0 auto;
}
.w80 {
      position: relative;
      display: block;
      max-width: 800px;
      margin: 0 auto;
}
/* ヘッダー header______
============================================================================================================ */
#header {
      padding-left: 1.0vw;
      font-size: 1.6rem;
      position: fixed;
      width: 100%;
      z-index: 100;
      height: 110px;
      background: #fff;
      box-sizing: border-box;
}
#header .head {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: center;
	height: 100%;
}
#header .head:before {
      content: "";
      background: var(--col_main);
      height: 1px;
      width: calc(100% - 14px);
      position: absolute;
      left: 0;
      bottom: 0;
}
@media screen and (max-width: 1450px) {
      #header {
            font-size: 1vw;
      }
}
@media screen and (max-width: 960px) {
      #header {
            height: 80px;
            padding-left: 3.5vw;
      }
      #header .head {
            height: 100%;
      }
      #header .logo {
            margin-top: 0;
      }
}
/* logo */
#header .logo {
      height: 6rem;
      aspect-ratio: 20/6;
}
#header .logo img {
      width: 100%;
    -webkit-backface-visibility: hidden;
 image-rendering: -webkit-optimize-contrast;
-webkit-transform: translateZ(0);

}
@media screen and (max-width: 680px) {
      #header .logo {
            height: 5rem;
      }
}
/*sns___ header___*/
@media screen and (min-width: 961px), print {
      .head_sns {
            display: none;
      }
}
.head_sns {
      border-top: 2px solid var(--col_main);
      margin: 4.2em 8em 0 8em;
      padding-top: 4em;
}
.sns_list {
      display: flex;
      gap: 0 1.2em;
      align-items: center;
}
.sns_list li, .sns_list li img {
      aspect-ratio: 1/1;
      height: 9em;
}
.insta, .insta img {
      height: 14em !important;
}
.sns_list li img {
      width: 100%;
}
.head_sns .sns_list li.x, .head_sns .sns_list li.line {
      display: none;
}
/* header_box_______cv___*/
.header_box {
      margin-right: 15em;
}
.header_cv_tel {
      justify-content: flex-end;
      padding-right: 1.5vw;
      display: flex;
      align-items: baseline;
      position: relative;
      line-height: 0;
      padding-top: 1em;
}
.num_set {
      font-size: 1.4rem;
}
.tel_num a {
      letter-spacing: 1px;
      font-size: 2.2em;
      font-family: "Roboto", sans-serif;
      display: inline-block;
      padding: 0.5em 0.5em 0.5em 0.6em;
      position: relative;
      background: url("../images/ico_tel.svg") no-repeat;
      background-size: 0.5em;
      background-position: top 50% left 0;
      font-weight: bold;
      color: var(--col_main);
}
@media screen and (max-width: 960px) {
.insta, .insta img {
      height: 9em !important;
}
}
@media screen and (max-width: 680px) {
      .header_cv_tel {
            display: none;
      }
}
/* globalnavi nav_______*/
@media screen and (min-width:961px), print {
      #header nav #global {
            display: flex;
      }
      #header nav #global > li {
            position: relative;
            z-index: 2;
      }
      #header .head_none {
            display: none;
      }
      #header nav #global > li a {
            display: flex;
            align-items: center;
            padding: 0 1.5vw;
            height: 66px;
            position: relative;
      }
      #header nav #global > li > a:hover {
            color: var(--col_main);
      }
      #header nav #global > li:first-child {
            display: none;
      }
      /*第2*/
      #header nav #global ul {
            display: none;
            position: absolute;
            left: 0;
            top: 90px;
            height: 0;
            overflow: hidden;
            opacity: 0;
            z-index: 10;
            min-width: 100%;
            transition: all 0.15s ease;
      }
      #header nav #global ul li + li {
            border-top: 1px solid #ccc;
      }
      #header nav #global ul li a {
            background: #EAEAEA;
            padding: 1em 1.5em;
            height: auto;
            min-width: 100%;
            white-space: nowrap;
            box-sizing: border-box;
      }
      #header nav #global ul li a:after {
            content: none;
      }
      #header nav #global ul li a:hover {
            background: #063306;
            color: #fff;
            opacity: 1;
      }
      #header nav #global li:hover ul {
            overflow: visible;
            opacity: 1;
            height: auto;
            top: 100px;
      }
      #header nav .nav_down {
            display: none;
      }
}
@media screen and (max-width: 960px) {
      #header nav #global {
            display: block;
            margin-right: 0;
            font-size: 1.6rem;
      }
      #header nav {
            position: fixed;
            overflow: hidden;
            height: -webkit-calc(100% - 80px);
            height: calc(100% - 80px);
            top: 80px;
            right: 0;
            width: 0;
            pointer-events: none;
            opacity: 0;
            visibility: hidden;
            -webkit-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease;
      }
      #header nav > div {
            height: 100%;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
      }
      #header nav > div > div {
            height: 100%;
            overflow-y: auto;
            background: var(--bg_main_l);
            pointer-events: auto;
      }
      #header nav #global > li {
            position: relative;
      }
      #header nav #global > li a {
            font-weight: 700;
            display: block;
            padding: 0.8em 2em 0.8em 4.5em;
            height: auto;
            position: relative;
            background: url("../images/nav_arrow.svg") no-repeat;
            background-size: 1.2em;
            background-position: top 1.1em left 2.5em;
      }
      #header nav #global > li:first-child > a {
            padding: 2em 2em 0.8em 4.5em;
            background-position: top 2.3em left 2.5em;
      }
      #header nav #global > li a:after {
            content: "";
            position: absolute;
            margin: auto;
            top: 0;
            bottom: 0;
            right: 12px;
            width: 5px;
            height: 5px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            transform: rotate(45deg);
      }
      #header nav #global > li.has_snav > a:after {
            content: none;
      }
      #header nav #global ul {
            background: rgba(50, 50, 50, 0.90);
            height: 0;
            visibility: hidden;
            opacity: 0;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header nav #global ul.open {
            height: auto;
            visibility: visible;
            opacity: 1;
      }
      #header nav #global ul li {
            border-top: 1px solid #444;
      }
      /* plus icon */
      #header nav .nav_down {
            position: absolute;
            right: 0;
            top: 25px;
            width: 40px;
            height: 60px;
            margin-top: -26px;
            z-index: 10;
      }
      #header nav #global .has_snav > .nav_down:after {
            content: "";
            display: block;
            position: absolute;
            left: auto;
            bottom: auto;
            right: 9px;
            top: 50%;
            width: 13px;
            height: 1px;
            margin-top: -1px;
            background-color: #fff;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header nav #global .has_snav > .nav_down:before {
            content: "";
            display: block;
            position: absolute;
            left: auto;
            bottom: auto;
            right: 15px;
            top: 50%;
            width: 1px;
            height: 13px;
            background-color: #fff;
            margin-top: -7px;
      }
      #header nav #global .has_snav > .nav_down.open:before {
            transform: translateY(0) rotate(90deg);
      }
      /*open*/
      #header.open nav {
            opacity: 1;
            visibility: visible;
            width: 100%;
      }
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header .nav_btn {
      display: none;
}
@media screen and (max-width: 960px) {
      #header .nav_btn {
            display: block;
            position: absolute;
            right: 10px;
            top: 10px;
            z-index: 10;
            background: var(--col_main);
            border-radius: 2em;
      }
      #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: 17px;
            right: 17px;
            top: 50%;
            height: 2px;
            margin-top: -1px;
            background-color: #fff;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header .nav_btn span:before {
            transform: translateY(-10px);
      }
      #header .nav_btn span:after {
            transform: translateY(10px);
      }
      /* 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;
      }
}
/*header お問い合わせ*/
@media screen and (min-width: 961px), print {
      #header .head_inquiry {
            position: absolute !important;
            top: 14px;
            right: 14px;
      }
      #header .head_inquiry a {
            border: solid 1px var(--col_main);
            color: #fff;
            background: var(--col_main);
            display: flex;
            justify-content: center;
            align-items: center;
            height: 80px !important;
            border-radius: 0.5em;
            font-weight: 700;
            -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
      }
      #header .head_inquiry a:hover {
            color: var(--col_main);
            background: #fff;
      }
}
/* footer
============================================================================================================ */
footer {
      width: 1540px;
      margin: auto;
      font-size: 1.5rem;
      padding: 45px 0 0 0;
      border-top: 1px solid var(--col_main);
}
@media screen and (max-width: 1550px) {
      footer {
            width: 95%;
      }
}
@media screen and (max-width: 960px) {
      footer {
            padding: 1em 0 0 0;
      }
}
.foot_area {
      width: 1300px;
      margin: auto;
      display: flex;
}
.foot_area .foot_nav {
      order: 2;
      width: 50%;
}
.foot_area .foot_info {
      order: 1;
      width: 36%;
}
.foot_area .foot_sns {
      order: 3;
      width: 16%;
}
@media screen and (max-width: 1320px) {
      .foot_area {
            width: auto;
      }
}
@media screen and (max-width: 960px) {
      .foot_area {
            display: block;
      }
      .foot_area .foot_nav {
            border-bottom: 1px solid var(--col_main);
            width: auto;
      }
      .foot_area .foot_info {
            width: 90%;
            margin: 2em auto auto auto;
      }
      .foot_area .foot_sns {
            margin: 2em auto auto auto;
            width: 90%;
      }
}
.foot_logo {
      width: 20rem;
      aspect-ratio: 20/6;
}
.foot_logo img {
      width: 100%;
}
.foot_info > p {
      margin-bottom: 0.5em;
}
.foot_nav ul {
      column-count: 2;
      padding: 0 7em 0 0;
}
.foot_nav ul li {
      margin-bottom: 1em;
}
.foot_nav ul li a {
      font-weight: 700;
      display: block;
      height: auto;
      position: relative;
      background: url("../images/nav_arrow.svg") no-repeat;
      background-size: 1.2em;
      background-position: top 0.3em left 0em;
      padding-left: 1.5em;
}
@media screen and (min-width: 961px), print {
      .foot_nav ul li a:hover {
            text-decoration: underline;
      }
}
@media screen and (max-width: 960px) {
      .foot_area .foot_nav ul {
            margin: auto 4%;
            width: auto;
            padding: 0 0em 1em 0;
      }
      .foot_nav ul li {}
}
/*footer__ sns__*/
.foot_sns .sns_list {
      gap: 0 0.5em;
}
.foot_sns .sns_list li, .foot_sns .sns_list li img {
      height: 2.7em;
}
.foot_sns .insta, .foot_sns .insta img {
      height: 4em !important;
}
.foot_sns .sns_list li.x, .foot_sns .sns_list li.line {
      display: none;
}
/* copyright
------------------------------------------------------------- */
.copyright_w {
      max-width: 1300px;
      margin: 2em auto 1em auto;
}
.copyright {
      display: block;
      font-size: 1.2rem;
}
@media screen and (max-width: 1320px) {
      .copyright_w {
            max-width: 90%;
      }
}
@media screen and (max-width: 960px) {
      .copyright {
            display: block;
            font-size: 1.1rem;
            line-height: 1.4;
            text-align: center;
      }
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 10px;
      right: 10px;
      z-index: 10;
}
.page_top a {
      display: block;
      width: 70px;
      aspect-ratio: 1/1;
      position: relative;
}
.page_top a:hover {
      opacity: 0.8;
}
@media screen and (max-width: 960px) {
      .page_top a {
            width: 50px;
      }
}
/* コンテナ
============================================================================================================ */
#container {
      position: relative;
      font-size: 1.6rem;
      padding-top: 110px;
      letter-spacing: 1px;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.5rem;
            padding-top: 80px;
      }
}
.f_16 {
      font-size: 16px;
}
.f_14 {
      font-size: 14px;
}
/* section
============================================================================================================ */
@media screen and (max-width: 1560px) {
      .sp_section_15 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_15_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width: 1400px) {
      .sp_section_13 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_13_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width: 1290px) {
      .sp_section_12 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_12_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width:1360px) {
      .bottom_mb .sp_section_116 {
            width: 95%;
      }
      .bottom_mb .sp_section_116_s {
            width: 95%;
      }
}
@media screen and (max-width: 1180px) {
      .sp_section_116 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_116_s {
            max-width: 95%;
            margin: auto;
      }
      .bottom_mb .sp_section_116 {
            max-width: 90%;
            margin: auto;
      }
      .bottom_mb .sp_section_116_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width: 1050px) {
      .sp_section_l {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width: 950px) {
      .sp_section_90 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_90_s {
            max-width: 95%;
            margin: auto;
      }
}
@media screen and (max-width: 850px) {
      .sp_section_80 {
            max-width: 90%;
            margin: auto;
      }
      .sp_section_80_s {
            max-width: 95%;
            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: 680px) {
      .pd_l3 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_l3 {
            padding-top: 10rem;
      }
      .pdb_l3 {
            padding-bottom: 10rem;
      }
      .pd_l2 {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l2 {
            padding-top: 6rem;
      }
      .pdb_l2 {
            padding-bottom: 6rem;
      }
      .pd_l {
            padding-top: 4.5rem;
            padding-bottom: 4.5rem;
      }
      .pdt_l {
            padding-top: 4.5rem;
      }
      .pdb_l {
            padding-bottom: 4.5rem;
      }
      .pd_m3 {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m3 {
            padding-top: 4rem;
      }
      .pdb_m3 {
            padding-bottom: 4rem;
      }
      .pd_m2 {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_m2 {
            padding-top: 3rem;
      }
      .pdb_m2 {
            padding-bottom: 3rem;
      }
      .pd_m {
            padding-top: 2.5rem;
            padding-bottom: 2.5rem;
      }
      .pdt_m {
            padding-top: 2.5rem;
      }
      .pdb_m {
            padding-bottom: 2.5rem;
      }
      .pd_s2 {
            padding-top: 1.5rem;
            padding-bottom: 1.5rem;
      }
      .pdt_s2 {
            padding-top: 1.5rem;
      }
      .pdb_s2 {
            padding-bottom: 1.5rem;
      }
      .pd_s {
            padding-top: 1.3rem;
            padding-bottom: 1.3rem;
      }
      .pdt_s {
            padding-top: 1.3rem;
      }
      .pdb_s {
            padding-bottom: 1.3rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
/* btn_____
======================================================s====================================================== */
.btn > * {
      display: inline-flex;
      border: solid 1px var(--col_main);
      padding: 1em 1em;
      color: #fff;
      background: var(--col_main);
      transition: 0.3s;
      box-sizing: border-box;
      border-radius: 5em;
      box-shadow: var(--box_shadow);
      font-weight: 700;
      letter-spacing: 0.05em;
}
.btn.s_rud > * {
      border-radius: 0.5em;
}
@media screen and (min-width: 961px), print {
      .btn > *:hover {
            /*       background: var(--bg_main_l);*/
            background: #fff;
            color: inherit;
            opacity: 1 !important;
            box-shadow: var(--box_shadow_none);
      }
}
@media screen and (max-width: 680px) {
      .btn > * {
            font-size: 1.1em;
      }
}
/*arrow
-------------------------------------*/
.btn_arrow {
      position: relative;
      padding: 1.0em 4em 1.0em 3em;
}
.btn_arrow:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 2em;
      aspect-ratio: 1;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%);
}
@media screen and (max-width: 680px) {
      .btn_arrow:before {
            width: 2.8em;
      }
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_s > * {
      width: 15em;
      display: block;
}
.btn_m > * {
      width: 20em;
      display: block;
}
.btn_l > * {
      width: 25em;
      display: block;
}
@media screen and (max-width: 680px) {
	.btn_sp_auto > * {
      width: auto!important;
		display: inline-flex;
}
}
/*ボタンの位置*/
.btn_center {
      margin: auto;
}
.btn_right {
      margin: auto 0 auto auto;
}
@media screen and (max-width: 680px) {
      .btn_tabsp_center {
            margin: auto;
      }
      .btn_sp_center {
            margin: auto !important;
      }
}
/*btn color
----------------------------------------------------------------------------------------------------------------*/
.btn.btn_yellow > * {
      border: solid 1px var(--col_yellow);
      color: inherit;
      background: var(--col_yellow);
      box-shadow: var(--box_shadow);
}
@media screen and (min-width: 961px), print {
      .btn.btn_yellow > *:hover {
            background: var(--bg_yellow);
            color: inherit;
      }
}
.btn.btn_back > * {
      border: solid 1px var(--bg_gray);
      color: inherit;
      background: var(--bg_gray);
      box-shadow: var(--box_shadow);
}
.btn.btn_back .btn_arrow:before {
      background: url("../images/btn_arrow_black.svg") no-repeat;
      background-size: contain;
      right: auto;
      left: 0.5em;
      transform: translate(-0%, -50%) scale(-1, 1);
}
@media screen and (min-width: 961px), print {
      .btn.btn_back > *:hover {
            background: var(--col_gray);
            color: inherit;
      }
}


/* title
============================================================================================================ */
.title_llll {
      font-size: 5.6rem;
}
.title_lll_m {
      font-size: 4.3rem;
}
.title_lll {
      font-size: 4.0rem;
}
.title_ll_34 {
      font-size: 3.4rem;
}
.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.0rem;
      }
      .title_lll_m {
            font-size: 2.8rem;
      }
      .title_lll {
            font-size: 2.5rem;
      }
      .title_ll_34 {
            font-size: 2.4rem;
      }
      .title_ll_30 {
            font-size: 2.3rem;
      }
      .title_ll {
            font-size: 2.2rem;
      }
      .title_l {
            font-size: 2.1rem;
      }
      .title_ml {
            font-size: 2.0rem;
      }
      .title_m {
            font-size: 1.8rem;
      }
      .title_sm {
            font-size: 1.7rem;
      }
      .title_s {
            font-size: 1.6rem;
      }
      .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;
}
/* disc_inline
------------------------------------------------------------- */
.disc_inline {
      display: flex;
      flex-wrap: wrap;
}
ul.disc_inline > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.disc_inline > li:before {
      content: "・";
      position: absolute;
      left: 0.2em;
}
/* 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_yellow {
      background: var(--bg_yellow);
}
.bg_gray_l {
      background: var(--bg_gray_l);
}
.bg_gray_ll {
      background: var(--bg_gray_ll);
}
.r_bg {
      border-radius: var(--b_rudius_pc);
}
.bg_w {
      margin: auto 2vw;
}
@media screen and (max-width: 680px) {
      .r_bg {
            border-radius: var(--b_rudius_sp);
      }
}
/* color col______
===================================================*/
.col_main {
      color: var(--col_main);
}
.col_red {
      color: var(--col_red);
}
/* 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: 1.8;
}
.lead_025 {
      line-height: 2.5;
}
.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;
      }
      .lead_025 {
            line-height: 2.0;
      }
}
/* 見出し
============================================================================================================ */
/*b_b
-------------------------------------------------------*/
.b_b {
      border-bottom: 2px solid #000;
      padding-bottom: 0.1em;
}
/*b_b_inline
-------------------------------------------------------*/
.b_b_inline {
      position: relative;
      display: inline-block;
}
.b_b_inline:before {
      position: absolute;
      content: "";
      background: var(--col_main);
      height: 1px;
      width: 100%;
      bottom: -0.2em;
      left: 0;
      letter-spacing: 2px;
}
/*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;
      padding: 0 1em;
}
.midashi_diagonal:before, .midashi_diagonal:after {
      content: "";
      background: var(--col_main);
      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);
}
@media screen and (max-width: 680px) {
      .midashi_diagonal {
            padding: 0 0em;
      }
      .midashi_diagonal:before, .midashi_diagonal:after {
            height: 60%;
      }
      .midashi_diagonal:before {
            left: -0.5em;
      }
      .midashi_diagonal:after {
            right: -0.5em;
      }
}
/*midashi____
---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*midashi_01*/
.midashi_01 {
      letter-spacing: 2px;
      line-height: 1.7;
}
.midashi_01 span {
      font-weight: bold;
      font-size: 1.5em;
      line-height: 0;
      display: inline-block;
      position: relative;
      transform: translateY(0.05em);
}
/*midashi_02*/
.midashi_02 {
      letter-spacing: 2px;
      line-height: 1.7;
      border-bottom: 1px solid #cfcfcf;
}
.midashi_02 span {
      padding: 0.3em 1em;
      min-width: 17em;
      border-radius: 0.4em 0.4em 0 0;
      display: inline-block;
      position: relative;
      background: var(--col_main);
      color: #fff;
      font-weight: 700;
      text-align: center;
}
/*midashi_03*/
.midashi_03 {
      position: relative;
      padding-left: 2.2em;
}
.midashi_03:before {
      content: "";
      background: var(--col_yellow);
      border-radius: 5em;
      aspect-ratio: 1;
      width: 1.2em;
      left: 0;
      top: 0.2em;
      position: absolute;
}
/*madashi_img
-------------------------------------------*/
.madashi_img {
      text-align: center;
      color: var(--col_main);
}
.madashi_img img {
      width: 6.3rem;
}
.madashi_img span {
      display: block;
      margin-top: 0.5em;
      font-weight: 700;
}
/*midashi_ico
-------------------------------------------------------*/
.midashi_ico {
      letter-spacing: 2px;
      line-height: 1.7;
}
.midashi_ico span {
      position: relative;
      padding-left: 3em;
      display: inline-block;
}
.midashi_ico span:before {
      content: "";
      background: url("../images/ico_logo.svg") no-repeat;
      aspect-ratio: 63/49;
      height: 1.8em;
      position: absolute;
      top: 0;
      left: 0;
}
/* 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________________________________________________________________*/
.cv_area {
      padding: 2em 0;
      width: 1540px;
      margin: 4em auto 4em auto;
      background: var(--col_main);
      border-radius: var(--b_rudius_pc);
}
@media screen and (max-width: 1550px) {
      .cv_area {
            width: 95%;
      }
}
@media screen and (max-width: 680px) {
      .cv_area {
            margin: 3em auto 3em auto;
      }
}
.cv_inner {
      width: 1000px;
      margin: auto;
}
@media screen and (max-width: 1100px) {
      .cv_inner {
            width: 95%;
      }
}
.cv_title {
      color: #fff;
      font-size: 2.1em;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: 3px;
      padding-bottom: 1em;
      position: relative;
      padding-right: 5em;
}
.cv_title:before {
      content: "";
      background: url("../images/staff_01.webp") no-repeat;
      aspect-ratio: 133/200;
      background-size: contain;
      position: absolute;
      bottom: -0.3em;
      right: 1em;
      height: 20rem;
}
.cara_02 .cv_title:before {
      background: url("../images/staff_02.webp") no-repeat;
      background-size: contain;
}
.cara_03 .cv_title:before {
      background: url("../images/staff_04.webp") no-repeat;
      background-size: contain;
}
@media screen and (max-width: 960px) {
      .cv_title {
            font-size: 1.8em;
      }
}
@media screen and (max-width: 680px) {
      .cv_title {
            font-size: 1.2em;
      }
      .cv_title:before {
            height: 12rem;
      }
}
.cv_cont {
      background: #fff;
      border-radius: 0.5em;
      padding: 2em;
      position: relative;
}
.cv_cont_flex {
      display: flex;
      gap: 0 2em;
      align-items: center;
}
@media screen and (max-width: 680px) {
      .cv_cont {
            padding: 2em 1em 1em 1em;
      }
      .cv_cont_flex {
            display: block;
      }
}
.cv_btn {
      width: 50%;
      text-align: center;
      font-size: 1.25em;
}
.cv_btn a {
      display: block;
      background: var(--col_yellow);
      border: solid 1px var(--col_yellow);
      /*   padding: 1.3em 2.5em 1.3em 2.0em;*/
      padding: 1.3em 0;
      transition: 0.3s;
      box-sizing: border-box;
      border-radius: 0.3em;
      font-weight: bold;
      letter-spacing: 1px;
      position: relative;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
      box-shadow: var(--box_shadow);
}
.cv_btn a:before {
      content: "";
      background: url("../images/btn_arrow_black.svg") no-repeat;
      aspect-ratio: 1/1;
      width: 2em;
      position: absolute;
      top: 50%;
      right: 0.8em;
      transform: translate(-0%, -50%);
}
.cv_info {
      width: 50%;
}
@media screen and (min-width: 961px), print {
      .cv_btn a:hover {
            box-shadow: var(--box_shadow_none);
            background: var(--bg_yellow);
      }
}
@media screen and (max-width: 960px) {
      .cv_btn {
            font-size: 1.0em;
      }
}
@media screen and (max-width: 680px) {
      .cv_btn {
            text-align: left;
            font-size: 1.4em;
            width: 100%;
            line-height: 1.5;
      }
      .cv_btn a {
            padding: 0.5em 3em 0.5em 1em;
      }
      .cv_info {
            margin-top: 1.5em;
            width: auto;
      }
}
.cv_info_title {
      font-size: 1.1em;
      font-weight: 700;
      color: #fff;
      background: var(--col_main);
      display: inline-block;
      padding: 0em 3em;
      border-radius: 0.2em;
}
/*cv_tel */
.cv_tel {
      font-size: 1.5rem;
      line-height: 0;
      display: flex;
      align-items: baseline;
}
.cv_tel .tel_num {
      margin-top: 0.8em;
}
.cv_tel .tel_num a {
      color: inherit;
      background: url(../images/ico_tel_black.svg) no-repeat;
      background-size: 0.4em;
      background-position: top 50% left 0;
}


/*cv_text*/
.cv_text {
      margin-top: 1em;
}
@media screen and (max-width: 1370px) {
.cv_tel {
      font-size: 1.4rem;
}
}
@media screen and (max-width: 960px) {
      .cv_tel {
            font-size: 1.2rem;
      }
}
@media screen and (max-width: 680px) {
      .cv_info_title {
            display: block;
            text-align: center;
            padding: 0em 3em;
      }
      .cv_tel {
            text-align: center;
            font-size: 1.8rem;
            display: block;
      }
      .cv_tel .tel_info {
            margin-top: 0.5em;
            font-size: 0.9em;
      }
      .cv_text {
            margin-top: 3em;
      }
}
/*ご利用事例
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*case_study_area
--------------------------------------------------------------------------------------------------------------------------*/
.case_study_list {
      display: flex;
      flex-wrap: wrap;
      gap: 2em 3%;
}
.case_study_list.case_study_slider {
      display: inherit;
}
.case_study_list li {
      width: calc((100% / 3) - 2%);
      background: #fff;
      box-shadow: var(--box_shadow);
      border-radius: 1em;
      overflow: hidden;
}
@media screen and (max-width: 680px) {
      .case_study_list {
            display: block;
      }
      .case_study_list li {
            width: auto;
      }
      .case_study_list li + li {
            margin-top: 1.5em;
      }
}
.case_study_list li .case_study_list_inner .img, .case_study_list li .case_study_list_inner .img img {
      aspect-ratio: 367/208;
      /*     height: 20.8rem;*/
      overflow: hidden;
}
.case_study_list li .case_study_list_inner .img img {
      width: 100%;
      object-fit: cover;
      object-position: center;
}
.case_study_list li .case_study_list_inner .text_box {
      position: relative;
      padding: 1.5em;
      color: #565656;
}
.case_study_list li .case_study_list_inner .text_box .cate {
      left: 0em;
      top: -1em;
      border-radius: 0 0.5em 0.5em 0;
      display: inline-block;
      background: var(--col_main);
      color: #fff;
      font-weight: 700;
      font-size: 0.9em;
      padding: 0.3em 1em 0.3em 1.7em;
      position: absolute;
}
.case_study_title {
      color: #222222;
      padding: 0.8em 0;
}
.area_box {
      font-size: 1.4rem;
      display: flex;
      align-items: center;
      gap: 0 1em;
      margin-bottom: 1em;
}
.area_box .area {
      background: var(--bg_gray_l);
      padding: 0.1em 1em;
      border-radius: 5em;
}
.case_study_text {
      font-size: 0.9em;
}
/*kaitori_area
--------------------------------------------------------------------------------------------------------------------------*/
.kaitori_list {
      display: flex;
      gap: 2em 2%;
      flex-wrap: wrap;
}
.kaitori_list > li {
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
      position: relative;
      font-weight: 700;
      font-size: 1.2em;
      text-align: center;
      background: #fff;
      border-radius: 1em;
      width: calc((100% / 4) - 1.5%);
      box-shadow: var(--box_shadow);
}
.focus_archive_area .kaitori_list {
      gap: 2em 2%;
}
.focus_archive_area .kaitori_list > li {
      width: calc((100% / 3) - 1.4%);
}
.kaitori_list_inner {
      padding: 1em;
}
@media screen and (max-width: 680px) {
      .kaitori_list {
            flex-wrap: wrap;
            gap: 1em 3%;
      }
      .kaitori_list > li {
            width: calc((100% / 2) - 3%);
            border-radius: 0.5em;
      }
      .focus_archive_area .kaitori_list > li {
            width: 100%;
      }
      .kaitori_list_inner {
            padding: 0;
      }
      .focus_archive_area .kaitori_list > li .kaitori_list_inner {
            padding: 1em;
      }
}
.kaitori_list_inner .text_box {
      position: relative;
      padding-right: 1em;
}
.kaitori_list_inner .text_box:before {
      content: "";
      background: url("../images/btn_arrow_main.svg") no-repeat;
      background-size: contain;
      width: 1.3em;
      aspect-ratio: 1;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translate(-0%, -50%);
}
.kaitori_list > li .text_box {
      margin-top: 1em;
}
.kaitori_list > li .img img {
      width: 100%;
}
@media screen and (min-width: 961px), print {
      .kaitori_list > li:hover {
            position: relative;
            transform: translateY(-1em);
      }
}
@media screen and (max-width: 680px) {
      .kaitori_list_inner .text_box {
            padding: 0.5em !important;
      }
      .kaitori_list_inner .text_box:before {
            content: none;
      }
}
/*more_box*/
.more_box {
      display: flex;
      justify-content: center;
      align-items: center;
}
.more_box .kaitori_list_inner {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      width: 100%;
}
.more_box a {
      height: 100%;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: var(--col_main);
}
.more_box a span {
      position: relative;
      display: inline-block;
      padding-right: 1.6em;
}
.more_box a span:before {
      content: "";
      background: url("../images/btn_arrow_main.svg") no-repeat;
      background-size: contain;
      width: 1.3em;
      aspect-ratio: 1;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translate(-0%, -50%);
}
/*top_flow_aera
---------------------------------------------------------------------------------------------------------*/
.top_flow_title {
      padding: 0.5em 0 2.5em;
}
ol.top_flow_list {
      position: relative;
      counter-reset: count 0;
}
ol.top_flow_list:before {
      position: absolute;
      content: "";
      background: var(--col_main);
      width: 2px;
      height: 100%;
      left: 50%;
      transform: translate(-50%, -0%);
      top: 0;
}
@media screen and (max-width: 680px) {
      .top_flow_title {
            padding: 0.5em 0 1em;
      }
      ol.top_flow_list:before {
            left: 1.7em;
            transform: translate(-0%, -0%);
      }
}
ol.top_flow_list > li {
      z-index: 0;
      counter-increment: cnt;
      position: relative;
}
ol.top_flow_list > li:before {
      position: absolute;
      content: "";
      background: var(--col_main);
      border-radius: 5em;
      aspect-ratio: 1;
      width: 3.75em;
      top: 0;
      left: 50%;
      transform: translate(-50%, -0%);
      z-index: 1;
}
ol.top_flow_list > li:after {
      position: absolute;
      content: "0"counter(cnt);
      font-family: "Roboto", sans-serif;
      font-size: 1.37em;
      display: inline-block;
      color: #fff;
      font-weight: 700;
      top: 0.5em;
      left: 50%;
      transform: translate(-50%, -0%);
      z-index: 2;
}
@media screen and (max-width: 680px) {
      ol.top_flow_list > li:before {
            left: 0%;
            transform: translate(-0%, -0%);
      }
      ol.top_flow_list > li:after {
            font-size: 1.3em;
            left: 0.8em;
            top: 0.65em;
            transform: translate(-0%, -0%);
      }
}
.top_flow_list > li + li {
      margin-top: 4em;
}
.top_flow_list > li:nth-child(even) .top_flow_list_inner {
      flex-direction: row-reverse;
}
.top_flow_list_inner {
      position: relative;
      padding-top: 0.5em;
      display: flex;
      justify-content: space-between;
      gap: 0 5%;
      z-index: 0;
}
.top_flow_list > li:last-child .top_flow_list_inner:before {
      content: "";
      background: #fff;
      width: 100%;
      height: 102%;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
}
.bg_main_l .top_flow_list > li:last-child .top_flow_list_inner:before {
	background: var(--bg_main_l);
}
.top_flow_list_inner > * {
      width: 40%;
}
@media screen and (max-width: 680px) {
      .top_flow_list > li + li {
            margin-top: 2em;
      }
      .top_flow_list_inner {
            padding-top: 0.5em;
            ;
            display: inline-block;
      }
      .top_flow_list_inner > * {
            width: 80%;
            margin-left: 20%;
      }
}
.top_flow_list_inner .img {
      display: flex;
      justify-content: center;
      align-items: center;
}
.top_flow_list_inner .img img {
      height: 11.75em;
      width: 100%;
      object-fit: contain;
      object-position: left;
}
.top_flow_list_inner .img img.img_z_s {
      height: 9.5em;
}
.top_flow_list > li:nth-child(even) .top_flow_list_inner .img img {
      object-position: right;
}
.top_flow_inner_title {
	font-weight: bold;
      margin-bottom: 0.5em;
}
@media screen and (max-width: 680px) {
      .top_flow_list_inner .img {
            margin-top: 1em;
      }
      .top_flow_list_inner .img img {
            height: 9em;
            object-position: center;
      }
      .top_flow_list_inner .img img.img_z_s {
            height: 7em;
      }
      .top_flow_list > li:nth-child(even) .top_flow_list_inner .img img {
            object-position: center;
      }
}
/*case_study_area
--------------------------------------------------------------------------------------------------------------------------*/
.case_study_slider li {
      margin: 0 1em 2em 1em;
}
@media screen and (max-width: 1400px) {
      .case_study_slider {
            width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 680px) {
      .case_study_slider {
            width: 100%;
            margin: auto;
      }
}
/*arrow
---------------------------------------------------------------------*/
.case_study_slider .slick-prev:before, .case_study_slider .slick-next:before {
      font-size: inherit !important;
      opacity: 1;
      color: transparent !important;
}
.case_study_slider .slick-next, .case_study_slider .slick-prev {
      width: 3em;
      height: auto;
      aspect-ratio: 1;
      background: url("../images/btn_arrow_main.svg")no-repeat;
      background-size: contain;
      font-size: inherit !important;
      border-radius: 5em;
      box-shadow: var(--box_shadow);
      z-index: 55;
}
.case_study_slider .slick-prev {
      transform: scale(-1, 1);
}
@media screen and (min-width: 961px), print {
      .case_study_slider .slick-next:hover, .case_study_slider .slick-prev:hover, .case_study_slider .slick-next:active, .case_study_slider .slick-prev:active, .case_study_slider .slick-next:focus, .case_study_slider .slick-prev:focus {
            opacity: 0.7 !important;
            background: url("../images/btn_arrow_main.svg")no-repeat;
            background-size: contain;
      }
}
.case_study_slider .slick-next {
      right: -4em;
}
.case_study_slider .slick-prev {
      left: -4em;
}
@media screen and (max-width: 1400px) {
      .case_study_slider .slick-next {
            right: -3em;
      }
      .case_study_slider .slick-prev {
            left: -3em;
      }
}
@media screen and (max-width: 680px) {
      .case_study_slider .slick-next, .case_study_slider .slick-prev {
            background: var(--col_main) url("../images/btn_arrow_main.svg")no-repeat !important;
            aspect-ratio: 1 /1.7 !important;
            overflow: hidden !important;
            width: 2em;
            background-position: top 50% left -0.8em !important;
            background-size: 3.3em !important;
      }
      .case_study_slider .slick-next {
            border-radius: 0.5em 0 0 0.5em;
            right: -1.4em;
      }
      .case_study_slider .slick-prev {
            left: -1.4em;
            border-radius: 0.5em 0 0 0.5em;
      }
}
/*dots
---------------------------------------------------------------------*/
.case_study_slider .slick-dots {
      bottom: -2em !important;
}
.case_study_slider .slick-dots li.slick-active button:before {
      opacity: 1;
      color: var(--col_main);
}
.case_study_slider .slick-dots li {
      box-shadow: var(--box_shadow_none) !important;
      background: transparent !important;
      margin: 0.3em !important;
}
/*case_study_btn*/
.case_study_btn {
      padding-top: 2em;
}
@media screen and (max-width: 1400px) {
      .case_study_btn {
            padding-top: 3em;
      }
}
/*コンテンツ
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/*不用品回収について
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
.collect_main_area {
      background: var(--col_main);
      border-radius: var(--b_rudius_pc);
      padding: 4em 0;
      max-width: 1540px;
      margin: auto;
}
.collect_main_box {
      max-width: 1300px;
      margin: auto;
      text-align: center;
      position: relative;
}
@media screen and (max-width: 1600px) {
      .collect_main_area {
            max-width: 95%
      }
}
@media screen and (max-width: 1350px) {
      .collect_main_box {
            max-width: 95%;
            ;
      }
}
@media screen and (max-width: 680px) {
      .collect_main_area {
            margin-top: 2em;
            padding: 6em 0 1em 0;
      }
}
/*collect_main_box_title_dash
-------------------------------------------------------------*/
.collect_main_box_title_dash {
      position: relative;
      font-weight: bold;
      margin-bottom: 0.5em;
      display: inline-block;
      padding: 0 0em;
      color: #fff;
      font-size: 2.4rem;
      line-height: 1.0;
}
.collect_main_box_title_dash:before, .collect_main_box_title_dash:after {
      content: "";
      background: #fff;
      width: 2px;
      height: 180%;
      position: absolute;
      border-radius: 3px;
      top: 50%;
}
.collect_main_box_title_dash:before {
      left: -1em;
      transform: translate(-0%, -50%) rotate(-30deg);
}
.collect_main_box_title_dash:after {
      right: -1em;
      transform: translate(-0%, -50%) rotate(30deg);
}
.col_pink.collect_main_box_title_dash:before, .col_pink.collect_main_box_title_dash:after {
      background: var(--col_pink);
}
.col_orange.collect_main_box_title_dash:before, .col_orange.collect_main_box_title_dash:after {
      background: var(--col_orange);
}
@media screen and (max-width: 680px) {
      .collect_main_box_title_dash {
            padding: 0 0.5em;
            line-height: 1.5;
      }
      .collect_main_box_title_dash:before, .collect_main_box_title_dash:after {
            height: 60%;
            top: 70%;
      }
      .collect_main_box_title_dash:before {
            left: -0em;
      }
      .collect_main_box_title_dash:after {
            right: -0em;
      }
}
/*collect_main_box_title*/
.collect_main_box_title {
      font-size: 5.2rem;
      font-weight: 700;
      color: #fff;
}
@media screen and (max-width: 680px) {
      .collect_main_box_title {
            font-size: 3.6rem;
      }
}
/*collect_main_range*/
.collect_main_range {
      background: #fff;
      border-radius: 3em;
      padding: 0.3em 1em;
      display: inline-block;
      font-weight: 700;
      font-size: 2.0rem;
      margin: 1em auto;
}
/*collect_main_box_text*/
.collect_main_box_text {
      font-weight: 700;
      font-size: 2.2rem;
      color: #fff;
}
@media screen and (max-width: 680px) {}
/*collect_ribbon*/
.collect_ribbon {
      position: absolute;
      top: -2em;
      right: 8em;
      aspect-ratio: 166/185;
      width: 16rem;
}
.collect_ribbon img {
      width: 100%;
}
.collect_main_box .img {
      position: absolute;
      bottom: -3em;
      left: 0;
      aspect-ratio: 310/174;
      width: 31rem;
}
.collect_main_box .img img {
      width: 100%;
}
@media screen and (max-width: 1350px) {
      .collect_ribbon {
            right: 4em;
      }
}
@media screen and (max-width: 960px) {
      .collect_ribbon {
            right: 0em;
            width: 10rem;
      }
      .collect_main_box .img {
            width: 20rem;
      }
}
@media screen and (max-width: 680px) {
      .collect_ribbon {
            top: -10em;
            width: 13rem;
      }
      .collect_main_box .img {
            position: static;
            bottom: auto;
            left: auto;
            padding-top: 2em;
            width: 60%;
            margin: auto;
      }
}
/*purchase_point_list
-----------------------------------------------------------*/
.purchase_point_list {
      padding-top: 4.5em;
      display: flex;
      flex-wrap: wrap;
      gap: 3em 2.5%;
}
.purchase_point_list > li {
      position: relative;
      width: calc((100% / 3) - 1.69%);
      /*    background: #fff;*/
      border-radius: 1em;
}
@media screen and (max-width: 680px) {
      .purchase_point_list {
            padding-top: 2em;
            display: block;
      }
      .purchase_point_list > li {
            width: 100%;
      }
      .purchase_point_list > li + li {
            margin-top: 2em;
      }
}
.purchase_point_list .img {
      margin-bottom: 1em;
}
.purchase_point_list .img, .purchase_point_list .img img {
      aspect-ratio: 400/217;
}
.purchase_point_list .img img {
      width: 100%;
      height: 21.7rem;
      object-fit: contain;
      object-position: center;
}
.purchase_point_list .img.img_col_ff {
      display: none;
}
.purchase_point_list .text_box > * {
      width: 90%;
      margin: auto;
}
@media screen and (max-width: 960px) {
      .purchase_point_list .img img {
            height: 14rem;
      }
}
@media screen and (max-width: 680px) {
      .purchase_point_list .img img {
            height: auto;
      }
}
/*high_priced_list
-----------------------------------------------------------*/
.high_priced_list {
      padding-top: 2em;
      display: flex;
      flex-wrap: wrap;
      gap: 3em 2.5%;
}
.high_priced_list > li {
      position: relative;
      width: calc((100% / 3) - 1.69%);
      background: #fff;
      border-radius: 1em;
}
@media screen and (max-width: 680px) {
      .high_priced_list {
            display: block;
            padding-top: 2em;
      }
      .high_priced_list > li {
            width: 100%;
      }
      .high_priced_list > li + li {
            margin-top: 3em;
      }
}
.high_priced_list > li .high_priced_list_flex {
      display: flex;
      align-items: flex-end;
      gap: 0 1.5em;
      margin-bottom: 1em;
      height: 5em;
}
.high_priced_list_title {
      font-size: 1.25em;
      font-weight: 700;
}
.high_priced_list_flex .img img {
      width: 100%;
      object-fit: contain;
      object-position: center;
}
@media screen and (max-width: 960px) {
      .high_priced_list_title {
            font-size: 1.3em;
      }
}
@media screen and (max-width: 680px) {
      .high_priced_list > li .high_priced_list_flex {
            height: auto;
            width: 90%;
            margin: auto auto 1em auto;
      }
}
/*画像サイズ
-------------------------------------*/
.high_priced_list_img_01 {
      aspect-ratio: 74/54;
      height: 5.4rem;
}
.high_priced_list_img_02 {
      aspect-ratio: 101/95;
      height: 9.5rem;
}
.high_priced_list_img_03 {
      aspect-ratio: 98/92;
      height: 9.2rem;
}
.high_priced_list_img_04 {
      aspect-ratio: 66/60;
      height: 6rem;
}
.high_priced_list_img_05 {
      aspect-ratio: 90/69;
      height: 6.9rem;
}
/*kaitori_cv_area
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.kaitori_cv_area {
      padding: 5em 0;
}
@media screen and (max-width: 680px) {
      .kaitori_cv_area {
            padding: 5em 0 0em 0;
      }
}
/*kaitori_cv_title*/
.kaitori_cv_title {
      display: inline-block;
      padding: 0 3em;
      color: var(--col_main);
      font-weight: bold;
      font-size: 2.2rem;
      position: relative;
}
.kaitori_cv_title:before, .kaitori_cv_title:after {
      content: "";
      background: var(--col_main);
      height: 1px;
      width: 2em;
      position: absolute;
      top: 50%;
      transform: translate(-0%, -50%);
}
.kaitori_cv_title:before {
      left: 0;
}
.kaitori_cv_title:after {
      right: 0;
}
@media screen and (max-width: 680px) {
      .kaitori_cv_title {
            padding: 0 1.5em;
      }
      .kaitori_cv_title:before, .kaitori_cv_title:after {
            width: 1em;
      }
}
/*kaitori_cv_numset*/
.kaitori_cv_numset {
      padding-top: 0.5em;
      display: flex;
      justify-content: center;
      gap: 0 5px;
      align-items: baseline;
}
.kaitori_cv_numset .tel_num a {
      padding: 0em 0em 0em 1.3em;
      background: url(../images/ico_tel_maru.svg) no-repeat;
      background-size: 1.0em;
      background-position: top 50% left 0;
      color: var(--col_basic);
      font-size: 3.0em;
}
@media screen and (max-width: 680px) {
      .kaitori_cv_numset {
            display: block;
            text-align: center;
      }
      .kaitori_cv_numset .tel_num a {
            font-size: 2.4em;
      }
}
/*kaitori_cv_btn_flex*/
.kaitori_cv_btn_flex {
      padding: 1em 0;
      display: flex;
      justify-content: center;
      gap: 3%;
      text-align: center;
}
.kaitori_cv_btn > * {
      display: inline-flex;
      border: solid 1px var(--col_yellow);
      padding: 1em 1em;
      color: var(--col_basic);
      background: var(--col_yellow);
      transition: 0.3s;
      box-sizing: border-box;
      border-radius: 5em;
      box-shadow: 0em 0.2em 0px 0px #c59100;
      font-weight: 700;
      letter-spacing: 0.05em;
}
.kaitori_cv_btn > * span {
      position: relative;
      display: inline-block;
      padding: 0 0 0 2.5em;
}
.kaitori_cv_btn > * span:before {
      content: "";
      background: url("../images/ico_mial.svg") no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
      aspect-ratio: 1;
      width: 2em;
}
.kaitori_cv_btn_flex .kaitori_cv_btn > * {
      width: 16.5em;
      font-size: 2.4rem;
}
.kaitori_cv_btn_flex .kaitori_cv_btn > * span {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      margin: auto;
}
@media screen and (max-width: 680px) {
      .kaitori_cv_btn_flex {
            display: block;
      }
      .kaitori_cv_btn_flex .kaitori_cv_btn + .kaitori_cv_btn {
            margin-top: 10px;
      }
      .kaitori_cv_btn_flex .kaitori_cv_btn > * {
            width: 100%;
            font-size: 1.8rem;
            padding: 0.8em 1em;
      }
}
.btn_ico_line > * {
      color: #fff;
      box-shadow: 0em 0.2em 0px 0px #009b37;
      border: solid 1px var(--col_green);
      background: var(--col_green);
}
.btn_ico_line > * span:before {
      background: url("../images/line_ff.svg") no-repeat;
      background-size: contain;
}
@media screen and (min-width: 961px), print {
      .kaitori_cv_btn > *:hover {
            color: #fff;
            border: solid 1px var(--col_main_d);
            background: var(--col_main_d);
            transform: translate(0px, 3px);
            opacity: 1 !important;
            box-shadow: var(--box_shadow_none);
      }
}
@media screen and (max-width: 680px) {
      .kaitori_cv_btn > * {
            font-size: 1.1em;
      }
}
/*collect_pack_area
------------------------------------------------------------------------------------*/
.pack_list {
      display: flex;
      gap: 2em 3%;
      flex-wrap: wrap;
}
.pack_list > li {
      width: calc((100% / 3) - (3% / 1.5));
      overflow: hidden;
      background: #fff;
      border-radius: 0.5em;
}
@media screen and (max-width:680px) {
      .pack_list {
            display: block;
      }
      .pack_list > li {
            width: auto;
      }
      .pack_list > li + li {
            margin-top: 1em;
      }
}
.pack_list_inner_pd {
      padding: 1em;
}
.pack_list_title {
      padding: 0.5em 0;
      background: var(--col_main);
      color: #fff;
      font-weight: bold;
      text-align: center;
}
.pack_list_inner_pd .img {
      margin: 1em auto;
}
.pack_list_inner_pd .img img {
      width: 100%;
}
.pack_list_dl {
      font-size: 0.9em;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 0.5em 3%;
}
.pack_list_dl dt {
      text-align: center;
      width: 5em;
      background: var(--col_yellow);
      /*      color: #fff;*/
      font-weight: bold;
}
.pack_list_dl dd {
      width: calc((100% - 5em) - 3%);
}
.pack_price {
      line-height: 1.2;
      font-size: 1.5em;
      font-weight: bold;
}
.pack_price .yen {
      font-size: 0.6em;
}
@media screen and (max-width: 680px) {
      .pack_list_inner_pd {
            padding: 1.5em 2em;
      }
      .pack_list_inner_pd .img {
            margin: 1em auto 1.5em auto;
      }
}


/*QA*/
.qa_block details {
      background: var(--bg_main_l);
      border-radius: var(--b_rudius_pc);
      border: solid 4px var(--bg_main_l);
      box-shadow: var(--box_shadow);
      margin-bottom: 2em;
}
.qa_block summary p, .qa_block .faq_content {
      padding: 1.5em 4em 1.5em 5em;
      position: relative;
}
.qa_block .faq_content {
      padding: 1.5em 1.5em 1.5em 5em;
}
.qa_block summary:focus-visible {
      border: solid 1px #000;
}
.qa_block summary p span {
      font-size: 1.1em;
}
.qa_block summary p:after, .qa_block .faq_content:after {
      content: "";
      position: absolute;
      left: 1em;
      top: 0.4em;
      font-size: 2em;
      font-family: "Roboto", sans-serif;
      font-weight: 900;
}
.qa_block summary p:after {
      content: "Q";
      color: var(--col_main);
}
.qa_block .faq_content:after {
      content: "A";
      left: 1em;
      color: var(--col_yellow);
}
.qa_block details {
      position: relative !important;
      z-index: 0 !important;
}
.qa_block .faq_content {
      position: relative;
      z-index: 500 !important;
      cursor: pointer;
}
@media screen and (max-width: 680px) {
      .qa_block details {
            border-radius: var(--b_rudius_sp);
      }
      .qa_block summary p span {
            font-size: 1.6rem;
      }
      .qa_block summary p, .qa_block .faq_content {
            padding: 1.5em 3em 1.5em 3em;
            position: relative;
            padding-left: 3.0em;
      }
      .qa_block .faq_content {
            padding: 1.5em 1.5em 1.5em 3em;
      }
      .qa_block summary p:after, .qa_block .faq_content:after {
            left: 0.4em;
            font-size: 3.0rem;
      }
}
/*Q*/
.qa_block summary {
      font-weight: 700;
      cursor: pointer;
      list-style: none;
      position: relative;
      transition: all 0.3s ease;
      outline: none;
}
/* デフォルトの矢印を隠す */
summary::-webkit-details-marker {
      display: none;
}
.qa_block summary:before {
      content: '';
      background: url("../images/btn_arrow_main.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 2em;
      aspect-ratio: 1;
      right: 1em;
      top: 1.5em;
      transition: transform 0.3s ease;
      transform: rotate(90deg);
}
/*.qa_block summary:hover {
      color: var(--col_main);
}*/
.qa_block details[open] summary::before {
      transform: rotate(-90deg);
}
@media screen and (max-width: 680px) {
      .qa_block summary:before {
            top: 1.5em;
            right: 0.5em;
      }
}
/*A*/
.qa_block details .faq_content {
      position: relative;
      z-index: -1;
      background: #fff;
      border-radius: 0 0 var(--b_rudius_pc) var(--b_rudius_pc);
}
.qa_block details[open] .faq_content > * {
      animation: qafadeIn 0.8s ease;
      transition: all 0.8s ease;
}
@keyframes qafadeIn {
      0% {
            opacity: 0;
            transform: translateY(-10px);
      }
      100% {
            opacity: 1;
            transform: translateY(-0px);
      }
}
/*faq_cms cmsパーツ
--------------------------------------------------------------------------------------------*/
.faq_cms ul {
      margin-top: 1em;
}
.faq_cms ul > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 1em;
}
.faq_cms ul > li:before {
      content: "・";
      position: absolute;
      left: 0;
}
.faq_cms ol {
      margin: 2em auto;
}
.faq_cms ol > li + li {
      margin-top: 2em;
}
.faq_cms h2 {
      margin-top: 2em;
      color: var(--col_main);
      font-weight: 700;
      font-size: 1.25em;
      margin-bottom: 1em;
}
.faq_cms h3 {
      font-weight: 700;
      font-size: 1.1em;
      margin-bottom: 1em;
}
.faq_cms img {
      margin-top: 1em;
      margin-bottom: 1em;
}
.faq_cms h2:first-child, .faq_cms h3 {
      margin-top: 0 !important;
}
.faq_cms a {
      color: var(--col_main_d);
      text-decoration: underline;
}
@media screen and (min-width: 961px), print {
      .faq_cms a:hover {
            text-decoration: none;
      }
}

/*top_areamap_area
---------------------------------------------------------------------------------------*/
.top_areamap_area {
	font-size: 1.6rem;
      padding: 2em 0 5em 0;
}
.top_areamap_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 4%;
}
.top_areamap_flex .img {
      width: 45%;
}
.top_areamap_flex .img img {
      width: 100%;
}
.top_areamap_flex .text_box {
      width: 55%;
      padding: 3em;
      border-radius: var(--b_rudius_pc);
      background: var(--bg_yellow);
}
/*img_position*/
.img_position {
      padding-top: 5em;
}
.area_img {
      position: absolute;
      right: 2em;
      bottom: 1em;
      width: 10em;
}
.area_img img {
      width: 100%;
}
.img_position_text {
      padding-right: 10em;
}
@media screen and (max-width: 960px) {
.top_areamap_area {
	font-size: 1.5rem;
}

@media screen and (max-width: 680px) {
      .top_areamap_area {
            padding: 2em 0;
      }
      .top_areamap_flex {
            display: block;
      }
      .top_areamap_flex .img {
            width: auto;
            margin-bottom: 1em;
      }
      .top_areamap_flex .text_box {
            border-radius: var(--b_rudius_sp);
            width: auto;
            padding: 1.5em;
      }
      .area_img {
            right: 1em;
            width: 5em;
      }
      .img_position {
            padding-top: 2em;
      }
      .img_position_text {
            padding-right: 7em;
      }
}