 @charset "UTF-8";
 /*
* Theme Name: 
* Author: MONDO.llc
* Version: 2025
* Description: 
*/
 * {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
 }
 *:before, *:after {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
 }
 html {
   font-size: 62.5%; /* font-sizeは16pxの62.5%の10px */
   scroll-behavior: smooth;
 }
 html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-style: normal;
   font-weight: normal;
   vertical-align: baseline;
   background: transparent;
 }
 body {
   line-height: 1;
 }
 article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
   display: block;
 }
 ul {
   list-style: none;
 }
 blockquote, q {
   quotes: none;
 }
 blockquote:before, blockquote:after, q:before, q:after {
   content: '';
   content: none;
 }
 a {
   margin: 0;
   padding: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
 }
 /* change colours to suit your needs */
 ins {
   background-color: #ff9;
   color: #000;
   text-decoration: none;
 }
 /* change colours to suit your needs */
 mark {
   background-color: #ff9;
   color: #000;
   font-style: italic;
   font-weight: bold;
 }
 del {
   text-decoration: line-through;
 }
 abbr[title], dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
 }
 table {
   border-collapse: collapse;
   border-spacing: 0;
 }
 /* change border colour to suit your needs */
 hr {
   display: block;
   height: 1px;
   border: 0;
   border-top: 1px solid #cccccc;
   margin: 1em 0;
   padding: 0;
 }
 input, select {
   vertical-align: middle;
 }
 /********【画像設定】********/
 img {
   max-width: 100%;
   height: auto;
   border: none;
 }
 /* 比率を与える用（例） */
 img.ar-3-2 {
   aspect-ratio: 3 / 2;
 }
 img.ar-16-9 {
   aspect-ratio: 16 / 9;
 }
 /* 歪み防止：画像の元比率を維持して枠内に収める */
 img[class*="ar-"] {
   width: 100%;
   height: auto; /* 高さは aspect-ratio で算出 */
   /*object-fit: contain; /* ← 歪まない */
   object-fit: cover; /* ← 歪まない */
   background: rgba(255, 255, 255, 0); /* 余白が出た時の背景色 */
 }
 /* トリミングしていっぱいに見せたい時 */
 img.fit-cover {
   object-fit: cover;
 }
 body {
   font-size: 1.6rem;
   font-optical-sizing: auto;
   line-height: 1.8;
   color: #1B365C;
   font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
   letter-spacing: 0.05em;
   background: url("images/shared/bg_body.webp") repeat center top;
 }

 @media only screen and (max-width: 800px) {
   body {
     font-size: 1.4rem;
   }
	  main {
		  overflow: hidden;
	 }
 }
 /********【a:link a:hover設定】********/
 a:link, a:visited {
   color: #000;
   text-decoration: none;
 }
 /********【PC/SP表示設定】********/
 @media (max-width: 750px) {
   .hidden-s {
     display: none !important;
   }
 }
 @media (min-width: 751px) {
   .hidden-l {
     display: none !important;
   }
 }
 /********【サイト幅設定（meta内のviewportも同様の数値を記入　※960px以下の場合は960pxに設定するiPad向け）】********/
 .container {
   max-width: 1240px;
   min-width: 1000px;
   margin: auto;
   padding: 0 20px;
 }
 .container:before, .container:after {
   content: " ";
   display: table;
 }
 .container:after {
   clear: both;
 }
 @media only screen and (max-width: 800px) {
   .container {
     width: 100%;
     max-width: inherit;
     min-width: inherit;
   }
 }
 /********【コンテンツ】********/
 .contents {
   float: left;
   width: 700px;
   padding: 0 0 80px;
 }
 @media only screen and (max-width: 800px) {
   .contents {
     float: none;
     width: auto;
     padding: 0 0 60px;
   }
 }
 /********【テーブルレスポンシブ仕様】********/
 @media only screen and (max-width: 800px) {
   .sp-listlayout {
     border: none !important
   }
   .sp-listlayout tr {
     display: block;
     margin-bottom: 5px
   }
   .sp-listlayout th {
     border: none !important;
     display: list-item;
     width: 100%;
   }
   .sp-listlayout td {
     border: none !important;
     display: list-item;
     list-style: none;
     width: 100%;
   }
   .sp-listlayout {
     table-layout: fixed
   }
   .sp-listlayout * {
     word-wrap: break-word
   }
 }
 /********【投稿本文内の表示崩れ対応】********/
 /*WP必須クラス*/
 .wp-caption {
   max-width: 100%;
   margin-bottom: 10px;
 }
 .wp-caption-text {
   padding: 10px;
   margin-bottom: 0;
 }
 .sticky {
   background: #FAFAFA;
   border-top: 4px solid #F00;
   margin-left: -20px;
   margin-right: -20px;
   padding: 18px 20px;
 }
 .gallery-caption {
   font-size: 0.8em;
 }
 .bypostauthor {
   color: #999;
 }
 .screen-reader-text {
   clip: rect(1px, 1px, 1px, 1px);
   height: 1px;
   overflow: hidden;
   position: absolute !important;
   width: 1px;
 }
 pre {
   white-space: -moz-pre-wrap;
   white-space: -pre-wrap;
   white-space: -o-pre-wrap;
   white-space: pre-wrap;
   word-wrap: break-word;
 }
 h1, h2, h3, h4, h5 {
   -ms-word-wrap: break-word;
   word-wrap: break-word;
 }
 /***************************/
 /********【ヘッダー】********/
 /***************************/
 #link01, #link02, #link03, #link04, #link05, #link06, #link07, #link08, #link09, #link10 {
   margin-top: -100px !important;
   padding-top: 100px !important;
 }
 @media only screen and (max-width: 800px) {
   #link01, #link02, #link03, #link04, #link05, #link06, #link07, #link08, #link09, #link10 {
     margin-top: -50px !important;
     padding-top: 50px !important;
   }
 }
 /***************************/
 /********【ローディング】********/
 /***************************/
 #logo_loader {
   display: block;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   z-index: 100000;
   background: url("images/shared/bg_opening.webp") no-repeat center center/cover;
 }
 #logo_loader .f_logo {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   margin: auto;
   width: 500px;
   height: 215px;
   text-align: center;
 }
 #logo_loader .f_logo img {
   width: 100%;
   height: auto;
   animation: loadLogo 1.5s ease-in-out;
   opacity: 1;
 }
 /****/
 @keyframes loadLogo {
   0% {
     opacity: 0;
   }
   50% {
     opacity: 0;
   }
   100% {
     opacity: 1;
   }
 }
 /****/
 #logo_loader.open {
   animation-name: slideOut;
   animation-fill-mode: forwards;
   animation-duration: 2.0s;
   animation-delay: 2.0s;
   transition: ease-in-out;
 }
 @keyframes slideOut {
   0% {
     transform: translateY(0%);
   }
   50% {
     transform: translateY(0%);
   }
   100% {
     transform: translateY(100%);
   }
 }
 @media only screen and (max-width: 800px) {
   #logo_loader .f_logo {
     width: 300px;
   }
 }
 /****/
 .head_ar {
   width: 100%;
   min-width: 1000px;
   height: 100px;
   position: fixed;
   top: 0;
   z-index: 1000;
   padding: 0px min(17vw, 240px) 0px 0px; /*min(10vw, 50px)10vwと50pxのうち、小さい方を左右に適用*/
   box-shadow: 0px 5px 5px 5px rgba(0, 0, 0, 0.4);
   background: rgb(255, 255, 255);
   border-bottom: 10px solid #3D9D9B;
 }
 .head_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: space-between;
   align-items: center;
 }
 .head_ar .logo {
   margin: min(0vw, 10px) 0px 0px; /*man(10vw, 50px)10vwと50pxのうち、小さい方を左右に適用*/
   padding: 0 0 0 20px;
   width: 22vw
 }
 .head_ar .logo img {
   width: 280px;
 }
 /****/
 .head_ar .nav_bx {
   margin: -5px 0 0;
   /* flexbox */
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }
 .head_ar .nav_bx ul {
   /* flexbox */
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }
 .head_ar .nav_bx ul li.mega {
   padding: 25px 35px;
   position: relative;
 }
 .head_ar .nav_bx ul li {
   font-size: 1.6rem;
   font-weight: bold;
   position: relative;
 }
 .head_ar .nav_bx ul li .eng {
   font-family: "Nothing You Could Do", cursive;
   letter-spacing: -0.05em;
   font-size: 1.8rem;
   color: #3D9D9B;
   transform: rotate(-15deg);
   display: block;
   position: absolute;
   left: 0px;
   top: 10px;
 }
 .head_ar .nav_bx ul li .no_link {
   font-weight: bold;
   position: relative;
   cursor: pointer;
   transition: .3s;
   top: 3px;
   color: #000;
 }
 .head_ar .nav_bx ul li a {
   display: block;
   padding: 28px 1vw 23px;
   transition: .3s;
 }
 .head_ar .nav_bx ul li a:hover, .head_ar .nav_bx ul li .no_link:hover {
   text-decoration: none;
   opacity: 0.5;
 }
 /**/
 .head_ar .nav_bx ul li ul {
   padding: 30px 0px 20px;
   display: block;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .head_ar .nav_bx ul li ul li {
   border-bottom: solid 1px #8FBFBA;
   padding: 0 0px 0px;
   margin: 0 3% 15px;
   position: relative;
   width: 44%;
   /* flexbox */
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }
 .head_ar .nav_bx ul li ul li:after {
   position: absolute;
   content: "";
   background: url("images/shared/arrow_gr_s01.svg") no-repeat center center/cover;
   width: 14px;
   height: 14px;
   right: 50%;
   top: 33%;
 }
 .head_ar .nav_bx ul li ul li a {
   display: block;
   letter-spacing: 0;
   padding: 15px 0px 30px 30px;
 }
 .head_ar .nav_bx ul li ul li .sub_ttl {
   font-size: 2.2rem;
   font-weight: bold;
   width: 40%;
 }
 .head_ar .nav_bx ul li ul li .link {
   font-size: 1.6rem;
   font-weight: bold;
   width: 60%;
   padding: 0 0 0 5px;
 }
 /****/
 .head_ar .nav_bx .img_logo {
   width: 104px;
   height: 23px;
   margin: -5px 0 0;
 }
 /****/
 .head_ar .bt {
   position: fixed;
   right: -10px;
   top: 0;
 }
 .head_ar .bt a {
   max-width: 234px;
   max-height: 148px;
   transition: .3s;
   width: 18vw;
   height: 10vw;
   display: block;
 }
 .head_ar .bt a:hover {
   text-decoration: none;
   transform: scale(1.05);
 }
 /****megamenu****/
 .head_ar .nav_bx li.mega {
   transition: .3s;
   position: relative;
 }
 .head_ar .nav_bx li.mega:after {
   position: absolute;
   content: "";
   background: url("images/shared/arrow_gr_d.svg") no-repeat center bottom/cover;
   width: 14px;
   height: 14px;
   right: 15px;
   top: 33px;
   transition: .3s;
 }
 .head_ar .nav_bx li.mega:hover:after {
   transform: rotate(-180deg);
   transform-origin: center center;
   transform-origin: 50% 70%;
 }
 /*
 .head_ar .nav_bx li.mega:hover {
	 transform: translateX(5px);
 }
*/
 .head_ar .nav_bx li.mega .megamenu {
   background: #E6E6E6;
   max-height: 0;
   width: 550px;
   position: absolute;
   transition: all .5s ease-in;
   z-index: 10;
   margin: 0 0 0 -145px;
   visibility: hidden;
   /*top: -630px;*/
   top: 75px;
   left: -60px;
   right: 0;
   border-top: 10px solid #3D9D9B;
   box-shadow: 0px 5px 5px 5px rgba(0, 0, 0, 0.4);
   animation-name: fadeInFromBottom; /* 定義したアニメーション名を指定 */
   animation-duration: .5s; /* アニメーションの時間（例: 1秒） */
   animation-timing-function: ease-out; /* アニメーションの速度カーブ */
   animation-fill-mode: forwards; /* アニメーション終了後、最後のスタイルを維持す*/
 }
 .head_ar .nav_bx li.mega:hover .megamenu {
   max-height: 9999px;
   visibility: visible;
   animation-name: fadeInFromTop; /* 定義したアニメーション名を指定 */
   animation-duration: .5s; /* アニメーションの時間（例: 1秒） */
   animation-timing-function: ease-out; /* アニメーションの速度カーブ */
   animation-fill-mode: forwards; /* アニメーション終了後、最後のスタイルを維持す*/
 }
 @keyframes fadeInFromTop {
   from {
     opacity: 0;
     /*top: -630px;*/
   }
   to {
     opacity: 1; /* 最終不透明 */
     /*top: 78px;*/
   }
 }
 @keyframes fadeInFromBottom {
   from {
     opacity: 1; /* 最終不透明 */
     /*top: 78px;*/
   }
   to {
     opacity: 0;
     /*top: -630px;*/
   }
 }
 .megamenu:before {
   position: absolute;
   content: "";
   background: url("images/shared/arrow_gr_u.svg") no-repeat center top/cover;
   width: 30px;
   height: 30px;
   margin: auto;
   left: 0px;
   right: 0;
   top: -25px;
   z-index: 9;
 }
 .megamenu-inner {
   /* flexbox */
   display: flex;
   justify-content: space-around; /*水平方向の揃え*/
   align-items: center; /*垂直方向の揃え*/
   align-content: space-around; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 @media only screen and (max-width: 800px) {
   .head_ar {
     min-width: inherit;
     height: 50px;
     padding: 0px 0px 0px 0px;
     box-shadow: 0px 3px 7px 7px rgba(0, 0, 0, 0.15); /*左右　上下　ぼかし　広がり*/
     border-bottom: 5px solid #3D9D9B;
   }
   .head_ar .logo {
     padding: 0px 0 0 10px;
     width: inherit;
     margin: -5px 0 0;
   }
   .head_ar .logo img {
     width: 160px;
   }
   /****/
 }
 /***************************/
 /********【フッター】********/
 /***************************/
 /*------common-----*/
 .common_cta_ar .txt_ar {
   background: #fff;
   padding: 50px 50px 50px;
 }
 /****/
 .common_cta_ar .txt_ar.foot_ar {
   background: url("images/shared/foot_bg.webp") no-repeat center bottom;
   padding: 50px 50px 50px;
   position: relative;
   z-index: 3;
   bottom: -100px;
   margin: -150px 0 0;
 }
 /****/
 .common_cta_ar .ttl {
   font-size: 2.0rem;
   font-weight: 700;
   text-align: center;
   margin: 50px 0 40px;
   position: relative;
 }
 .common_cta_ar .ttl:before {
   position: absolute;
   content: "";
   background: url("images/shared/ico_free.svg") no-repeat center center/cover;
   width: 123px;
   height: 46px;
   margin: -50px 0 0 0px;
   left: 50%;
   top: 0px;
   transform: translate(-50%, 0%);
 }
 .common_cta_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: center;
 }
 .common_cta_ar .bx {
   width: 50%;
   padding: 0 3%;
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   .common_cta_ar .txt_ar {
     background: #fff;
     padding: 30px 20px 20px;
   }
   /****/
   .common_cta_ar .txt_ar.foot_ar {
     background: url("images/shared/foot_bg.webp") no-repeat center bottom/cover;
     padding: 0px 20px 20px;
     margin: -100px 0 0;
   }
   /****/
   .common_cta_ar .ttl {
     font-size: 1.8rem;
     margin: 60px 0 30px;
   }
   .common_cta_ar .bx_ar {
     /* flexbox */
     display: block;
   }
   .common_cta_ar .bx {
     width: 100%;
   }
 }
 /*------footer info-----*/
 .foot_info_ar {
   padding: 150px 0 0;
   position: relative;
   z-index: 2;
 }
 @media only screen and (max-width: 800px) {
   .foot_info_ar {
     padding: 80px 0 0;
   }
 }
 /*------footer-----*/
 #foot_ar {
   position: relative;
   z-index: 1;
   width: 100%;
   min-width: 1000px;
   padding: 200px 0 5px;
   margin: 0px 0 0;
   background: url("images/shared/foot_bg02.webp") no-repeat center center/cover;
   color: #fff;
 }
 #foot_ar a {
   color: #fff;
 }
 #foot_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 #foot_ar .bx_logo {
   width: 25%
 }
 #foot_ar .bx_nav {
   width: 75%;
   margin: 0 0 60px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 #foot_ar .logo {
   max-width: 250px;
   margin: 0 0 40px;
 }
 #foot_ar .add {
   font-size: 1.5rem;
   font-weight: 700;
 }
 #foot_ar .nav {
   width: 25%;
   padding: 0 0 0 5%;
 }
 #foot_ar .ttl {
   font-size: 1.6rem;
   font-weight: 700;
   padding: 0 0 5px;
   margin: 0 0 10px;
   border-bottom: 1px solid #fff;
 }
 #foot_ar .nav ul li a {
   display: block;
   padding: 3px 10px 3px 25px;
   position: relative;
   transition: .3s;
 }
 #foot_ar .nav ul li a:before {
   position: absolute;
   content: "";
   background: #fff;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   left: 10px;
   top: 14px;
 }
 #foot_ar .nav ul li a:hover {
   transform: translateX(10px);
 }
 #foot_ar .copy {
   font-size: 1.3rem;
   text-align: right;
   padding: 0 1em 0 0;
 }
 @media only screen and (max-width: 800px) {
   #foot_ar {
     padding: 150px 0 80px;
     min-width: inherit;
   }
   #foot_ar .bx_ar {
     /* flexbox */
     display: block;
   }
   #foot_ar .bx_logo {
     width: 100%;
     margin: 0 0 30px;
   }
   #foot_ar .bx_nav {
     width: 100%;
     margin: 0 0 30px;
     /* flexbox */
     align-content: start; /*複数行にした時の揃え*/
     flex-direction: row; /*子要素の並ぶ向き*/
     flex-wrap: wrap; /*子要素の折り返し*/
   }
   #foot_ar .logo {
     max-width: 250px;
     margin: 0 auto 20px;
   }
   #foot_ar .add {
     font-size: 1.4rem;
     text-align: center;
   }
   #foot_ar .nav {
     width: 50%;
     padding: 0 5% 20px;
   }
   #foot_ar .ttl {
     font-size: 1.4rem;
   }
   #foot_ar .nav ul li a {
     font-size: 1.3rem;
     display: block;
     padding: 3px 5px 3px 15px;
   }
   #foot_ar .nav ul li a:before {
     width: 6px;
     height: 6px;
     left: 0px;
     top: 11px;
   }
   #foot_ar .copy {
     font-size: 1.2rem;
     text-align: center;
     padding: 0 0em 0 0;
   }
 }
 /*------sp_foot_nav-----*/
 @media only screen and (max-width: 800px) {
   .sp_foot_nav {
     width: 100%;
     position: fixed;
     z-index: 11;
     padding: 0px 0 0;
     bottom: 0px;
     box-shadow: 0px -3px 10px 3px rgba(0, 0, 0, 0.15);
     background: #fbfbfb;
     /* flexbox */
     display: flex;
     justify-content: flex-start;
     align-items: center;
     align-content: start; /*複数行にした時の揃え*/
     flex-direction: row; /*子要素の並ぶ向き*/
     flex-wrap: wrap; /*子要素の折り返し*/
   }
   .sp_foot_nav .bt_tel, .sp_foot_nav .bt_mail, .sp_foot_nav .bt_estimate, .sp_foot_nav .bt_results, .sp_foot_nav .bt_news, .sp_foot_nav .bt_recruit {
     width: 33.333%;
     text-align: center;
   }
   .sp_foot_nav .bt_tel a, .sp_foot_nav .bt_mail a, .sp_foot_nav .bt_estimate a, .sp_foot_nav .bt_results a, .sp_foot_nav .bt_news a, .sp_foot_nav .bt_recruit a {
     position: relative;
     font-size: 1.15rem;
     font-weight: 500;
     letter-spacing: 0;
     padding: 6px 5px 8px 20px;
     display: block;
     border-bottom: 1px solid #3D9D9B;
     border-right: 1px solid #3D9D9B;
   }
   .sp_foot_nav .bt_tel a:before, .sp_foot_nav .bt_mail a:before, .sp_foot_nav .bt_estimate a:before, .sp_foot_nav .bt_results a:before, .sp_foot_nav .bt_news a:before, .sp_foot_nav .bt_recruit a:before {
     position: absolute;
     content: "";
     margin: 0px 0 0 -25px;
   }
   .sp_foot_nav .bt_tel a:before {
     background: url("images/shared/ico_foot_tel.svg") no-repeat center center/cover;
     width: 16px;
     height: 22px;
     top: 6px;
   }
   .sp_foot_nav .bt_mail a:before {
     background: url("images/shared/ico_foot_mail.svg") no-repeat center center/cover;
     width: 18px;
     height: 13px;
     top: 10px;
   }
   .sp_foot_nav .bt_estimate a:before {
     background: url("images/shared/ico_foot_estimate.svg") no-repeat center center/cover;
     width: 20px;
     height: 18px;
     top: 7px;
   }
   .sp_foot_nav .bt_results a:before {
     background: url("images/shared/ico_foot_results.svg") no-repeat center center/cover;
     width: 19px;
     height: 17px;
     top: 8px;
   }
   .sp_foot_nav .bt_news a:before {
     background: url("images/shared/ico_foot_news.svg") no-repeat center center/cover;
     width: 21.5px;
     height: 20px;
     top: 6px;
   }
   .sp_foot_nav .bt_recruit a:before {
     background: url("images/shared/ico_foot_recruit.svg") no-repeat center center/cover;
     width: 18px;
     height: 18px;
     top: 7px;
   }
   .sp_foot_nav .bt_tel a:hover, .sp_foot_nav .bt_contact a:hover, .sp_foot_nav .bt_request a:hover, .sp_foot_nav .bt_access a:hover, .sp_foot_nav .bt_news a:hover, .sp_foot_nav .bt_voice a:hover {
     background: #fff;
     color: inherit;
     text-decoration: none;
   }
 }
 /***************************/
 /********【common】********/
 /***************************/
 /*------visible_amination-----*/
 /****visible_amination_slide_first****/
 .visible_amination_slide_first {
   clip-path: inset(0 100% 0 0);
   transition: .4s;
 }
 .visible_amination_slide_first.isActive {
   transition: clip-path 0.4s cubic-bezier(0.175, 0, 0.175, 1) 0.4s;
   clip-path: inset(0 0 0 0);
   transition-delay: 200ms;
 }
 @media only screen and (max-width: 800px) {}
 /****visible_amination_slide****/
 .visible_amination_slide {
   clip-path: inset(0 100% 0 0);
   transition: .8s;
 }
 .visible_amination_slide.isActive {
   transition: clip-path .8s cubic-bezier(0.175, 0, 0.175, 1) 0.8s;
   clip-path: inset(0 0 0 0);
   transition-delay: 600ms;
 }
 @media only screen and (max-width: 800px) {}
 /****under_fade_amination****/
 .fade_amination {
   opacity: 0;
   transition: 1.0s;
   transition-delay: 1200ms;
 }
 .fade_amination.isActive {
   opacity: 1;
 }
 @media only screen and (max-width: 800px) {}
 /*------mask-----*/
 .mask_ar {
   width: 100%;
   height: 100%;
   overflow: hidden;
   position: relative;
 }
 .mask_ar:after {
   position: absolute;
   content: "";
   background: url("images/top_con_02.svg")no-repeat right bottom/cover;
   width: 120px;
   height: 120px;
   right: 0px;
   bottom: 0px;
   transition: all 0.4s ease;
 }
 .mask_ar a {
   display: block;
   position: relative;
   z-index: 10;
 }
 /****/
 .mask_ar .eng {
   font-family: "Nothing You Could Do", cursive;
   color: #F8E700;
   font-size: 2.6rem;
   letter-spacing: 0;
   position: absolute;
   z-index: 3;
   top: 20px;
   left: 20px;
   transform: rotate(-10deg) scale(1);
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
   line-height: 1.0em;
   padding-left: 1em;
   text-indent: -1em;
 }
 .mask_ar:hover .eng {
   transition: all 0.4s ease;
   transform: rotate(180deg) scale(0.5);
   opacity: 0;
 }
 /****/
 .mask_ar .mask {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   background-color: rgba(20, 200, 200, 0.4);
   background-image: url("images/top_con_03.svg");
   background-repeat: no-repeat;
   background-position: right -15px bottom -22px;
   transition: all 0.4s ease;
   transform: scale(0);
 }
 .mask_ar:hover .mask {
   transform: scale(1);
 }
 .mask_ar:hover:after {
   opacity: 0;
 }
 .mask_ar .jp {
   font-size: 2.2rem;
   letter-spacing: 0.25em;
   font-weight: bold;
   color: rgba(255, 255, 255, 1.0);
   position: absolute;
   z-index: 3;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
   line-height: 1.4em;
   width: 100%;
   text-align: center;
   padding: 0 10px;
 }
 @media only screen and (max-width: 800px) {
   .mask_ar:after {
     width: 40px;
     height: 40px;
   }
   .mask_ar a {
     display: block;
     position: relative;
     z-index: 10;
   }
   /****/
   .mask_ar .eng {
     font-size: 1.8rem;
     top: 10px;
     left: 10px;
   }
   .mask_ar:hover .eng {
     transform: rotate(0deg) scale(1);
     opacity: 1;
   }
   /****/
   .mask_ar .mask {
     background-color: rgba(20, 200, 200, 0.25);
     background-size: 80px 100px;
     background-position: right -10px bottom -20px;
     transform: scale(1);
   }
   .mask_ar:hover .mask {
     transform: scale(1);
   }
   .mask_ar .jp {
     font-size: 1.7rem;
     letter-spacing: 0.15em;
     padding: 0 10px;
   }
 }
 /*------Accordion box-----*/
 .faq_content {
   position: relative;
   padding: 10px 0 0px;
   background: url("images/shared/faq_bg01.svg") no-repeat left top/125px 85px;
   border-bottom: 3px solid #3D9D9B;
   margin: 0 0 30px;
 }
 .accordion-ttl {
   cursor: pointer;
   font-size: 2.0rem;
   font-weight: bold;
   overflow: hidden;
   position: relative;
   z-index: 5;
   display: block;
   padding: 15px 45px 20px 100px;
 }
 .accordion-ttl:before {
   position: absolute;
   content: "";
   background: url(images/shared/faq_q.svg) no-repeat center center/cover;
   width: 60px;
   height: 60px;
   left: 15px;
   top: 0px;
 }
 .faq_content .note {
   line-height: 2.0em;
 }
 .box-accordion {
   padding: 0;
 }
 .box-accordion .accordion-btn {
   transition: .3s;
   position: absolute;
   top: 0px;
   right: 25px;
   cursor: pointer;
   width: 100%;
   height: 55px;
   z-index: 10;
 }
 /****/
 .box-accordion .accordion-btn::before, .box-accordion .accordion-btn.is-open:before {
   width: 20px;
   height: 17px;
   transition: .3s;
   position: absolute;
   right: -20px;
   content: "";
   top: 36px;
 }
 .box-accordion .accordion-btn::before {
   background: url(images/shared/faq_arr_down.svg) no-repeat center center/cover;
 }
 .box-accordion .accordion-btn.is-open:before {
   background: url(images/shared/faq_arr_up.svg) no-repeat center center/cover;
 }
 .box-accordion .accordion-btn.is-open {}
 .box-accordion .accordion-btn:hover {
   opacity: .5;
 }
 .box-accordion .box-inner {
   display: none;
   padding: 10px 0 20px 70px;
   position: relative;
 }
 .box-accordion .box-inner:before {
   position: absolute;
   content: "";
   background: url("images/shared/faq_bg02.svg") center center/cover;
   width: 45px;
   height: 45px;
   left: 45px;
   top: -15px;
 }
 .box-accordion .box-ar {
   padding: 0px 0px 0px 100px;
   position: relative;
 }
 .box-accordion .box-ar:before {
   position: absolute;
   content: "";
   background: url(images/shared/faq_a.svg) no-repeat center center/cover;
   width: 50px;
   height: 50px;
   margin: -7px 0 0 -70px;
 }
 @media only screen and (max-width: 800px) {
   .faq_content {
     background: url("images/shared/faq_bg01.svg") no-repeat left top/100px 65px;
     border-bottom: 2px solid #3D9D9B;
     margin: 0 0 20px;
   }
   .accordion-ttl {
     font-size: 1.5rem;
     padding: 5px 20px 10px 60px;
   }
   .accordion-ttl:before {
     width: 40px;
     height: 40px;
     left: 10px;
   }
   .faq_content .note {
     line-height: 1.8em;
   }
   .box-accordion .accordion-btn {
     right: 15px;
     height: 40px;
   }
   /****/
   .box-accordion .accordion-btn::before, .box-accordion .accordion-btn.is-open:before {
     width: 15px;
     height: 12px;
     right: -10px;
     top: 25px;
   }
   .box-accordion .box-inner {
     display: none;
     padding: 10px 0 10px 0px;
     position: relative;
   }
   .box-accordion .box-inner:before {
     display: none;
   }
   .box-accordion .box-ar {
     padding: 0px 0px 0px 60px;
   }
   .box-accordion .box-ar:before {
     width: 40px;
     height: 40px;
     margin: -7px 0 0 -50px;
   }
 }
 /*------common_bt_ar-----*/
 .common_bt_ar .tel a {
   transition: .3s;
   display: block;
 }
 .common_bt_ar .tel a:hover {
   transform: translateX(10px);
 }
 .common_bt_ar .time {
   font-size: 1.5rem;
   font-weight: 700;
 }
 .common_bt_ar .bt {
   margin: 10px 0;
 }
 .common_bt_ar .bt a {
   display: block;
   border: 2px solid #000;
   padding: 10px 20px 10px 55px;
   font-size: 2.0rem;
   font-weight: 700;
   position: relative;
   transition: .2s;
 }
 .common_bt_ar .bt.mail a:before {
   position: absolute;
   content: "";
   background: url("images/shared/ico_mail_bk.svg") no-repeat center center/cover;
   width: 40px;
   height: 30px;
   margin: 2px 0 0 -55px;
 }
 .common_bt_ar .bt.estimate a:before {
   position: absolute;
   content: "";
   background: url("images/shared/ico_estimate_bk.svg") no-repeat center center/cover;
   width: 40px;
   height: 36px;
   margin: 2px 0 0 -55px;
 }
 .common_bt_ar .bt a:hover {
   border: 2px solid #3D9D9B;
   background: #3D9D9B;
   color: #fff;
   /* box-shadow */
   box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.4);
 }
 .common_bt_ar .bt.mail a:hover:before {
   background: url("images/shared/ico_mail_wh.svg") no-repeat center center/cover;
 }
 .common_bt_ar .bt.estimate a:hover:before {
   background: url("images/shared/ico_estimate_wh.svg") no-repeat center center/cover;
 }
 @media only screen and (max-width: 800px) {
   .common_bt_ar .tel {
     max-width: 300px;
     margin: auto;
   }
   .common_bt_ar .time {
     font-size: 1.4rem;
     margin: 0 0 30px;
     text-align: center;
   }
   .common_bt_ar .bt a {
     padding: 5px 20px 5px 55px;
     font-size: 1.6rem;
     text-align: center;
   }
   .common_bt_ar .bt.mail a:before {
     width: 30px;
     height: 20px;
     margin: 5px 0 0 -40px;
   }
   .common_bt_ar .bt.estimate a:before {
     width: 30px;
     height: 26px;
     margin: 2px 0 0 -40px;
   }
 }
 /*------common_faq-----*/
 .common_faq a {
   transition: .3s;
   display: block;
   color: #fff;
 }
 .common_faq a:hover {
   transform: scale(1.05);
   text-decoration: none;
 }
 .common_faq .bx {
   text-align: center;
 }
 .common_faq .img {
   text-align: center;
   padding: 0 10px;
 }
 .common_faq .img img {
   width: 100%;
   max-width: 360px;
   max-height: 240px;
   object-fit: cover;
   font-family: 'object-fit: cover;'; /*IE対策*/
   margin: auto;
 }
 .common_faq .cate_ar {
   font-size: 1.3rem;
   display: block;
   max-width: 70%;
   padding: 2px 20px;
   background: rgba(61, 157, 155, 1);
   margin: -20px auto 10px;
   position: relative;
   z-index: 2;
 }
 .common_faq .cate_ar span {
   color: #fff;
   font-size: 1.3rem;
 }
 .common_faq .detail_ar {
   padding: 0 15px;
 }
 .common_faq .detail {
   margin: 0 0 5px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .common_faq .detail .com {
   width: 30%;
   text-align: right;
   font-size: 1.3rem;
 }
 .common_faq .detail .post {
   /****末尾を三点リーダー****/
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   padding: 0 0 0 10px;
 }
 @media only screen and (max-width: 800px) {
   /****slick****/
   .common_faq {
     /****画面幅100％****/
     width: 100vw;
     position: relative;
     left: 50%;
     transform: translateX(-50%);
   }
   .common_faq a:hover {
     transform: scale(1.0);
   }
   .common_faq .bx {
     text-align: center;
     padding: 0px 0 0;
   }
   .common_faq .img {
     text-align: center;
     padding: 0 5px;
   }
   .common_faq .img img {
     max-width: 375px;
     max-height: 200px;
   }
   .common_faq .cate_ar {
     font-size: 1.2rem;
     padding: 2px 10px;
   }
   .common_faq .cate_ar span {
     font-size: 1.2rem;
   }
   .common_faq .detail_ar {
     padding: 0 0px;
   }
 }
 /***************************/
 /********【index】********/
 /***************************/
 /*------slider-----*/
 /****slick****/
 .top_slider_ar {
   width: 100%;
   position: relative;
   z-index: 1;
   padding: 100px 0 0;
	 overflow: hidden;
 }
 .top_slider_ar:before {
   position: absolute;
   z-index: 1;
   content: "";
   background: url("images/top_main_bg_01.webp") no-repeat right top/cover;
   width: 120%;
   height: 100%;
   left: 0px;
   bottom: 0px;
 }
 /****/
 .top_slider_ar .bx_catch .catch_ar {
   position: absolute;
   z-index: 10;
   padding: 135px 0 0 3vw;
   margin: auto;
 }
 .top_slider_ar .bx_catch .logo {
   margin: 0 0 0px;
   max-width: 600px;
   width: 100%;
   margin: 8vw 0 -50px;
 }
 .top_slider_ar .bx_catch .catch {
   margin: 0 0 0px;
 }
 .top_slider_ar .bx_catch .catch.bottom {
   margin: 0 0 0 100px;
 }
 .top_slider_ar .bx_catch .catch span {
   font-size: 5.0rem;
   font-weight: 500;
   color: #fff;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
   background: url("images/top_main_bor.webp") no-repeat left bottom -4px/100% 25px;
   transform: rotate(-5deg);
   font-style: italic;
   padding: 0 20px;
   display: inline-block;
   line-height: 1.4em;
 }
 /********/
 .top_slider_ar .top_slider {
   height: 100%;
   visibility: hidden;
   display: none;
   opacity: 0;
   transition: 1.0s;
   overflow: hidden; /* はみ出し防止 */
 }
 .top_slider_ar .top_slider.slick-initialized {
   visibility: visible;
   display: block;
   opacity: 1;
 }
 .top_slider_ar .top_slider_bx {
   width: 85%;
   margin: 0 0 0 15%;
   position: relative;
   z-index: 1;
 }
 /* Slickの器を全部100%高さに揃える（重要） */
 .top_slider_ar .top_slider_bx, .top_slider_ar .top_slider_img, .top_slider_ar .top_slider_img .slick-list, .top_slider_ar .top_slider_img .slick-track, .top_slider_ar .top_slider_img li {
   height: 100vh;
 }
 .top_slider_ar .top_slider_img .slick-track {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 /* 画像：親にフィット＋中央トリミング */
 .top_slider_ar .top_slider_img li {
   position: relative;
   overflow: hidden;
   box-shadow: -5px 5px 5px 5px rgba(0, 0, 0, 0.3); /*左右　上下　ぼかし　広がり*/
 }
 .top_slider_ar .top_slider_img img {
   width: 100%;
   height: 100%; /* ← 100vh から 100% に変更 */
   object-fit: cover;
   object-position: bottom center;
   display: block;
   /* Ken Burns + ふわっとフェード */
   opacity: 1;
   transition: transform 6s linear, opacity 3s linear;
   will-change: transform, opacity;
   transform-origin: center center;
   transform: translateZ(0) scale(1); /* 既存scaleにZ(0)を足して固定 */
 }
 /* 表示中スライド（開始クラスが付いてから発火） */
 .top_slider_ar .top_slider_img.is-ready .slick-current img {
   transform: scale(1.2);
   opacity: 1;
 }
 /* 非表示（activeだがcurrentではない） */
 .top_slider_ar .top_slider_img.is-ready .slick-slide.slick-active:not(.slick-current) img {
   opacity: 1;
 }
 /* 初期化フェードはそのまま */
 .top_slider_ar .top_slider_img {
   visibility: hidden;
   display: none;
   opacity: 0;
   transition: 1s;
 }
 .top_slider_ar .top_slider_img.slick-initialized {
   visibility: visible;
   display: block;
   opacity: 1;
 }
 /* 低モーションの人には演出オフ */
 @media (prefers-reduced-motion: reduce) {
   .top_slider_ar .top_slider_img img {
     transition: none !important;
     transform: none !important;
     opacity: 1 !important;
   }
 }
 @media only screen and (max-width: 800px) {
   .top_slider_ar {
     padding: 50px 0px 0;
   }
   .top_slider_ar:before {
     position: absolute;
     z-index: 1;
     content: "";
     background: url("images/top_main_bg_01sp.webp") no-repeat right top/cover;
     width: 100%;
     height: 100%;
     left: 0px;
     top: 0px;
     bottom: inherit;
   }
   /****/
   .top_slider_ar .bx_catch .catch_ar {
     padding: 100px 0px 0;
     text-align: center;
     width: 100%;
     max-width: 100vw;
   }
   .top_slider_ar .bx_catch .logo {
     max-width: 300px;
     margin: 150px auto -20px;
   }
   .top_slider_ar .bx_catch .catch.bottom {
     margin: 0 0 0 20px;
   }
   .top_slider_ar .bx_catch .catch span {
     font-size: 2.4rem;
     padding: 0 10px 7px;
     background: url("images/top_main_bor.webp") no-repeat left bottom 0px/100% 15px;
   }
   /********/
   .top_slider_ar .top_slider {
     height: 100%;
     visibility: hidden;
     display: none;
     opacity: 0;
     transition: 1.0s;
     overflow: hidden; /* はみ出し防止 */
   }
   .top_slider_ar .top_slider_bx {
     width: 100%;
     margin: 0 0 0 0%;
   }
 }
 /********post_ar********/
 .top_slider_ar .post_ar {
   position: absolute;
   z-index: 100;
   bottom: 37%;
   right: 0;
   width: 880px;
   background-color: rgba(0, 0, 0, 0.6);
   color: #fff;
   padding: 0 20px 20px 20px;
   box-shadow: -5px 5px 5px 5px rgba(0, 0, 0, 0.3);
 }
 .top_slider_ar .post_ar .ttl_ar {
   text-align: center;
   margin: -50px 0 10px;
 }
 .top_slider_ar .post_ar .eng {
   font-family: "Nothing You Could Do", cursive;
   font-size: 4.0rem;
   letter-spacing: 0;
   transform: rotate(-5deg);
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
   margin: 0 0 -20px;
 }
 .top_slider_ar .post_ar .jp {
   font-size: 2.0rem;
   font-weight: 700;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
 }
 /********/
 .top_slider_ar .post_ar .loop_ar {
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: flex-start;
 }
 .top_slider_ar .post_ar a {
   width: 50%;
   padding: 0 2%;
   display: block;
   color: #fff;
   transition: .3s;
 }
 .top_slider_ar .post_ar a:hover {
   transform: translateX(10px);
 }
 .top_slider_ar .post_ar .loop {
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: flex-start;
 }
 .top_slider_ar .post_ar .img {
   width: 40%;
 }
 .top_slider_ar .post_ar .img img {
   width: 160px;
   height: 90px;
   object-fit: cover;
   object-position: left top;
   font-family: 'object-fit: cover;'; /*IE対策*/
 }
 .top_slider_ar .post_ar .detail {
   width: 60%;
   padding: 0 0 0 20px;
 }
 .top_slider_ar .post_ar .com {
   font-size: 1.4rem;
   padding: 2px 0;
   /****末尾を三点リーダー****/
   width: 100%;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
 }
 @media only screen and (max-width: 800px) {
   .top_slider_ar .post_ar {
     position: relative;
     width: 100%;
     padding: 20px 20px;
     margin: -40px 0 0;
   }
   .top_slider_ar .post_ar .ttl_ar {
     margin: 0px 0 10px;
   }
   .top_slider_ar .post_ar .eng {
     font-size: 2.8rem;
     margin: 0 0 -10px;
   }
   .top_slider_ar .post_ar .jp {
     font-size: 1.6rem;
   }
   /********/
   .top_slider_ar .post_ar .loop_ar {
     /* flexbox */
     display: block;
   }
   .top_slider_ar .post_ar a {
     width: 100%;
     padding: 0 0% 15px;
   }
   .top_slider_ar .post_ar .img {
     width: 35%;
   }
   .top_slider_ar .post_ar .detail {
     width: 65%;
     padding: 0 0 0 15px;
   }
   .top_slider_ar .post_ar .com {
     font-size: 1.3rem;
     padding: 0px 0;
   }
 }
 /********com_ar********/
 .top_slider_ar .com_ar {
   position: relative;
   z-index: 10;
   padding: 100px 0 50px;
   color: #fff;
 }
 .top_slider_ar .com_ar:before {
   position: absolute;
   content: "";
   background: url("images/top_main_bg_02.webp") no-repeat center center;
   width: 1424px;
   height: 1161px;
   margin: 0 0 0 0px;
   left: 5vw;
   bottom: 20px;
 }
 .top_slider_ar .com_ar .com {
   font-size: 2.0rem;
   font-weight: 700;
   text-align: center;
   margin: 0 0 40px;
   line-height: 2.2em;
   font-feature-settings: "palt";
 }
 .top_slider_ar .com_ar .bt {
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   .top_slider_ar .com_ar {
     background: url("images/top_main_bg_01sp.webp") no-repeat center center/cover;
     padding: 30px 20px 30px;
   }
   .top_slider_ar .com_ar:before {
     position: absolute;
     content: "";
     background: url("images/top_main_bg_02.webp") no-repeat center center/cover;
     width: 355px;
     height: 306px;
     margin: auto;
     left: 0px;
     right: 0;
     bottom: 20px;
   }
   .top_slider_ar .com_ar .com {
     font-size: 1.6rem;
     margin: 0 0 30px;
   }
   .top_slider_ar .com_ar .bt {
     text-align: center;
   }
 }
 /********01********/
 #cont01_ar {
   width: 100%;
   min-width: 1000px;
   clear: both;
   padding: 100px 0px;
	 overflow: hidden;
 }
 #cont01_ar .slider_w100 .slick-track {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 @media only screen and (max-width: 800px) {
   #cont01_ar {
     min-width: inherit;
     padding: 50px 0px 50px 0px;
     /*background-attachment: scroll;*/
   }
 }
 /********02********/
 #cont02_ar {
   clear: both;
   padding: 100px 0px;
 }
 #cont02_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   align-items: stretch; /*隣の要素に合わせる*/
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 #cont02_ar .bx {
   width: 25%;
   height: 100%;
   line-height: 0;
 }
 @media only screen and (max-width: 800px) {
   #cont02_ar {
     min-width: inherit;
     padding: 50px 0px 0px 0px;
   }
   #cont02_ar .bx_ar {
     /****画面幅100％****/
     width: 100vw;
     position: relative;
     left: 50%;
     transform: translateX(-50%);
   }
   #cont02_ar .bx {
     width: 50%;
   }
 }
 /********03********/
 #cont03_ar {
   width: 100%;
   min-width: 1000px;
   clear: both;
   padding: 100px 0px;
 }
 #cont03_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   align-items: stretch; /*隣の要素に合わせる*/
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 #cont03_ar .bx {
   width: 33.333%;
   height: 100%;
   line-height: 0;
 }
 @media only screen and (max-width: 800px) {
   #cont03_ar {
     min-width: inherit;
     padding: 50px 0px 0px 0px;
   }
   #cont03_ar .bx_ar {
     /****画面幅100％****/
     width: 100vw;
     position: relative;
     left: 50%;
     transform: translateX(-50%);
   }
   #cont03_ar .bx {
     width: 50%;
     position: relative;
   }
   #cont03_ar .sp_img {
     text-align: center;
     padding: 20px 10px;
   }
 }
 /********04********/
 #cont04_ar {
   clear: both;
   padding: 100px 0px 250px;
   z-index: 1;
   max-width: 1920px;
   margin: auto;
	 overflow: hidden;
 }
 #cont04_ar .container {
   position: relative;
   z-index: 1;
 }
 #cont04_ar .img_l, #cont04_ar .img_r {
   position: absolute;
   z-index: 2;
   width: 30vw;
   max-width: 500px;
 }
 #cont04_ar .img_l {
   left: -15vw;
   top: 0vw;
 }
 #cont04_ar .img_r {
   right: -15vw;
   bottom: -10vw;
 }
 /*
#cont04_ar:before, #cont04_ar:after  {
	position:absolute;
	z-index: 2;
	content:"";
	width:30vw;
	max-width: 500px;
	height:20vw;
	max-height: 300px;
}
#cont04_ar:before {
	background: url("images/top_con_24.webp") no-repeat center center/cover;
	left:0vw;
	top:5vw;
}
#cont04_ar:after {
	background: url("images/top_con_25.webp") no-repeat center center/cover;

	right:0vw;
	bottom:0vw;
}
*/
 @media only screen and (max-width: 1200px) {
   #cont04_ar:before, #cont04_ar:after {
     max-width: inherit;
     max-height: inherit;
   }
   #cont04_ar:before {
     top: 15vw;
   }
   #cont04_ar:after {
     bottom: 15vw;
   }
 }
 #cont04_ar .txt_ar {
   background: url("images/top_con_23.webp") no-repeat center center/1200px auto;
   padding: 100px 200px;
   width: 100%;
   margin: auto;
 }
 #cont04_ar .txt {
   font-size: 1.8rem;
   font-weight: 700;
   color: #fff;
   margin: 0 0 20px;
   position: relative;
   z-index: 4;
   line-height: 2.0em;
   text-align: center
 }
 #cont04_ar .bt {
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   #cont04_ar {
     min-width: inherit;
     padding: 50px 0px;
   }
   #cont04_ar:before, #cont04_ar:after {
     display: none
   }
   #cont04_ar .txt_ar {
     background: url("images/top_con_23.webp") no-repeat center center/cover;
     padding: 40px 25px;
     width: 100%;
     margin: auto;
   }
   #cont04_ar .txt {
     font-size: 1.6rem;
     text-align: left;
   }
   #cont04_ar .bt {
     text-align: center;
   }
 }
 /********05********/
 #cont05_ar {
   width: 100%;
   min-width: 1054px;
   background: ;
   clear: both;
   padding: 0px 0px 0px 0px;
 }
 #cont05_ar .bx_ar {
   padding: 580px 20px 0; /*名前のマージン相殺*/
   margin: -180px 0 0;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-end;
 }
 #cont05_ar .bx {
   width: 20%;
   position: relative;
   z-index: 1;
 }
 #cont05_ar .bx a {
   display: block;
   transition: .5s;
 }
 #cont05_ar .bx a:hover {
   transform: scale(1.1);
 }
 #cont05_ar .img {
   text-align: center;
   margin: 0 0 -23px;
 }
 #cont05_ar .name {
   position: relative;
   z-index: 2;
   font-family: "Nothing You Could Do", cursive;
   font-size: 3.0rem;
   color: #fff;
   text-align: center;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
   transform: rotate(-10deg);
   font-style: italic;
   margin: 0px 0 -400px;
 }
 @media only screen and (max-width: 800px) {
   #cont05_ar {
     min-width: inherit;
     padding: 50px 0px;
   }
   #cont05_ar .bx_ar {
     padding: 0px 0px 90px; /*名前のマージン相殺*/
     margin: 0px 0 0;
     background: none;
     /* flexbox */
     justify-content: center;
     align-content: start; /*複数行にした時の揃え*/
     flex-direction: row; /*子要素の並ぶ向き*/
     flex-wrap: wrap; /*子要素の折り返し*/
   }
   #cont05_ar .bx {
     width: 50%;
   }
   #cont05_ar .bx a:hover {
     transform: scale(1.0);
   }
   #cont05_ar .img {
     position: relative;
     text-align: center;
     margin: 0 0 -100px;
   }
   #cont05_ar .img:after {
     position: absolute;
     content: "";
     background: #3D9D9B;
     width: 200%;
     height: 15px;
     left: -50%;
     bottom: 3px;
   }
   #cont05_ar .name {
     position: absolute;
     z-index: 2;
     top: 180px;
     left: 0;
     right: 0;
     line-height: 1.2em;
     font-size: 1.8rem;
   }
 }
 /********06********/
 #cont06_ar {
   clear: both;
   padding: 100px 0px 150px;
 }
 #cont06_ar .txt_ar {
   background: url("images/top_con_27.webp") no-repeat center center/cover;
   padding: 80px 80px 40px;
   position: relative;
 }
 #cont06_ar .txt_ar:after {
   position: absolute;
   content: "";
   background: url("images/top_con_30.webp") no-repeat center center/cover;
   width: 364px;
   height: 274px;
   right: -150px;
   bottom: -100px;
 }
 /****/
 #cont06_ar .box-accordion .accordion-btn::before {
   background: url(images/shared/faq_arr_down_wh.svg) no-repeat center center/cover;
 }
 #cont06_ar .box-accordion .accordion-btn.is-open:before {
   background: url(images/shared/faq_arr_up_wh.svg) no-repeat center center/cover;
 }
 #cont06_ar .bt {
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   #cont06_ar {
     min-width: inherit;
     padding: 50px 0px 50px 0px;
   }
   #cont06_ar {
     clear: both;
     padding: 50px 0px;
   }
   #cont06_ar .txt_ar {
     background: url("images/top_con_27sp.webp") no-repeat center center/cover;
     padding: 40px 20px;
	   /****画面幅100％****/
	width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
   }
   #cont06_ar .txt_ar:after {
     width: 160px;
     height: 115px;
     right: -20px;
     bottom: -30px;
   }
 }
 /********07********/
 #cont07_ar .bx_post {
   width: 90%;
   padding: 0 0 0 5%;
 }
 #cont07_ar .post_ar {
   overflow: hidden;
   position: relative;
 }
 #cont07_ar .post_ar a {
   display: block;
   border-bottom: solid 1px #fff;
   padding: 0 0 25px;
   margin: 0 0 30px;
   transition: .5s;
   color: #fff;
 }
 #cont07_ar .post_ar a:hover {
   text-decoration: none;
 }
 /* scroll animation */
 #cont07_ar .post_ar a:hover:before {
   position: absolute;
   content: "";
   width: 10px;
   height: 10px;
   border-radius: 50%;
   transition-duration: .5s;
   background: #349E99;
   bottom: 26px;
   right: 0;
   padding: 0 0px 0 0;
   margin: 0 0px 0 0;
   animation: fix02 1.0s ease-in-out;
 }
 @keyframes fix02 {
   0% {
     left: 0%;
   }
   100% {
     left: 99%;
     right: 0;
   }
 }
 #cont07_ar .post_ar a:hover:after {
   position: absolute;
   content: "";
   width: 100%;
   height: 1px;
   transition-duration: .5s;
   background: #349E99;
   bottom: 30px;
   border-bottom: solid 3px #349E99;
   animation: fix03 1.0s ease-in-out;
 }
 @keyframes fix03 {
   0% {
     left: -100%;
   }
   100% {
     left: 0%;
   }
 }
 /* End scroll animation */
 #cont07_ar .post_cat_ar {
   margin: 0 0 5px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 #cont07_ar .post_date {
   font-size: 1.5rem;
 }
 #cont07_ar .post_date span {
   padding: 0 10px;
 }
 #cont07_ar .post_cat {
   font-size: 1.4rem;
   background: #1B365C;
   padding: 3px 1em;
   margin: 0 0 0 10px;
 }
 #cont07_ar .post_ttl {
   font-size: 1.8rem;
   /****末尾を三点リーダー****/
   width: 100%;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
 }
 #cont07_ar .bt {
   padding: 20px 0 0;
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   #cont07_ar {
     min-width: inherit;
     padding: 100px 0px 0px 0px;
   }
   #cont07_ar .bx_ttl {
     width: 15%;
     max-width: 60px;
   }
   #cont07_ar .top_common_ttl_ar .eng {
     margin: 20px 0 50px 0px;
   }
   #cont07_ar .bx_post {
     width: 100%;
     padding: 0 0 0 0px;
   }
   #cont07_ar .post_ar a {
     padding: 0 0 15px;
     margin: 0 0 15px;
   }
   /* scroll animation */
   #cont07_ar .post_ar a:hover:before {
     width: 6px;
     height: 6px;
     bottom: 12px;
   }
   @keyframes fix03 {
     0% {
       left: 0%;
     }
     100% {
       left: 98%;
       right: 0;
     }
   }
   #cont07_ar .post_ar a:hover:after {
     bottom: 15px;
   }
   /* End scroll animation */
   #cont07_ar .post_date {
     font-size: 1.3rem;
   }
   #cont07_ar .post_date span {
     padding: 0 5px;
   }
   #cont07_ar .post_cat {
     margin: -2px 0 0 0px;
   }
   #cont07_ar .post_cat span {
     font-size: 1.1rem;
     padding: 2px 1em;
     margin: 0 0 0 5px;
   }
   #cont07_ar .post_ttl {
     font-size: 1.5rem;
   }
 }
 /********07********/
 #cont07_ar {
   width: 100%;
   min-width: 1054px;
   clear: both;
   padding: 100px 0px;
 }
 @media only screen and (max-width: 800px) {
   #cont07_ar {
     min-width: inherit;
     padding: 50px 0px 50px 0px;
   }
 }
 /********08********/
 #cont08_ar {
   clear: both;
   padding: 100px 0px 0;
 }
 #cont08_ar .txt_ar {
   background: url("images/top_con_29.webp") no-repeat center center/cover;
   padding: 20px 50px 20px 100px;
   position: relative;
   z-index: 1;
 }
 #cont08_ar .txt_ar:before {
   position: absolute;
   content: "";
   background: url("images/top_con_31.webp") no-repeat center center/cover;
   width: 626px;
   height: 522px;
   left: -260px;
   bottom: -10px;
   z-index: 2;
 }
 #cont08_ar .eng {
   font-family: "Nothing You Could Do", cursive;
   font-size: 6.0rem;
   color: #FFEA6E;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.75);
   line-height: 1.2em;
   transform: rotate(-5deg);
   font-style: italic;
   position: relative;
   z-index: 3;
   margin: 0 0 50px 100px;
   padding-left: 1em;
   text-indent: -1em;
 }
 #cont08_ar .bx_ar {
   position: relative;
   z-index: 3;
   margin: 0 0 30px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 #cont08_ar .bx_ttl {
   width: 40%;
 }
 #cont08_ar .jp {
   font-size: 4.0rem;
   font-weight: 500;
   color: #fff;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
   background: url("images/top_main_bor.webp") no-repeat left bottom -4px/100% 25px;
   transform: rotate(-5deg);
   font-style: italic;
   padding: 0 20px;
   display: inline-block;
   line-height: 1.4em;
 }
 #cont08_ar .jp.bottom {
   margin: 0 0 0 3em;
 }
 #cont08_ar .bx_txt {
   width: 60%;
 }
 #cont08_ar .txt {
   font-size: 1.6rem;
   color: #fff;
   /* text-shadow */
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
 }
 #cont08_ar .bt {
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   #cont08_ar {
     min-width: inherit;
     padding: 50px 0px 0px 0px;
   }
   #cont08_ar .txt_ar {
     background: url("images/top_con_29sp.webp") no-repeat center center/cover;
     padding: 40px 20px 250px 20px;
   }
   #cont08_ar .txt_ar:before {
     width: 300px;
     height: 252px;
     left: -20px;
     bottom: -5px;
   }
   #cont08_ar .eng {
     font-size: 4.0rem;
     margin: 0 0 50px 0px;
   }
   #cont08_ar .bx_ar {
     position: relative;
     z-index: 3;
     margin: 0 0 0px;
     /* flexbox */
     display: block;
   }
   #cont08_ar .bx_ttl {
     width: 100%;
     text-align: center;
     margin: 0 0 20px;
   }
   #cont08_ar .jp {
     font-size: 3.0rem;
     padding: 0 10px;
   }
   #cont08_ar .jp.bottom {
     margin: 0 0 0 0em;
   }
   #cont08_ar .bx_txt {
     width: 100%;
   }
   #cont08_ar .txt {
     font-size: 1.5rem;
   }
 }
 /********topics********/
 /***************************/
 /********【common】********/
 /***************************/
 /********【button】********/
 /****/
 .css_bt_st a {
   display: inline-block;
   padding: 15px 2em 15px 1em;
   text-align: center;
   vertical-align: middle;
   transition: .3s;
   position: relative;
 }
 .css_bt_st a:after {
   position: absolute;
   content: "";
   background: url(images/shared/btn_arr.svg) no-repeat center center/cover;
   width: 25px;
   height: 25px;
   right: 0px;
   top: 50%;
   transform: translate(0%, -50%);
   -webkit-transform: translate(0%, -50%);
   -ms-transform: translate(0%, -50%);
 }
 .css_bt_st a:hover {
   transform: translateX(15px);
 }
 .css_bt_fo {
   font-size: 1.8rem;
   font-weight: 700;
 }
 .css_bt_st a:link, .css_bt_st_wh a:hover, .css_bt_st_wh a:visited {
   color: #FFEA6E;
 }
 @media only screen and (max-width: 800px) {
   .css_bt_st a {
     padding: 10px 2em 10px 1em;
   }
   .css_bt_st a:after {
     width: 20px;
     height: 20px;
     top: 52%;
   }
   .css_bt_st a:hover {
     transform: translateX(15px);
   }
   .css_bt_fo {
     font-size: 1.5rem;
   }
 }
 /********/
 .css_bt_st_gr a {
   display: inline-block;
   padding: 10px 1em 10px 3em;
   text-align: center;
   vertical-align: middle;
   max-width: 280px;
   transition: .3s;
   position: relative;
   width: 90%;
   background-image: linear-gradient(90deg, rgba(94, 162, 161, 1), rgba(0, 109, 106, 1));
   border-radius: 30px;
 }
 .css_bt_st_gr a:before {
   position: absolute;
   content: "";
   background: url(images/shared/ico_results_wh.svg) no-repeat center center/cover;
   width: 27px;
   height: 25px;
   margin: 0 0 0 -2.5em;
   top: 50%;
   transform: translate(0%, -50%);
   -webkit-transform: translate(0%, -50%);
   -ms-transform: translate(0%, -50%);
 }
 .css_bt_st_gr.contact a:before {
   background: url("images/shared/ico_mail_wh.svg") no-repeat center center/cover;
   width: 27px;
   height: 20px;
 }
 .css_bt_st_gr.estimate a:before {
   background: url("images/shared/ico_estimate_wh.svg") no-repeat center center/cover;
   width: 30px;
   height: 27px;
 }
 .css_bt_st_gr a:hover {
   transform: translateX(10px);
 }
 .css_bt_fo_gr {
   font-size: 1.6rem;
   font-weight: 600;
 }
 .css_bt_st_gr a:link {
   color: #fff;
 }
 @media only screen and (max-width: 800px) {
   .css_bt_st_gr a {
     padding: 5px 1em 5px 3em;
	   max-width: 250px;
   }
   .css_bt_st_gr a:before {
     width: 25px;
     height: 23px;
   }
   .css_bt_fo_gr {
     font-size: 1.4rem;
   }
 }
/****common****/
 .css_bt_st a:visited,  .css_bt_st_gr a:visited {
   color: #FFEA6E;
 }
.css_bt_st_gr a:visited {
   color: #fff;
 }




 /********【table】********/
 .common_tbl2 {
   width: 100%;
   border-top: 15px solid #3D9D9B;
   background: #fff;
 }
 .common_tbl2 tbody {
   padding: 20px 40px;
   display: block;
 }
 .common_tbl2 tr {
   width: 100%;
   border-bottom: solid 1px #3D9D9B;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 .common_tbl2 tr:last-child {
   border-bottom: none;
 }
 .common_tbl2 th, .common_tbl2 td {
   text-align: left;
   vertical-align: middle;
   padding: 1em 2em;
   color: #1B365C;
 }
 .common_tbl2 th {
   width: 20%;
   text-align: left;
 }
 .common_tbl2 td {
   width: 80%;
 }
 .tbl_pad {
   display: block;
   padding: 0 0 20px;
 }
 @media only screen and (max-width: 800px) {
   .common_tbl2 {
     border-top: 10px solid #3D9D9B;
   }
   .common_tbl2 tbody {
     padding: 10px 20px;
   }
   .common_tbl2 tr {
     display: block;
   }
   .common_tbl2 th, .common_tbl2 td {
     width: 100%;
     display: block;
   }
   .common_tbl2 th {
     width: 100%;
     text-align: left;
     padding: 1em 1em 0;
   }
   .common_tbl2 td {
     padding: 0 1em 1em;
   }
 }
 /********【post】********/
 .no_comment {
   padding: 40px 0;
   text-align: center;
 }
 /********【single post】********/
 .postdata p, .postdata ul, .postdata ol {
   margin: 0 0 30px;
   -ms-word-wrap: break-word;
   word-wrap: break-word;
 }
 .postdata::after {
   clear: both;
   content: "";
   display: block;
 }
 .postdata p img {
   margin: 0 0 30px;
 }
 .postdata h3 {
   font-size: 2.6rem;
   font-weight: bold;
   color: #005000;
   border-bottom: solid 3px #005000;
   position: relative;
   padding: 0 0px 5px 30px;
   margin: 0 0 30px;
 }
 .postdata h3:before {
   position: absolute;
   content: "";
   background: #005000;
   width: 20px;
   height: 20px;
   left: 0px;
   top: 10px;
 }
 .postdata h4 {
   font-size: 2.2rem;
   font-weight: bold;
   color: #005000;
   position: relative;
   padding: 0 0px 0px 15px;
   margin: 0 0 20px;
 }
 .postdata h4:before {
   position: absolute;
   content: "";
   background: #005000;
   width: 5px;
   height: 25px;
   left: 0px;
   top: 7px;
 }
 .postdata h5 {
   font-size: 1.8rem;
   font-weight: bold;
   color: #005000;
   position: relative;
   padding: 0 0px 0px 20px;
   margin: 0 0 10px;
 }
 .postdata h5:before {
   position: absolute;
   content: "";
   background: #005000;
   width: 15px;
   height: 15px;
   left: 0px;
   top: 12px;
   border-radius: 50%;
 }
 .postdata ul li {
   list-style: disc;
   list-style-position: inside;
 }
 .postdata ol li {
   list-style: decimal;
   list-style-position: inside;
 }
 .postdata strong {
   font-weight: bold;
 }
 .postdata section em {
   font-style: italic; /*斜体*/
 }
 .postdata .aligncenter {
   margin: 0 auto !important;
   text-align: center !important;
   display: block;
 }
 .postdata em {
   font-style: italic;
 }
 .postdata a {
   text-decoration: underline;
 }
 .postdata a:hover {
   text-decoration: none;
 }
 /* 投稿画像 */
 .postdata img.centered {
   display: block;
   margin-left: auto;
   margin-right: auto;
 }
 .postdata img.alignright {
   margin: 15px 0px 15px 20px;
   float: right;
 }
 .postdata img.alignleft {
   margin: 15px 20px 15px 0px;
   float: left;
 }
 .postdata img.alignnone {
   margin: 15px 20px 15px 0px;
 }
 .postdata img.aligncenter {
   display: block;
   margin: 15px auto;
 }
 @media only screen and (max-width: 800px) {
   .postdata p {
     margin: 0 0 20px;
   }
   .postdata p img {
     margin: 0 0 20px;
   }
   .postdata h3 {
     font-size: 1.8rem;
     padding: 0 0px 5px 20px;
     margin: 0 0 20px;
   }
   .postdata h3:before {
     width: 15px;
     height: 15px;
     top: 6px;
   }
   .postdata h4 {
     font-size: 1.7rem;
     padding: 0 0px 0px 12px;
     margin: 0 0 15px;
   }
   .postdata h4:before {
     width: 4px;
     height: 18px;
     top: 4px;
   }
   .postdata h5 {
     font-size: 1.5rem;
     padding: 0 0px 0px 18px;
   }
   .postdata h5:before {
     width: 12px;
     height: 12px;
     top: 6px;
   }
 }
 /********【ページネーション】********/
 .pagenation {
   text-align: center;
   padding: 50px 0 0;
 }
 .pagination {
   display: inline-block;
   padding-left: 0;
   margin: 20px 0;
   border-radius: 4px;
 }
 .pagination > li {
   display: inline;
 }
 .pagination > li > a, .pagination > li > span {
   position: relative;
   float: left;
   padding: 6px 12px;
   line-height: 1.42857143;
   text-decoration: none;
   color: #3D9D9B; /*変更*/
   background-color: #ffffff;
   border: 1px solid #3D9D9B; /*変更*/
   margin-left: -1px;
   transition: .2s;
 }
 .pagination > li:first-child > a, .pagination > li:first-child > span {
   margin-left: 0;
   border-bottom-left-radius: 4px;
   border-top-left-radius: 4px;
 }
 .pagination > li:last-child > a, .pagination > li:last-child > span {
   border-bottom-right-radius: 4px;
   border-top-right-radius: 4px;
 }
 .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {
   color: #3D9D9B; /*変更*/
   background-color: #DCECEA; /*変更（淡色）*/
   border-color: #3D9D9B; /*変更*/
 }
 .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
   z-index: 2;
   color: #ffffff;
   background-color: #3D9D9B; /*変更*/
   border-color: #3D9D9B; /*変更*/
   cursor: default;
 }
 .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
   color: #777777;
   background-color: #ffffff;
   border-color: #c7436f;
   cursor: not-allowed;
 }
 /********【ページャー】********/
 .number {
   text-align: center;
   margin-bottom: 20px;
 }
 .number a {
   background: #FFFAE6;
   border-radius: 4px;
   color: #333;
   display: inline-block;
   margin: 0 5px 10px;
   padding: 5px 15px;
   text-decoration: none;
   transition: .2s;
 }
 .number a:hover {
   background: #c7436f;
   color: #fff;
   text-decoration: none;
 }
 .number .current {
   color: #fff;
   background: #c7436f;
   border-radius: 5px;
   box-shadow: 0 2px 0 #ddd;
   display: inline-block;
   margin: 0 5px 10px;
   padding: 5px 15px;
 }
 /*ページャー*/
 .pager {
   padding-left: 0;
   margin: 20px 0;
   list-style: none;
   text-align: center;
 }
 .pager li {
   display: inline;
 }
 .pager li > a, .pager li > span {
   background: #DCECEA; /*変更（淡色）*/
   border-radius: 4px;
   color: #333;
   display: inline-block;
   margin: 0 5px 10px;
   padding: 5px 15px;
   text-decoration: none !important;
   transition: .2s;
 }
 .pager li > a:hover, .pager li > a:focus {
   background: #3D9D9B; /*変更*/
   color: #fff;
   text-decoration: none;
 }
 .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span {
   color: #FFF;
   background: #3D9D9B; /*変更*/
   cursor: not-allowed;
   text-decoration: none;
 }
 @media only screen and (max-width: 800px) {
   .pager li > a, .pager li > span {
     font-size: 12px;
     padding: 3px 15px;
   }
 }
 .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .rob:before, .rob:after, .pager:before, .pager:after {
   content: " ";
   display: table;
 }
 .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .rob:after, .pager:after {
   clear: both;
 }
 /********【headline】********/
 /********【h2】********/
 .h2_st {
   position: relative;
   z-index: 1;
   height: 39.0vw;
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .h2_st:after {
   position: absolute;
   z-index: 5;
   content: "";
   background: url("images/shared/h2_logo.webp") no-repeat center center/cover;
   width: 624px;
   height: 508px;
   right: 10px;
   bottom: 10px;
 }
 /****/
 .h2_st .bg {
   position: absolute;
   z-index: 2;
   left: 0;
   top: 100px;
   mix-blend-mode: multiply;
 }
 .h2_st .bg img {
   width: 50vw;
   height: 33.8vw;
 }
 /****/
 .h2_st .img {
   position: absolute;
   z-index: 1;
   top: 100px;
 }
 .h2_st .img img {
   width: 100vw;
 }
 /****/
 .h2_st .txt_ar {
   position: relative;
   z-index: 3;
   padding: 75px 0 0 3vw;
 }
 .h2_st .eng {
   font-family: "Nothing You Could Do", cursive;
   font-size: 6.0vw;
   color: #FFEA6E;
   line-height: 1.6em;
   transform: rotate(-7deg);
   font-style: italic;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
   mix-blend-mode: normal;
 }
 .h2_st .eng::first-letter {
   text-transform: uppercase;
 }
 .h2_st .jp {
   font-size: 1.6vw;
   font-weight: 700;
   position: relative;
   padding: 0 0 0 15vw;
   text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
   color: #fff;
   margin: -20px 0 0;
 }
 .h2_st .jp:before {
   position: absolute;
   content: "";
   background: #fff;
   width: 4vw;
   height: 4px;
   left: 10vw;
   top: 1.5vw;
   box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
 }
 @media only screen and (max-width: 800px) {
   .h2_st {
     padding: 50px 0 0;
     justify-content: center;
     height: inherit;
     height: 300px;
   }
   .h2_st:after {
	   width: 125px;
    height: 102px;
    right: inherit;
    bottom: 0;
    left: 10px;
   }
   /****/
   .h2_st .bg {
     top: 50px;
   }
   .h2_st .bg img {
     width: 100vw;
     height: 100vw;
     max-height: 250px;
   }
   /****/
   .h2_st .img {
     top: 50px;
     max-height: 300px;
   }
   .h2_st .img img {
     width: 100vw;
     max-height: 250px;
     object-fit: cover;
     object-position: center center;
     font-family: 'object-fit: cover;'; /*IE対策*/
   }
   /****/
   .h2_st .txt_ar {
     left: 0;
     right: 0;
     text-align: center;
     padding: 20vw 0 0 0vw;
     width: 100%;
     height: inherit;
   }
   .h2_st .eng {
     font-family: "Nothing You Could Do", cursive;
     font-size: 5.0rem;
     margin: 0 0 0 -30px;
   }
   .h2_st .jp {
     font-size: 2.0rem;
     padding: 0 0 0 80px;
     display: inline-block;
     margin: 0 0 0 30px;
   }
   .h2_st .jp:before {
     width: 40px;
     height: 3px;
     left: 20px;
     top: 16px;
   }
 }
 /********【h3】********/
 .h3_ar {
   margin: 0 0 40px;
   color: #1B365C;
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: flex-end;
 }
 .h3_ar.wh {
   color: #fff;
 }
 .h3_ar .ttl_eng {
   font-family: "Nothing You Could Do", cursive;
   font-size: 8.0rem;
   letter-spacing: -0.05em;
   ;
   transform: rotate(-5deg);
   text-align: right;
   padding: 0 10px;
 }
 .h3_ar .ttl_jp {
   font-size: 2.4rem;
   font-weight: 700;
   background: url("images/shared/bg_h3_bl.svg") no-repeat left top 20px/50px 3px;
   padding: 0 0 0 60px;
   ;
   margin: 0 0 0 -60px;
 }
 .h3_ar.wh .ttl_jp {
   background: url("images/shared/bg_h3_wh.svg") no-repeat left top 20px/50px 3px;
 }
 @media only screen and (max-width: 800px) {
   .h3_ar {
     margin: 0 0 30px;
     text-align: center;
     /* flexbox */
     display: block;
   }
   .h3_ar .ttl_eng {
     font-size: 4.0rem;
     text-align: center;
     padding: 0 2em 0 0;
     margin: 0 0 -15px;
   }
   .h3_ar .ttl_jp {
     font-size: 2.0rem;
     background: url("images/shared/bg_h3_bl.svg") no-repeat left top 16px/30px 2px;
     padding: 0 0 0 40px;
     margin: 0 0 0 -40px;
     display: inline-block;
   }
   .h3_ar.wh .ttl_jp {
     background: url("images/shared/bg_h3_wh.svg") no-repeat left top 16px/30px 2px;
   }
 }
 /**************************/
 /********下層ページ用********/
 /**************************/
 /********【common】********/
 .under_page {
   padding: 0px 0 0;
 }
 @media only screen and (max-width: 800px) {
   .under_page {
     padding: 0px 0 0;
   }
 }
 /********【common_under_com_ar】********/
 .common_under_com_ar {
   text-align: center;
   padding: 100px 0 100px;
 }
 .common_under_com_ar .ttl {
   font-size: 2.8rem;
   color: #1B365C;
   font-weight: 700;
   letter-spacing: 0.1em;
   padding: 0 0 20px;
   margin: 0 0 30px;
   position: relative;
   font-feature-settings: "palt";
 }
 .common_under_com_ar .ttl:after {
   position: absolute;
   content: "";
   background: #3D9D9B;
   width: 150px;
   height: 3px;
   margin: 0 auto;
   left: 0px;
   right: 0;
   bottom: 0px;
 }
 .common_under_com_ar .com {
   font-size: 1.8rem;
   color: #1B365C;
   font-weight: 700;
   line-height: 2.0;
   font-feature-settings: "palt";
 }
 @media only screen and (max-width: 800px) {
   .common_under_com_ar {
     padding: 80px 0 80px;
   }
   .common_under_com_ar .ttl {
     font-size: 1.8rem;
     letter-spacing: 0.05em;
     padding: 0 0 15px;
     margin: 0 0 25px;
   }
   .common_under_com_ar .ttl:after {
     width: 100px;
     height: 2px;
   }
   .common_under_com_ar .com {
     font-size: 1.6rem;
     text-align: left;
   }
 }
 /********【common_2cols .bx_ar】********/
 .common_2cols .bx_ar {
   width: 100%;
   margin: auto;
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: flex-start;
 }
 /****/
 .common_2cols .bx_img {
   width: 50vw;
   max-width: 900px;
   min-width: 30vw;
 }
 .common_2cols .bx_img.bx_img_l {
   margin: 0vw 0 0 5vw;
 }
 .common_2cols .bx_img.bx_img_r {
   margin: 0vw 5vw 0 0;
 }
 /****/
 .common_2cols .bx_txt_wh {
   width: 60vw;
   min-width: 30vw;
   background-color: rgba(255, 255, 255, 0.7);
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
   position: relative;
   z-index: 2;
 }
 .common_2cols .bx_txt_wh.txt_r {
   margin: 5vw 0 0 -10vw;
 }
 .common_2cols .bx_txt_wh.txt_l {
   margin: 5vw -10vw 0 0;
 }
 /****/
 .common_2cols .img {
   position: relative;
   z-index: 1;
 }
 .common_2cols .img img {
   position: relative;
   z-index: 2;
   /* box-shadow */
   box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.4);
 }
 /****/
 .common_2cols .img.img_l, .common_2cols .img.img_r {
   mix-blend-mode: multiply;
 }
 .common_2cols .img.img_l:before, .common_2cols .img.img_r:before {
   position: absolute;
   z-index: 1;
   content: "";
   max-width: 960px;
   max-height: 590px;
   width: 50vw;
   height: 45vw;
   bottom: -2vw;
 }
 .common_2cols .img.img_l:before {
   background: url("images/shared/img_bg_l.webp") no-repeat right bottom/cover;
   left: -2vw;
 }
 .common_2cols .img.img_r:before {
   background: url("images/shared/img_bg_r.webp") no-repeat left bottom/cover;
   right: -2vw;
 }
 /****/
 .common_2cols .txt_ar.txt_ar_r, .common_2cols .txt_ar.txt_ar_l {
   width: 100%;
   padding: 50px 50px;
 }
 .common_2cols .txt_ar.txt_ar_r {
   margin: 0 -4px 0 0;
 }
 .common_2cols .txt_ar.txt_ar_l {}
 .common_2cols .txt {
   font-size: 1.6rem;
 }
 /****/
 .common_2cols .bg01, .common_2cols .bg02 {
   background-blend-mode: lighten;
   width: 100%;
   height: 100%;
 }
 .common_2cols .bg01 {
   background: rgba(255, 255, 255, 0.5) url("images/concept/concept02.webp") no-repeat right -14px center/auto 105%;
 }
 .common_2cols .bg02 {
   background: rgba(255, 255, 255, 0.5) url("images/concept/concept05.webp") no-repeat left -14px center/auto 105%;
 }
 @media only screen and (max-width: 800px) {
   .common_2cols .bx_ar {
     width: 100%;
     /* flexbox */
     display: block;
   }
   /****/
   .common_2cols .bx_img {
     max-width: inherit;
     min-width: inherit;
   }
   .common_2cols .bx_img.bx_img_l, .common_2cols .bx_img.bx_img_r {
     margin: 0vw 0px;
     width: 100%;
   }
   /****/
   .common_2cols .bx_txt_wh {
     width: 90%;
     max-width: inherit;
     min-width: inherit;
     margin: -100px 20px 0;
     /* flexbox */
     display: block;
   }
   .common_2cols .bx_txt_wh.txt_r, .common_2cols .bx_txt_wh.txt_l {
     margin: -100px 20px 0;
   }
   /****/
   /****/
   .common_2cols .img.img_l:before, .common_2cols .img.img_r:before {
     width: 100vw;
     bottom: -5vw;
   }
   /****/
   .common_2cols .txt_ar {
     width: 100%;
   }
   .common_2cols .txt_ar.txt_ar_r, .common_2cols .txt_ar.txt_ar_l {
     padding: 30px 20px 10px;
   }
   .common_2cols .txt {
     font-size: 1.4rem;
     /* 文字縁取り */
     text-shadow: none;
   }
   /****/
   .common_2cols .bg01, .common_2cols .bg02 {
     background: none;
     width: 100%;
     height: 100%;
   }
 }
 /********【common_2cols .bx_txt_al】********/
 .common_2cols .bx_txt_al {
   margin: 5vw 0 0;
   width: 60vw;
   min-width: 30vw;
   position: relative;
   z-index: 2;
   color: #1B365C;
   line-height: 1.6
 }
 /****/
 .common_2cols .bx_txt_al .txt_ar.txt_ar_r, .common_2cols .bx_txt_al .txt_ar.txt_ar_l {
   padding: 0 5vw;
 }
 /****/
 .common_2cols .bx_txt_al .ttl_l {
   font-size: 2.4rem;
   font-weight: 700;
   color: #fff;
 }
 .common_2cols .bx_txt_al .ttl_l.l {
   background: url("images/shared/bg_ttl_l.webp") no-repeat right center/cover;
   margin: 0 -20vw 30px 0;
   padding: 5px 20px;
 }
 .common_2cols .bx_txt_al .ttl_l.r {
   background: url("images/shared/bg_ttl_r.webp") no-repeat left center/cover;
   margin: 0 0vw 30px -20vw;
   padding: 5px 20px 5px 20vw;
 }
 .common_2cols .bx_txt_al .ttl_m {
   font-size: 2.0rem;
   font-weight: 700;
   margin: 0 0 20px;
 }
 .common_2cols .bx_txt_al .ttl_s {
   font-size: 1.8rem;
   font-weight: 700;
   margin: 0 0 10px;
   padding: 0 0 5px;
   border-bottom: 1px solid #1B365C;
 }
 .common_2cols .bx_txt_al .ttl_s.non_bor {
   padding: 0 0 0px;
   border-bottom: none;
   margin: 0 0 20px;
 }
 .common_2cols .bx_txt_al .txt {
   margin: 0 0 30px;
 }
 .common_2cols .bx_txt_al .list {
   margin: 0 0 30px;
 }
 .common_2cols .bx_txt_al .list ul {
   padding: 0 0 0 1em;
 }
 .common_2cols .bx_txt_al .list ul li {
   list-style: disc;
   list-style-position: inside;
   padding-left: 1em;
   text-indent: -1em;
   margin: 0 0 5px;
 }
 @media only screen and (max-width: 800px) {
   .common_2cols .bx_txt_al {
     width: 100%;
     margin: 0px 0px 0;
     padding: 0 20px;
     /* flexbox */
     display: block;
   }
   /****/
   .common_2cols .bx_txt_al .txt_ar.txt_ar_r, .common_2cols .bx_txt_al .txt_ar.txt_ar_l {
     padding: 0 0px;
   }
   /****/
   .common_2cols .bx_txt_al .ttl_l {
     font-size: 2.0rem;
   }
   .common_2cols .bx_txt_al .ttl_l.l, .common_2cols .bx_txt_al .ttl_l.r {
     background: url("images/shared/bg_ttl.webp") no-repeat right center/cover;
   }
   .common_2cols .bx_txt_al .ttl_l.l, .common_2cols .bx_txt_al .ttl_l.r {
     margin: 40px 0vw 20px 0;
     padding: 3px 20px;
   }
   .common_2cols .bx_txt_al .ttl_m {
     font-size: 1.8rem;
   }
   .common_2cols .bx_txt_al .ttl_s {
     font-size: 1.6rem;
   }
   .common_2cols .bx_txt_al .txt {
     margin: 0 0 20px;
   }
   .common_2cols .bx_txt_al .list {
     margin: 0 0 20px;
   }
   .common_2cols .bx_txt_al .list ul {
     padding: 0 0 0 .5em;
   }
 }
 /********/
 .common_cate_nav {
   margin: 0 0 100px;
   background: #fff;
   padding: 20px 40px;
   color: #1B365C;
 }
 .common_cate_nav .nav_ar {
   border-bottom: 1px solid #3D9D9B;
   padding: 0 0 20px;
   margin: 0 0 20px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .common_cate_nav .nav_ar:last-child {
   border-bottom: none;
   padding: 0 0 0px;
   margin: 0 0 0px;
 }
 .common_cate_nav .ttl {
   font-size: 2.0rem;
   font-weight: 700;
   width: 15%;
 }
 .common_cate_nav .nav {
   width: 85%;
 }
 .common_cate_nav .nav ul {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .common_cate_nav .nav ul li a {
   display: block;
   background: #EFEFEF;
   padding: 5px 20px;
   border-radius: 30px;
   margin: 5px 7px;
   font-size: 1.5rem;
   font-weight: 700;
   color: #1B365C;
   transition: .3s;
 }
 .common_cate_nav .nav ul li a:hover {
   display: block;
   background: #3D9D9B;
   color: #fff;
 }
 .common_cate_nav .nav ul li.current-cat a, .common_cate_nav .nav ul li.is-current a {
   background: #3D9D9B;
   color: #fff;
 }
 @media only screen and (max-width: 800px) {
   .common_cate_nav {
     margin: 0 0 50px;
     padding: 20px 15px;
   }
   .common_cate_nav .nav_ar {
     border-bottom: 1px solid #3D9D9B;
     padding: 0 0 15px;
     margin: 0 0 15px;
     /* flexbox */
     display: block;
   }
   .common_cate_nav .ttl {
     font-size: 1.6rem;
     width: 100%;
     text-align: center;
     margin: 0 0 10px;
   }
   .common_cate_nav .nav {
     width: 100%;
   }
   .common_cate_nav .nav ul li a {
     padding: 3px 10px;
     margin: 5px 5px;
     font-size: 1.2rem;
   }
 }
 /********【common_num_ar】********/
 .common_num_ar {}
 .common_num_ar .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 .common_num_ar .bx_img {
   width: 50%;
   padding: 0 5% 0 0;
   position: sticky;
   top: 0;
 }
 .common_num_ar .bx_num {
   width: 50%;
 }
 .common_num_ar .img {}
 /****/
 @media only screen and (max-width: 800px) {
   .common_num_ar .bx_ar {
     /* flexbox */
     display: block;
   }
   .common_num_ar .bx_img {
     width: 100%;
     padding: 0 0% 20px;
     /****画面幅100％****/
     width: 100vw;
     position: relative;
     left: 50%;
     transform: translateX(-50%);
   }
   .common_num_ar .bx_num {
     width: 100%;
   }
   .common_num_ar .img {
     text-align: center;
   }
 }
 /********【common_loop_num】********/
 .common_loop_num {
   position: relative;
   padding: 0px 0 30px;
   overflow: hidden;
 }
 .common_loop_num:before {
   position: absolute;
   content: "";
   background: #3D9D9B;
   width: 3px;
   left: 48px;
   bottom: 0px;
   height: 100%;
 }
 .common_loop_num:last-child:before {
   display: none;
 }
 /****/
 .common_loop_num .num_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .common_loop_num .num_bg {
   position: relative;
   z-index: 2;
   width: 100px;
   height: 100px;
   border-radius: 50%;
   background: #3D9D9B;
   text-align: center;
   line-height: 1.0;
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: center;
   align-content: center; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .common_loop_num .num_bg.time_ar {
   border-radius: 5px;
   min-height: inherit;
   padding: 15px 10px;
   width: 130px;
   height: 65px;
 }
 /****/
 .common_loop_num .num {
   width: 100%;
   font-size: 3.4rem;
   font-weight: 700;
   color: #fff;
   padding: 40px 0;
   display: block;
 }
 .common_loop_num .year {
   width: 100%;
   font-size: 1.5rem;
   font-weight: 700;
   color: #fff;
   margin: 0 0 -10px;
 }
 .common_loop_num .time {
   width: 100%;
   font-size: 2.0rem;
   font-weight: 700;
   color: #fff;
   margin: -1px 0 0px 40px;
   position: relative;
 }
 .common_loop_num .time:before {
   position: absolute;
   content: "";
   background: url("images/shared/ico_time.svg") no-repeat center center/cover;
   width: 30px;
   height: 30px;
   margin: -5px 0 0 -40px;
 }
 /****/
 .common_loop_num .ttl {
   width: 85%;
   padding: 0 0 0 5%;
   font-size: 2.4rem;
   font-weight: 700;
   color: #1B365C;
 }
 /****/
 .common_loop_num .txt {
   padding: 0 0 0 25%;
   font-size: 1.5rem;
   font-weight: 700;
   color: #1B365C;
   margin: 0 0 10px;
 }
 .common_loop_num .bt {
   text-align: right;
	 padding: 0 15px 0 0;
 }
 @media only screen and (max-width: 800px) {
   /****/
   .common_loop_num {
     padding: 0px 0 20px;
   }
   .common_loop_num:before {
     width: 2px;
     left: 24px;
   }
   /****/
   .common_loop_num .num_bg {
	   width: 50px;
    height: 50px;
   }
   .common_loop_num .num_bg.time_ar {
     padding: 5px 10px;
	   width: 80px;
    height: 35px;
   }
   /****/
   .common_loop_num .num {
     font-size: 2.0rem;
     padding: 10px 0;
   }
   .common_loop_num .year {
     font-size: 1.2rem;
     margin: 10px 0 -10px;
   }
   .common_loop_num .time {
     font-size: 1.4rem;
     margin: -1px 0 0px 30px;
   }
   .common_loop_num .time:before {
     width: 25px;
     height: 25px;
     margin: -5px 0 0 -30px;
   }
   /****/
   .common_loop_num .ttl {
     width: 89%;
     padding: 0 0 0 3%;
     font-size: 1.8rem;
   }
   /****/
   .common_loop_num .txt {
     padding: 10px 0 0 20%;
     font-size: 1.4rem;
   }
 }
 /***************************/
 /********【page_concept】********/
 /***************************/
 /********【common】********/
 .page_concept h4.ttl {
   font-size: 3.0rem;
   font-weight: 700;
   color: #1B365C;
   margin: 0 0 20px;
   text-align: center;
 }
 .page_concept p.txt {
   font-size: 1.6rem;
   line-height: 2.0;
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   .page_concept h4.ttl {
     font-size: 1.8rem;
   }
   .page_concept p.txt {
     font-size: 1.4rem;
     text-align: left;
   }
 }
 /********【cont01】********/
 .page_concept .cont01 {
   padding: 0px 0 200px;
 }
 @media only screen and (max-width: 800px) {
   .page_concept .cont01 {
     padding: 0px 0 100px;
   }
 }
 /********【cont02】********/
 .page_concept .cont02 {
   padding: 150px 0;
   text-align: center;
   color: #fff;
 }
 @media only screen and (max-width: 800px) {
   .page_concept .cont02 {
     padding: 100px 0;
   }
 }
 /********【cont03】********/
 .page_concept .cont03 {
   padding: 200px 0;
	 overflow: hidden;
 }
 @media only screen and (max-width: 800px) {
   .page_concept .cont03 {
     padding: 100px 0;
   }
 }
 /********【cont04】********/
 .page_concept .cont04 {
   padding: 150px 0;
   text-align: center;
   color: #fff;
   position: relative;
 }
 .page_concept .cont04:after {
   position: absolute;
   content: "";
   background: url("images/concept/concept07.webp") no-repeat center center/cover;
   width: 524px;
   height: 540px;
   left: 0px;
   bottom: 0px;
 }
 @media only screen and (max-width: 800px) {
   .page_concept .cont04 {
     padding: 100px 0 60px;
   }
   .page_concept .cont04:after {
     width: 184px;
     height: 200px;
     left: 10px;
     bottom: inherit;
     top: -80px;
   }
 }
 /***************************/
 /********【page_business】********/
 /***************************/
 /********【common】********/
 .page_business {}
 /********【cont01】********/
 .page_business .cont01 {
   padding: 0px 0 100px;
	 overflow: hidden;
 }
 .page_business .cont01:last-child {
   padding: 0px 0 0px;
 }
 .page_business .cont01 .bt {
   text-align: center;
   padding: 10px 0 0;
 }
 @media only screen and (max-width: 800px) {
   .page_business .cont01 {
     padding: 0px 0px 100px;
   }
 }
 /***************************/
 /********【page_service】********/
 /***************************/
 /********【common】********/
 .page_service {}
 /********【cont01】********/
 .page_service .cont01 {
   padding: 0px 0 100px;
	 overflow: hidden;
 }
 .page_service .cont01:last-child {
   padding: 0px 0 0px;
 }
 .page_service .cont01 .bt {
   text-align: center;
   padding: 10px 0 0;
 }
 @media only screen and (max-width: 800px) {
   .page_service .cont01 {
     padding: 0px 0px 100px;
   }
 }
 /***************************/
 /********【page_flow】********/
 /***************************/
 /********【common】********/
 .page_flow {}
 /********【cont01】********/
 .page_flow .cont01 {
   padding: 0 0 100px;
 }
 .page_flow .cont01 .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: flex-start;
   align-items: stretch; /*隣の要素に合わせる*/
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .page_flow .cont01 .bx {
   width: 20%;
   margin: 0 0 20px;
 }
 .page_flow .cont01 .bx a {
   display: block;
   transition: .3s;
 }
 .page_flow .cont01 .bx a:hover {
   transform: scale(1.05);
 }
 .page_flow .cont01 .ttl_ar {
   position: relative;
   z-index: 2;
   margin: 0px 0 -20px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
 }
 .page_flow .cont01 .num {
   background: #3D9D9B;
   border-radius: 50%;
   padding: 10px 10px;
   font-size: 2.4rem;
   font-weight: 700;
   line-height: 1.2;
   color: #fff;
   width: 20%;
 }
 .page_flow .cont01 .ttl {
   font-size: 1.6rem;
   color: #1B365C;
   font-weight: 700;
   padding: 0px 0 10px 5px;
   position: relative;
   width: 80%;
 }
 .page_flow .cont01 .ttl:after {
   position: absolute;
   content: "";
   background: url("images/flow/flow10.svg") no-repeat center center/100% auto;
   width: 105%;
   height: 20px;
   margin: 0 0 0 0px;
   right: 0px;
   bottom: -2px;
 }
 .page_flow .cont01 .bx:last-child .ttl:after {
   display: none;
 }
 .page_flow .cont01 .img {
   padding: 0 15px 0 0;
   margin: 8px 0 0;
 }
 @media only screen and (max-width: 800px) {
   .page_flow .cont01 {
     padding: 0 0 50px;
   }
   .page_flow .cont01 .bx_ar {
     justify-content: flex-start;
   }
   .page_flow .cont01 .bx {
     width: 33.333%;
     margin: 0 0 15px;
     border-bottom: 3px solid #3D9D9B;
   }
   .page_flow .cont01 .ttl_ar {
     margin: 0px 0 0px;
     /* flexbox */
     display: block;
   }
   .page_flow .cont01 .num {
     padding: 8px 7px;
     font-size: 1.8rem;
     width: 40px;
     margin: 0 auto 5px;
     text-align: center;
   }
   .page_flow .cont01 .ttl {
	   font-size: 1.2rem;
    padding: 0px 0 5px 0px;
    width: 100%;
    text-align: center;
    letter-spacing: -0.05em;
   }
   .page_flow .cont01 .ttl:after {
     display: none;
   }
   .page_flow .cont01 .bx:last-child .ttl:after {
     display: none;
   }
   .page_flow .cont01 .img {
     padding: 0 5px;
     margin: 0px 0 5px;
   }
 }
 /********【cont02】********/
 .page_flow .cont02 {
   padding: 0 0 100px;
 }
 @media only screen and (max-width: 800px) {
   .page_flow .cont02 {
     padding: 0 0 50px;
   }
 }
 /********【cont03】********/
 .page_flow .cont03 .common_loop_num .year {
   margin: 0 0 -60px;
 }
 .page_flow .cont03 .common_loop_num .num {
   margin: 0 0 -15px;
 }
@media only screen and (max-width: 800px) {
.page_flow .cont03 .common_loop_num .year {
	margin: 13px 0 -10px;
}
.page_flow .cont03 .common_loop_num .num {
  margin: 0 0 5px;

}
}
 /***************************/
 /********【page_staff】********/
 /***************************/
 /********【common】********/
 .page_staff {}
 /********【cont01】********/
 .page_staff .cont01 {
   padding: 0 0 0px;
 }
 .page_staff .cont01 .bx_ar {
   border-bottom: 10px solid #3D9D9B;
   margin: 0 0 100px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-end;
 }
 .page_staff .cont01 .bx_img {
   position: relative;
   z-index: 2;
   width: 30%;
   margin: 0 -5% 0 0;
 }
 .page_staff .cont01 .bx_detail {
   position: relative;
   z-index: 1;
   width: 75%;
   background: #fff;
   padding: 50px 50px 20px 100px;
 }
 /****/
 .page_staff .cont01 .name {
   font-family: "Nothing You Could Do", cursive;
   font-size: 4.0rem;
   color: #1B365C;
   letter-spacing: -0.05em;
   transform: rotate(-10deg);
   font-style: italic;
   margin: 0 0 -80px;
 }
 .page_staff .cont01 .name:after {
   position: absolute;
   content: "";
   background: url("images/staff/ico_staff.svg") no-repeat center center/cover;
   width: 103px;
   height: 210px;
   margin: 0 0 0 0px;
   left: 10px;
   top: 100px;
   transform: rotate(10deg);
 }
 .page_staff .cont01 .img {
   margin: 0 0 -25px;
 }
 /****/
 .page_staff .cont01 .detail_ar {
   border-bottom: 1px solid #3D9D9B;
   padding: 0 0 10px;
   margin: 0 0 15px;
   color: #1B365C;
 }
 .page_staff .cont01 .detail_ar:last-child {
   border-bottom: none;
   margin: 0 0 0px;
 }
 .page_staff .cont01 .com {
   width: 15%;
   font-family: "Nothing You Could Do", cursive;
   font-size: 3.0rem;
   color: #1B365C;
   letter-spacing: -0.05em;
   transform: rotate(-10deg);
   font-style: italic;
   margin: 0 0 -15px;
 }
 .page_staff .cont01 .detail, .page_staff .cont01 .txt {
   margin: 0px 0 0 0%;
   padding: 0px 0 0 6em;
 }
 @media only screen and (max-width: 800px) {
   .page_staff .cont01 .bx_ar {
     margin: 0 0 60px;
     /* flexbox */
     display: block;
   }
   .page_staff .cont01 .bx_img {
     width: 100%;
     margin: 0 auto -100px;
     text-align: center;
   }
   .page_staff .cont01 .bx_img img {
     max-width: 250px;
     margin: 0 auto;
   }
   .page_staff .cont01 .bx_detail {
     width: 100%;
     padding: 100px 20px 10px;
   }
   /****/
   .page_staff .cont01 .name {
     font-size: 3.0rem;
   }
   .page_staff .cont01 .name:after {
     display: none;
   }
   .page_staff .cont01 .img {
     margin: 0 0 0px;
   }
   /****/
   .page_staff .cont01 .detail_ar {
     padding: 0 0 5px;
     margin: 0 0 10px;
   }
   .page_staff .cont01 .com {
     font-size: 2.4rem;
   }
   .page_staff .cont01 .detail, .page_staff .cont01 .txt {
     padding: 0px 0 0 3em;
   }
 }
 /***************************/
 /********【page_company】********/
 /***************************/
 /********【common】********/
 /********【cont01】********/
 .page_company .cont01 {
   padding: 0 0 100px;
 }
 @media only screen and (max-width: 800px) {
   .page_company .cont01 {
     padding: 0 0 100px;
   }
 }
 /********【cont02】********/
 .page_company .cont02 {
   padding: 0 0 100px;
 }
 .page_company .cont02 .common_loop_num {
   max-width: 800px;
   margin: auto;
 }
 .page_company .cont02 .txt {
   text-align: right;
 }
 /****/
 .page_company .cont02 .common_loop_num::before {
   left: 50px;
 }
 .page_company .cont02 .common_loop_num .num_bg {
   width: 104px;
 }
 .page_company .cont02 .common_loop_num .year {
   margin: 0 0 -60px;
 }
 .page_company .cont02 .common_loop_num .num {
   margin: 0 0 -10px;
 }
 @media only screen and (max-width: 800px) {
   .page_company .cont02 {
     padding: 0 0 50px;
   }
   .page_company .cont02 .txt {
     text-align: right;
   }
 .page_company .cont02 .common_loop_num .num_bg {
   width: 50px;
 }
.page_company .cont02 .common_loop_num .year {
	margin: 13px 0 -10px;
}
.page_company .cont02 .common_loop_num .num  {
  margin: 0 0 5px;

}
 }
 /********【cont03】********/
 .page_company .cont03 {
   padding: 0 0 100px;
 }
 .page_company .cont03 .img {
   text-align: center;
 }
 @media only screen and (max-width: 800px) {
   .page_company .cont03 {
     padding: 0 0 50px;
   }
 }
 /********【cont04】********/
 .page_company .cont04 {}
 .page_company .cont04 iframe {
   width: 100%;
   height: 600px;
   /* 画像グレースケール */
   -webkit-filter: grayscale(100%);
   -moz-filter: grayscale(100%);
   -ms-filter: grayscale(100%);
   filter: grayscale(100%);
 }
 /***************************/
 /********【page_policy】********/
 /***************************/
 /********【common】********/
 .page_policy {}
 /********【cont01】********/
 .page_policy .cont01 {
   padding: 100px 0 0px;
 }
 .page_policy .cont01 .txt {
   margin: 0 0 40px;
   line-height: 2.2em;
 }
 @media only screen and (max-width: 800px) {
   .page_policy .cont01 {
     padding: 50px 0 0px;
   }
   .page_policy .cont01 .txt {
     margin: 0 0 30px;
     line-height: 2.0em;
   }
 }
 /***************************/
 /********【page_contact】********/
 /***************************/
 /********【common】********/
 .page_contact {}
 /********【cont01】********/
 .page_contact .cont01 {
   padding: 0 0 200px;
 }
 @media only screen and (max-width: 800px) {
   .page_contact .cont01 {
     padding: 0 0 100px;
   }
 }
 /***************************/
 /********【page_】********/
 /***************************/
 /********【common】********/
 .page_recruit {}
 /********【cont01】********/
 .page_recruit .cont01 {
   padding: 0 0 100px;
 }
 @media only screen and (max-width: 800px) {
   .page_recruit .cont01 {
     padding: 0 0 50px;
   }
 }
 /********【cont02】********/
 .page_recruit .cont02 {
   padding: 0 0 100px;
 }
 @media only screen and (max-width: 800px) {
   .page_recruit .cont02 {
     padding: 0 0 50px;
   }
 }
 /********【cont03】********/
 .page_recruit .cont03 {}
 .page_recruit .cont03 .txt {
   text-align: center;
   margin: 0 0 50px;
 }
 @media only screen and (max-width: 800px) {
   .page_recruit .cont03 .txt {
     text-align: left;
     margin: 0 0 30px;
   }
 }
 /***************************/
 /********【page_estimate】********/
 /***************************/
 /********【common】********/
 .page_estimate {}
 /********【cont01】********/
 .page_estimate .cont01 {
   padding: 0 0 200px;
 }
 .page_estimate .cont01 .bx_ar {
   background: #fff;
   padding: 50px 50px 100px;
   position: relative;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .page_estimate .cont01 .bx_ar:after {
   position: absolute;
   content: "";
   background: url("images/estimate/estimate02.webp") no-repeat center center/cover;
   width: 527px;
   height: 334px;
   right: 40px;
   bottom: -200px;
 }
 .page_estimate .cont01 .bx_img {
   width: 30%;
 }
 .page_estimate .cont01 .bx_txt {
   width: 70%;
   padding: 0 0 0 5%;
 }
 .page_estimate .cont01 .img {
   text-align: center;
 }
 .page_estimate .cont01 .com {
   margin: 0 0 40px;
 }
 .page_estimate .cont01 ul {}
 .page_estimate .cont01 ul li {
   font-size: 2.0rem;
   font-weight: 700;
   position: relative;
   padding: 0 0 0 40px;
   margin: 0 0 10px;
 }
 .page_estimate .cont01 ul li.rd:before, .page_estimate .cont01 ul li.bl:before, .page_estimate .cont01 ul li.gr:before {
   position: absolute;
   content: "";
   width: 30px;
   height: 30px;
   left: 0px;
   top: 4px;
   border-radius: 50%;
 }
 .page_estimate .cont01 ul li.rd:before {
   background: #CF0000;
 }
 .page_estimate .cont01 ul li.bl:before {
   background: #3D9D9B;
 }
 .page_estimate .cont01 ul li.gr:before {
   background: #69E200;
 }
 .page_estimate .cont01 ul li span {
   font-size: 1.6rem;
   padding: 0 0 0 10px;
 }
 .page_estimate .cont01 .txt {
   margin: 0 0 20px;
 }
 @media only screen and (max-width: 800px) {
   .page_estimate .cont01 {
     padding: 0 0 100px;
   }
   .page_estimate .cont01 .bx_ar {
     padding: 20px 20px 100px;
     /* flexbox */
     display: block;
   }
   .page_estimate .cont01 .bx_ar:after {
     position: absolute;
     content: "";
     background: url("images/estimate/estimate02.webp") no-repeat center center/cover;
     width: 250px;
     height: 165px;
     right: 20%;
     bottom: -50px;
   }
   .page_estimate .cont01 .bx_img {
     width: 100%;
     margin: 0 0 20px;
   }
   .page_estimate .cont01 .bx_txt {
     width: 100%;
     padding: 0 0 0 0%;
   }
   .page_estimate .cont01 .img {
     text-align: center;
   }
   .page_estimate .cont01 .com {
     margin: 0 0 30px;
   }
   .page_estimate .cont01 ul li {
     font-size: 1.8rem;
     padding: 0 0 0 25px;
     margin: 0 0 5px;
   }
   .page_estimate .cont01 ul li.rd:before, .page_estimate .cont01 ul li.bl:before, .page_estimate .cont01 ul li.gr:before {
     width: 20px;
     height: 20px;
     top: 7px;
   }
   .page_estimate .cont01 ul li span {
     font-size: 1.4rem;
     padding: 0 0 0 0px;
     display: block;
   }
 }
 /********【cont02】********/
 .page_estimate .cont02 {
   padding: 0 0 100px;
 }
 .page_estimate .cont02 .bg {
   width: 100%;
   background: url("images/estimate/estimate03.webp") no-repeat center center/cover;
   padding: 80px 20px;
   color: #fff;
 }
 .page_estimate .cont02 .ttl {
   font-size: 2.4rem;
   font-weight: 700;
   text-align: center;
   margin: 0 0 20px;
 }
 .page_estimate .cont02 .txt {
   font-size: 1.6rem;
   font-weight: 700;
   text-align: center;
   margin: 0 0 60px;
 }
 /****/
 .page_estimate .cont02 .form_ar {
   margin: 0 0 40px;
 }
 .page_estimate .cont02 .com {
   font-size: 1.8rem;
   font-weight: 700;
   margin: 0 0 20px;
 }
 /****/
 .page_estimate .cont02 .input_ar {
   margin: 0 0 40px;
 }
 .page_estimate .cont02 .input_ar.col_1 {}
 .page_estimate .cont02 .input_ar.col_3 {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: baseline;
 }
 /****/
 .page_estimate .cont02 .detail {
   font-size: 1.6rem;
   font-weight: 700;
 }
 /****ラジオボタン****/
 .page_estimate .cont02 .detail label {
   cursor: pointer;
 }
 .page_estimate .cont02 .detail .radio {
   margin: -4px 0em 0 2em;
   transform: scale(2.0);
 }
 /****テキストボックス****/
 .page_estimate .cont02 .detail .txt_bx {
   height: 50px;
   font-size: 1.8rem;
   font-weight: 700;
   padding: 0px 20px;
   width: 200px;
   text-align: center;
 }
 /****/
 .page_estimate .cont02 .unit {
   font-size: 1.6rem;
   font-weight: 700;
   padding: 0 1em;
 }
 .page_estimate .cont02 .unit_l {
   font-size: 2.0rem;
   font-weight: 700;
   padding: 0 1em;
 }
 /****/
 .page_estimate .cont02 .total {
   text-align: center;
   border-top: 3px solid #fff;
   padding: 20px 0 0;
 }
 .page_estimate .cont02 .total_amount {
   font-size: 3.0rem;
   font-weight: 700;
 }
 .page_estimate .cont02 .notice {
   font-size: 1.4rem;
 }
 @media only screen and (max-width: 800px) {
   .page_estimate .cont02 {
     padding: 0 0 50px;
   }
   .page_estimate .cont02 .bg {
     padding: 50px 0px;
   }
   .page_estimate .cont02 .ttl {
     font-size: 1.8rem;
   }
   .page_estimate .cont02 .txt {
     font-size: 1.4rem;
     text-align: left;
     margin: 0 0 40px;
   }
   /****/
   .page_estimate .cont02 .form_ar {
     margin: 0 0 40px;
   }
   .page_estimate .cont02 .com {
     font-size: 1.8rem;
     font-weight: 700;
     margin: 0 0 20px;
   }
   /****/
   .page_estimate .cont02 .input_ar.col_3 {
     /* flexbox */
     display: block;
   }
   /****/
   .page_estimate .cont02 .detail {
     font-size: 1.4rem;
   }
   /****ラジオボタン****/
   .page_estimate .cont02 .detail label {
     cursor: pointer;
     display: block;
     margin: 0 0 5px;
   }
   .page_estimate .cont02 .detail .radio {
     transform: scale(1.5);
   }
   /****テキストボックス****/
   .page_estimate .cont02 .detail .txt_bx {
     height: 35px;
     font-size: 1.8rem;
     width: 150px;
     margin: 0 0 10px;
   }
   /****/
   .page_estimate .cont02 .unit {
     font-size: 1.4rem;
   }
   .page_estimate .cont02 .unit_l {
     font-size: 1.8rem;
     padding: 0 0em;
   }
   /****/
   .page_estimate .cont02 .total_amount {
     font-size: 2.4rem;
   }
   .page_estimate .cont02 .notice {
     font-size: 1.3rem;
   }
 }
 /********【cont03】********/
 .page_estimate .cont03 {}
 /***************************/
 /********【page_topics】********/
 /***************************/
 /********【common】********/
 .page_topics {
   padding: 100px 0 0;
 }
 /********【archive】********/
 .page_topics .archive {}
 .page_topics .archive .bx_ar {
   border-bottom: 3px solid #3D9D9B;
   padding: 0 0 20px;
   margin: 0 0 30px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .page_topics .archive .bx_img {
   width: 30%;
   position: relative;
 }
 .page_topics .archive .bx_img a {
   display: block;
   transition: .3s;
 }
 .page_topics .archive .bx_img a:hover {
   opacity: .7;
 }
 .page_topics .archive .bx_txt {
   width: 70%;
   padding: 0 0 0 5%;
 }
 /****/
 .page_topics .archive .date {
   width: 175px;
   height: 115px;
   background: url("images/topics/bg_img.png") no-repeat left top/175px 115px;
   position: absolute;
   z-index: 2;
   left: 0;
   top: 0;
 }
 .page_topics .archive .date span {
   font-size: 1.4rem;
   font-weight: 500;
   color: #fff;
   padding: 0px 30px 0 0;
   display: block;
   transform: rotate(-34deg);
   line-height: 1.2;
 }
 .page_topics .archive .img {
   text-align: center;
 }
 .page_topics .archive .img img {
   width: 360px;
   height: 250px;
   object-fit: cover;
   object-position: center center;
   font-family: 'object-fit: cover;'; /*IE対策*/
 }
 /****/
 .page_topics .archive .cate {
   margin: 0 0 20px;
 }
 .page_topics .archive .cate span {
   display: inline-block;
   padding: 3px 15px;
   font-size: 1.4rem;
   font-weight: 500;
   color: #fff;
   background: #3D9D9B;
 }
 .page_topics .archive .ttl {
   font-size: 1.8rem;
   font-weight: 700;
   margin: 0 0 10px;
   /****末尾を三点リーダー****/
   width: 100%;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
 }
 .page_topics .archive .txt {
   font-size: 1.5rem;
   font-weight: 500;
   margin: 0 0 30px;
   /****末尾を三点リーダー****/
   width: 100%;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
 }
 .page_topics .archive .bt a {
   display: block;
   text-align: right;
   color: #1B365C;
   font-size: 1.5rem;
   font-weight: 500;
   padding: 0 10px 0 0;
   transition: .3s;
 }
 .page_topics .archive .bt a:hover {
   padding: 0 0px 0 0;
 }
 @media only screen and (max-width: 800px) {
   .page_topics .archive .bx_ar {
     border-bottom: 2px solid #3D9D9B;
     padding: 0 0 10px;
     margin: 0 0 20px;
     align-items: flex-start;
   }
   .page_topics .archive .bx_txt {
     padding: 0 0 0 15px;
   }
   /****/
   .page_topics .archive .date {
     width: 90px;
     height: 80px;
     background: url("images/topics/bg_img.png") no-repeat right top/175px 115px;
     position: absolute;
     z-index: 2;
     left: 0;
     top: 0;
   }
   .page_topics .archive .date span {
     font-size: 1.0rem;
     padding: 0px 0px 0 0;
     margin: -3px 0 0;
   }
   .page_topics .archive .img img {
     width: 150px;
     height: 100px;
     object-fit: cover;
     object-position: center center;
     font-family: 'object-fit: cover;'; /*IE対策*/
   }
   /****/
   .page_topics .archive .cate {
     margin: 0 0 10px;
   }
   .page_topics .archive .cate span {
     padding: 0px 10px;
     font-size: 1.2rem;
   }
   .page_topics .archive .ttl {
     font-size: 1.4rem;
     margin: 0 0 5px;
   }
   .page_topics .archive .txt {
     font-size: 1.3rem;
     margin: 0 0 10px;
   }
   .page_topics .archive .bt a {
     font-size: 1.3rem;
   }
 }
 /********【single】********/
 .page_topics .single {
   max-width: 1000px;
   margin: auto;
 }
 .page_topics .single .bx_img {
   position: relative;
   max-width: 1000px;
   margin: 0 auto 50px;
   min-height: 50px;
 }
 .page_topics .single .bx_txt {
   max-width: 600px;
   margin: auto;
 }
 /****/
 .page_topics .single .date {
   width: 175px;
   height: 115px;
   background: url("images/topics/bg_img.png") no-repeat left top/175px 115px;
   position: absolute;
   z-index: 2;
   left: 0;
   top: 0;
 }
 .page_topics .single .date span {
   font-size: 1.4rem;
   font-weight: 500;
   color: #fff;
   padding: 0px 30px 0 0;
   display: block;
   transform: rotate(-34deg);
   line-height: 1.2;
 }
 .page_topics .single .img {
   text-align: center;
 }
 .page_topics .single .img img {
   width: 800px;
   height: 300px;
   object-fit: cover;
   object-position: center center;
   font-family: 'object-fit: cover;'; /*IE対策*/
 }
 /****/
 .page_topics .single .cate {
   margin: 0 0 20px;
 }
 .page_topics .single .cate span {
   display: inline-block;
   padding: 3px 15px;
   font-size: 1.4rem;
   font-weight: 500;
   color: #fff;
   background: #3D9D9B;
 }
 .page_topics .single .ttl {
   font-size: 1.8rem;
   font-weight: 700;
   margin: 0 0 10px;
 }
 .page_topics .single .txt {
   font-size: 1.5rem;
   font-weight: 500;
   margin: 0 0 50px;
 }
 /****/
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 .page_topics .single .txt {}
 @media only screen and (max-width: 800px) {
   .page_topics .single .bx_txt {
     padding: 0 0 0 15px;
   }
   /****/
   .page_topics .single .date {
     width: 90px;
     height: 80px;
     background: url("images/topics/bg_img.png") no-repeat right top/175px 115px;
     position: absolute;
     z-index: 2;
     left: 0;
     top: 0;
   }
   .page_topics .single .date span {
     font-size: 1.0rem;
     padding: 0px 0px 0 0;
     margin: -3px 0 0;
   }
   .page_topics .single .img img {
     width: 100%;
     height: 200px;
   }
   /****/
   .page_topics .single .cate {
     margin: 0 0 10px;
   }
   .page_topics .single .cate span {
     padding: 0px 10px;
     font-size: 1.2rem;
   }
   .page_topics .single .ttl {
     font-size: 1.4rem;
     margin: 0 0 5px;
   }
   .page_topics .single .txt {
     font-size: 1.3rem;
     margin: 0 0 10px;
   }
 }
 /***************************/
 /********【page_results】********/
 /***************************/
 /********【common】********/
 /****/
 .results_detail_ar {}
 .results_detail_ar .detail {
   margin: 0 0 5px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
 .results_detail_ar .com, .results_detail_ar .post {
   font-size: 1.5rem;
   font-weight: 700;
   padding: 5px 10px;
   text-align: center;
 }
 .results_detail_ar .com {
   width: 30%;
   background: #3D9D9B;
   color: #fff;
 }
 .results_detail_ar .post {
   width: 70%;
   background: #fff;
 }
 @media only screen and (max-width: 800px) {
   .results_detail_ar .com, .results_detail_ar .post {
     font-size: 1.3rem;
     padding: 5px 5px;
   }
 }
 /********【archive】********/
 .page_results .archive {}
 .page_results .archive .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .page_results .archive .bx {
   background: url("images/results/bg_results.png") no-repeat left top/300px 300px;
   width: 29.333%;
   margin: 0 2% 50px;
 }
 .page_results .archive .cate {
   padding: 10px 10px;
 }
 .page_results .archive .cate span {
   font-size: 1.6rem;
   font-weight: 700;
   color: #fff;
 }
 .page_results .archive .img {
   text-align: center;
   margin: 0 0 -50px;
 }
 .page_results .archive .img img {
   width: 315px;
   height: 315px;
   object-fit: cover;
   object-position: left top;
   font-family: 'object-fit: cover;'; /*IE対策*/
   border-radius: 50%;
 }
 .page_results .archive .img a {
   display: block;
   transition: .3s;
 }
 .page_results .archive .img a:hover {
   transform: scale(1.05);
 }
 .page_results .archive .ttl {
   font-family: "Nothing You Could Do", cursive;
   font-size: 2.6rem;
   letter-spacing: -0.05em;
   transform: rotate(-10deg);
   font-weight: 700;
   margin: 0 0 20px;
 }
 @media only screen and (max-width: 800px) {
   .page_results .archive .bx_ar {
     /* flexbox */
     display: block;
   }
   .page_results .archive .bx {
     background: url("images/results/bg_results.png") no-repeat left top/300px 40vw;
     width: 100%;
     margin: 0 0% 50px;
   }
   .page_results .archive .cate {
     padding: 10px 10px 5px;
   }
   .page_results .archive .cate span {
     font-size: 1.3rem;
   }
   .page_results .archive .img {
     text-align: center;
     margin: 0 0 -40px;
   }
   .page_results .archive .img img {
     width: 50vw;
     max-width: 300px;
     min-width: 150px;
     height: 50vw;
     max-height: 300px;
     min-height: 150px;
   }
   .page_results .archive .ttl {
     font-size: 2.4rem;
     margin: 0 0 30px;
   }
 }
 /***************************/
 /********【page_product_single】********/
 /***************************/
 /********【common】********/
 /********【single】********/
 .page_results .single {}
 .page_results .single .bx_ar {
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 /****/
 .page_results .single .bx_l {
   width: 60%;
 }
 .page_results .single .post_ar {
   margin: 50px 0 0;
 }
 .page_results .single .acf_ttl {
   font-size: 1.8rem;
   font-weight: 700;
   padding: 0 0 10px;
   margin: 0 0 20px;
   border-bottom: 4px dotted #3D9D9B;
 }
 .page_results .single .acf_txt {
   font-size: 1.6rem;
   margin: 0 0 30px;
 }
 /****/
 .page_results .single .free_area {
   margin: 30px 0 0;
   border: 1px solid #3D9D9B;
   padding: 30px 30px 20px;
   background: #fff;
 }
 /****common****/
 .page_results .single .free_area strong, .page_topics .single .txt strong {
   font-weight: 700;
 }
 .page_results .single .free_area em, .page_topics .single .txt em {
   font-style: italic;
 }
 .page_results .single .free_area ul li, .page_topics .single .txt ul li {
   list-style: disc;
   list-style-position: inside;
 }
 .page_results .single .free_area ol li, .page_topics .single .txt ol li {
   list-style: decimal;
   list-style-position: inside;
 }
 .page_results .single .free_area a, .page_topics .single .txt a {
   display: block;
   transition: .3s;
 }
 .page_results .single .free_area a:hover, .page_topics .single .txt a:hover {
   opacity: 0.7;
 }
 /****headline****/
 .page_results .single .free_area h3, .page_topics .single .txt h3 {
   font-size: 1.8rem;
   color: #fff;
   font-weight: 700;
   background: #3D9D9B;
   padding: 5px 15px;
   margin: 0 0 15px;
   border-radius: 5px;
 }
 .page_results .single .free_area h4, .page_topics .single .txt h4 {
   font-size: 1.8rem;
   font-weight: 700;
   padding: 0 0 0 25px;
   margin: 0 0 10px;
   position: relative;
 }
 .page_results .single .free_area h4:before, .page_topics .single .txt h4:before {
   position: absolute;
   content: "";
   background: #3D9D9B;
   width: 16px;
   height: 16px;
   margin: 10px 0 0 -25px;
 }
 .page_results .single .free_area h5, .page_topics .single .txt h5 {
   font-size: 1.6rem;
   font-weight: 700;
   margin: 0 0 10px;
   padding: 0 0 5px;
   border-bottom: 1px solid #3D9D9B;
 }
 .page_results .single .free_area p, .page_topics .single .txt p {
   margin: 0 0 30px;
 }
 /****/
 .page_results .single .bx_r {
   width: 40%;
   padding: 0 0 0 5%;
   position: sticky;
   top: 150px;
 }
 /****/
 .page_results .single .cate {
   font-size: 1.5rem;
   font-weight: 700;
   margin: 0 0 10px;
 }
 .page_results .single .post_ttl {
   font-size: 1.6rem;
   font-weight: 700;
   padding: 0 0 5px;
   margin: 0 0 20px;
   border-bottom: 3px solid #3D9D9B
 }
 .page_results .single .bt {
   margin: 0 0 40px;
   text-align: center;
 }
 .page_results .single .ttl_detail {
   font-size: 1.5rem;
   font-weight: 500;
   padding: 0 0 5px;
   margin: 0px 0 20px;
   border-bottom: 2px dotted #3D9D9B
 }
 @media only screen and (max-width: 800px) {
   .page_results .single .bx_ar {
     /* flexbox */
     display: block;
   }
   /****/
   .page_results .single .bx_l {
     width: 100%;
   }
   .page_results .single .post_ar {
     margin: 30px 0 0;
   }
   .page_results .single .acf_ttl {
     font-size: 1.5rem;
     padding: 0 0 5px;
     margin: 0 0 15px;
     border-bottom: 3px dotted #3D9D9B;
   }
   .page_results .single .acf_txt {
     font-size: 1.4rem;
   }
   /****/
   .page_results .single .free_area {
     padding: 30px 20px 10px;
   }
   .page_results .single .free_area h4, .page_topics .single .txt h4 {
     font-size: 1.6rem;
     padding: 0 0 0 20px;
   }
   .page_results .single .free_area h4:before, .page_topics .single .txt h4:before {
     width: 13px;
     height: 13px;
     margin: 8px 0 0 -20px;
   }
   .page_results .single .free_area h5, .page_topics .single .txt h5 {
     font-size: 1.4rem;
   }
   .page_results .single .free_area p, .page_topics .single .txt p {
     margin: 0 0 20px;
   }
   /****/
   .page_results .single .bx_r {
     width: 100%;
     padding: 0 0 0 0%;
	   position: static;
   }
   /****/
   .page_results .single .cate {
     font-size: 1.4rem;
   }
   .page_results .single .post_ttl {
     font-size: 1.5rem;
   }
   .page_results .single .bt {
     margin: 40px 0 0px;
   }
   .page_results .single .ttl_detail {
     font-size: 1.5rem;
     margin: 30px 0 10px;
   }
 }
 /********【slider】********/
 .work-main__btn {
   display: block;
   width: 100%;
   border: 0;
   padding: 0;
   background: none;
 }
 .work-main__img {
   	 display: block;
  transition: opacity .6s ease;
  max-width: 800px;
  max-height: 600px;
  object-fit: cover;
  object-position: center center;
  font-family: 'object-fit: cover;';
  width: 100%;
 }
 .work-main__img.is-fadeout {
   opacity: 0;
 }
 .work-thumbs {
   margin: 14px -2% 0;
   padding: 0;
   list-style: none;
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 /****/
 /* メイン：画像/動画の表示切替 */
 .work-main__video {
   display: none;
   width: 100%;
   height: auto;
 }
 .work-main__video.is-show {
   display: block;
 }
 .work-main__img.is-hide {
   display: none;
 }
 /* サムネのvideoがクリックを奪わないようにする（重要） */
 .work-thumbs .thumb video {
   pointer-events: none;
   width: 120px;
   height: 80px;
   object-fit: cover;
   display: block;
 }
 /****/
 .work-thumbs li {
   width: 16%;
   margin: 0 2%;
   text-align: center;
 }
 .work-thumbs li video {
   width: 100%;
   max-height: 80px;
 }
 /****/
 .work-thumbs .thumb {
   border: 0;
   padding: 0;
   background: none;
   cursor: pointer;
   overflow: hidden;
	 transition: .3s;
 }
 .work-thumbs .thumb img {
   width: 120px;
   height: 80px;
   object-fit: cover;
   display: block;
 }
 .work-thumbs .thumb.is-active,  .work-thumbs .thumb:hover {
   opacity: .6;
 }
 /****/
 .lightbox[hidden] {
   display: none;
 }
 .lightbox {
   position: fixed;
   inset: 0;
   z-index: 9999;
 }
 .lightbox__backdrop {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .75);
 }
 .lightbox__panel {
   position: relative;
   z-index: 1;
   max-width: min(1000px, 92vw);
   max-height: 90vh;
   margin: 5vh auto;
   display: flex;
   align-items: center;
   justify-content: center;
 }
 .lightbox__img {
   max-width: 100%;
   max-height: 90vh;
   display: block;
 }
 .lightbox__close {
   position: absolute;
   top: -14px;
   right: -14px;
   width: 40px;
   height: 40px;
   border-radius: 999px;
   border: 0;
   cursor: pointer;
   font-size: 26px;
   line-height: 1;
 }
 /* ふわっと拡大（開く/閉じるの状態） */
 .lightbox {
   opacity: 0;
   transition: opacity .22s ease;
 }
 .lightbox.is-open {
   opacity: 1;
 }
 .lightbox__panel {
   transform: translateY(10px) scale(.96);
   opacity: 0;
   transition: transform .5s ease, opacity .5s ease;
   will-change: transform, opacity;
 }
 .lightbox.is-open .lightbox__panel {
   transform: translateY(0) scale(1);
   opacity: 1;
 }
 @media only screen and (max-width: 800px) {
   .work-main__img {
     display: block;
     transition: opacity .6s ease;
     width: 100%;
     height: 300px;
     max-height: 400px;
   }
   .work-thumbs {
     /* flexbox */
     display: flex;
     justify-content: center;
     align-items: flex-start;
   }
   .work-thumbs li {
	   width: 23%;
    margin: 0 1%;
   }
   .work-thumbs .thumb img, .work-thumbs .thumb video  {
     width: 80px;
     height: 50px;
     object-fit: cover;
     display: block;
   }

	 
	 
	 
   .work-thumbs .thumb.is-active {
     opacity: .6;
   }
 }
 /***************************/
 /********【page_faq】********/
 /***************************/
 /********【common】********/
 .page_faq {}
 /********【cont01】********/
 .page_faq .cont01 {
   padding: 0 0 0px;
 }
 .page_faq .cont01 .bx_ar {
   margin: 0 0 50px;
 }
 @media only screen and (max-width: 800px) {
   .page_faq .cont01 {
     padding: 0 0 50px;
   }
   .page_faq .cont01 .bx_ar {
     margin: 0 0 30px;
   }
 }
 /***************************/
 /********【page_404】********/
 /***************************/
 .page_404 {
	 text-align: center;
	 padding: 80px 0 100px;
 }
 .page_404 .txt{
	 margin: 0 0 80px;
 }