 @charset "UTF-8";
 /*
* Theme Name: temp_aicoss
* Author: 
* Version:
* Description: 
*/
 html {
   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-size: 100%;
   font-style: normal;
   font-weight: 300;
   vertical-align: baseline;
   background: transparent;
   font-feature-settings: "palt";
 }
 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;
 }
 table {
   border-collapse: collapse;
   border-spacing: 0;
 }
 input, select {
   vertical-align: middle;
 }
 img {
   max-width: 100%;
   height: auto;
   border: none;
   vertical-align: middle;
 }
 body {
   font-family: "YakuHanCustom", "Noto Sans JP", sans-serif;
   font-style: normal;
   font-weight: 200;
   font-size: 15px;
   line-height: 1.8;
   color: #222222;
   letter-spacing: 0.05em;
 }
 * {
   -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;
 }
 @media (max-width: 540px) {
   .hidden-s {
     display: none !important;
   }
 }
 @media (min-width: 541px) {
   .hidden-l {
     display: none !important;
   }
 }
 @media (min-width: 1080px) {
   .hidden-1080 {
     display: none !important;
   }
 }
 @media (max-width: 1081px) {
   .hidden-1080 {
     display: block !important;
   }
 }
 @media (min-width: 1300px) {
   .hidden-1300 {
     display: none !important;
   }
 }
 @media (max-width: 1301px) {
   .hidden-1300 {
     display: block !important;
   }
 }
@media only screen and (max-height: 660px) {
.hidden-pickup-img {
	display: none;
}
}
 @media only screen and (max-width: 540px) {
   body {
     font-size: 14px;
   }
 }
 /************************************ a:link a:hoverの設定*/
 a:link, a:visited {
   color: #000;
   text-decoration: none;
 }
 a:hover, a:active {
   text-decoration: none !important;
 }
 /************************************ サイト幅の設定*/
 main {
   overflow: hidden;
 }
 .container {
   max-width: 500px;
 }
 @media only screen and (max-width: 540px) {
   .container {
     width: 100%;
   }
 }
 /************************************テーブルレスポンシブ */
 @media only screen and (max-width: 540px) {
   .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
   }
 }
 /************************************投稿本文内の表示崩れについて*/
 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: -50px !important;
   padding-top: 50px !important;
 }
 @media only screen and (max-width: 540px) {
   #link01, #link02, #link03, #link04, #link05, #link06, #link07, #link08, #link09, #link10 {
     margin-top: -120px !important;
     padding-top: 120px !important;
   }
 }
 /****/
 .heder_main_ar {
   max-width: 100vw;
   /* flexbox */
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
 }
 .heder_main_ar .area_l {
   /*width: calc(50% - 270px);
	width: 33.52855%;*/
   max-width: 33.333%;
   width: calc(50% - 250px);
   padding: 40px 0 0 60px;
   position: fixed;
   z-index: 1;
 }
 .heder_main_ar .area_c {
   /*width: 32.9429%;*/
   width: 500px;
   max-width: 33.333%;
   margin: 0 auto;
   position: fixed;
   z-index: 1;
 }
 .heder_main_ar .area_r {
   /*width: calc(50% - 270px);
	width: 33.52855%;*/
   width: calc(50% - 250px);
   position: fixed;
   z-index: 1;
   bottom: 20px;
   right: 60px;
   max-width: 319px;
 }
 @media only screen and (max-width: 1300px) {
   .heder_main_ar .area_r {
     width: auto;
     max-width: calc(43% - 250px);
     right: 4vw;
   }
 }
 /****/
 .heder_main_ar .logo {
   padding: 0 20px 0 0;
 }
 .heder_main_ar .nav_l {
   max-width: 275px;
   width: calc(50% - 350px);
   position: fixed;
   left: 60px;
   bottom: 20px;
 }
 .heder_main_ar .nav_l ul li {
   list-style: none;
   list-style-position: inside;
   background: rgba(43, 50, 60, 0.50);
   border-radius: 4px;
   backdrop-filter: blur(4px);
 }
 .heder_main_ar .nav_l ul li a {
   width: 100%;
   padding: 1em 2em;
   margin: 0 0 5px;
   position: relative;
   transition: .3s;
   border-radius: 4px;
   display: block;
   color: #fff;
   line-height: 1.4;
 }
 .heder_main_ar .nav_l ul li a:hover {
   opacity: .6;
   text-decoration: none;
 }
 .heder_main_ar .nav_l ul li a:after {
   position: absolute;
   content: "";
   background: url("../images/shared/arr_hor_wh.svg")no-repeat center center/cover;
   width: 9px;
   height: 16px;
   margin: 0 0 0 0px;
   right: 1em;
   top: 39%;
 }
 /****/
 .heder_main_ar .nav_r, .heder_main_ar .nav_r02 {
   flex-shrink: 0;
   border-radius: 4px;
   background: rgba(255, 255, 255, 0.65);
   backdrop-filter: blur(12px);
   padding: 10px 15px 1px;
 }
 /****/
 .heder_main_ar .ttl_r {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
   margin: 0 0 10px;
 }
 .heder_main_ar .ttl_r_eng {
   display: block;
 }
 .heder_main_ar .ttl_r_jp {
   display: block;
   padding: 10px 0 0 20px;
 }
 @media only screen and (max-width: 1300px) {
   .heder_main_ar .nav_l {
     width: auto;
     left: 4vw;
     min-width: calc(43% - 250px);
   }
 }
 @media only screen and (max-width: 1200px) {
   .heder_main_ar .ttl_r {
     margin: 0 0 10px;
   }
   .heder_main_ar .ttl_r_eng {
     line-height: 1.0;
   }
   .heder_main_ar .ttl_r_jp {
     padding: 0px 0 0 0px;
     display: block;
     width: 100%;
   }
 }
 /****/
 .heder_main_ar .ttl_r_eng {
   display: block;
   color: #212529;
   font-family: "Outfit", sans-serif;
   font-size: 38px;
   font-weight: 100;
   line-height: .9em;
 }
 .heder_main_ar .nav_r ul li {
   margin: 0 0 5px;
 }
 .heder_main_ar .nav_r ul li a {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
   position: relative;
   transition: .3s;
   line-height: 1.4;
 }
 .heder_main_ar .nav_r ul li a:after {
   position: absolute;
   content: "";
   background: url("../images/shared/arr_hor_bk.svg")no-repeat center center/cover;
   width: 9px;
   height: 16px;
   right: 0em;
   top: 42%;
 }
 .heder_main_ar .nav_r ul li a:hover {
   opacity: .6;
   text-decoration: none;
 }
 .heder_main_ar .nav_r ul li a .nav_r_img {
   max-width: 100px;
   margin: 5px 0;
   text-align: center;
 }
 .heder_main_ar .nav_r ul li a span {
   padding: 0 0 0 1em;
 }
 @media only screen and (max-width: 1200px) {
   .heder_main_ar .nav_r ul li a span {
     padding: 0 0 0 .5em;
     display: block;
     width: 56%;
   }
   .heder_main_ar .nav_r ul li a .nav_r_img {
     margin: 5px auto;
     max-width: 44%;
   }
   .heder_main_ar .nav_r ul li a:after {
     right: -10px;
     top: 35%;
   }
 }
 @media only screen and (max-width: 1080px) {
   /****/
   .heder_main_ar {
     display: block;
   }
   .heder_main_ar .area_l {
     display: none
   }
   .heder_main_ar .area_c {
     width: 100%;
     max-width: inherit;
   }
   .heder_main_ar .area_r {
     display: none
   }
   .heder_main_ar .ttl_r_eng {
     line-height: 1.0;
   }
 }
 /****************/
 /****/
 .heder_main_ar .nav_r02 {
   margin: 0 0 15px;
   padding: 10px 15px 3px;
 }
 /****/
 .heder_main_ar .ttl_r02 {
   margin: 0 0 15px;
 }
 .heder_main_ar .nav_r02 a {
   transition: .3s;
   display: block;
 }
 .heder_main_ar .nav_r02 a:hover {
   opacity: .6;
 }
 .heder_main_ar .ttl_r_eng02 {
   display: block;
 }
 .heder_main_ar .ttl_r_jp02 {
   display: block;
   padding: 0px 0 0 0px;
 }
 /****/
 .heder_main_ar .nav_r02 ul {
   margin: 0 -1% 5px;
   /* flexbox */
   display: flex;
   justify-content: flex-start;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 .heder_main_ar .nav_r02 ul li {
   width: 31.333%;
   margin: 0 1% 5px;
 }
 /****/
 .heder_main_ar .nav_r02 .bt {
   text-align: right;
   display: block;
   position: relative;
   padding: 10px 1em 10px 0;
 }
 .heder_main_ar .nav_r02 .bt:after {
   position: absolute;
   content: "";
   background: url("../images/shared/arr_hor_bk.svg")no-repeat center center/cover;
   width: 8px;
   height: 15px;
   right: 0em;
   top: 31%;
 }
 /****/
 /***************************/
 /********【フッター】********/
 /***************************/
 #foot_ar {
   max-width: 500px;
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   background: #E7EAEF;
   box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.07);
   margin: 0px auto 0px;
   padding: 40px 45px 0px;
 }
 #foot_ar .logo {
   margin: 0 0 60px;
 }
 /****/
 #foot_ar .nav_foot {
   border-bottom: solid 1px #ccc;
   padding: 0 0 30px;
   margin: 0 0 20px;
 }
 #foot_ar .nav_foot ul li {
   margin: 0 0 12px;
   color: #6D81A2;
 }
 #foot_ar .nav_foot ul li a {
   display: block;
   transition: .3s;
 }
 #foot_ar .nav_foot ul li a:hover {
   opacity: .6;
   text-decoration: none;
 }
 #foot_ar .nav_foot ul li ul {
   margin: 15px 0 30px;
 }
 #foot_ar .nav_foot ul li ul li a {
   position: relative;
   padding: 0 0 0 1em;
 }
 #foot_ar .nav_foot ul li ul li a:before {
   position: absolute;
   content: "";
   background: #888;
   width: 5px;
   height: 1px;
   left: 0px;
   top: 51%;
 }
 /****/
 #foot_ar .add {
   padding: 0 0 0 2.7em;
 }
 #foot_ar .copy {
   height: 65px;
   border-radius: 0 0 0px 0px;
   opacity: 0.8;
   background: #FFF;
   margin: 20px -45px 0px;
   padding: 20px 20px;
   text-align: center;
 }
 @media only screen and (max-width: 540px) {
   #foot_ar {
     max-width: inherit;
     width: 100%;
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
     box-shadow: 0 0 0px 0px rgba(0, 0, 0, 0);
     margin: 0px auto 0px;
     padding: 60px 30px 0px;
   }
   #foot_ar .logo {
     margin: 0 0 60px;
   }
   /****/
   #foot_ar .nav_foot {
     font-size: 13px;
     padding: 0 0 20px;
   }
   #foot_ar .nav_foot ul li {
     margin: 0 0 10px;
   }
   #foot_ar .nav_foot ul li ul {
     margin: 10px 0 20px;
   }
   /****/
   #foot_ar .copy {
     height: inherit;
     border-radius: 0 0 0px 0px;
     margin: 30px -30px 50px;
     padding: 20px 10px;
   }
 }
 /********【sp fix footer】********/
 .sp_foot_btn {
   width: 100%;
   position: fixed;
   /*z-index: 889;*/
   z-index: 1060;
   bottom: 0;
   left: 0;
   /*transition:プロパティ/時間/開始タイミング/変化度合;調整箇所*/
   /*transition: transform 0.5s 0s ease-out;
   transform: translateY(100%);*/
 }
 /*
 .sp_foot_btn.show {
   transform: translateY(0%);
 }
 .sp_foot_btn.hide {
   transform: translateY(100%);
 }
 .is-drawer-open .sp_foot_btn {
   transform: translateY(0%) !important;
 }
*/
 /****/
 .sp_foot_btn ul {
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: center;
 }
 .sp_foot_btn ul li {
   display: block;
   text-align: center;
   font-size: 13px;
   font-weight: 500;
   letter-spacing: -0.05em;
   position: relative;
   background: #FFF;
   box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
 }
 .sp_foot_btn ul li a {
   display: block;
   padding: 1em 0.5em;
 }
 .sp_foot_btn ul li.link_l {
   width: 25%;
   border-radius: 0 5px 0 0;
 }
 .sp_foot_btn ul li.link_c {
   width: 25%;
   border-radius: 5px 5px 0 0;
   margin: 0 5px;
 }
 .sp_foot_btn ul li.link_r {
   width: 50%;
   border-radius: 5px 0 0 0;
 }
 /********【reCAPTCHAマーク非表示】********/
 .grecaptcha-badge {
   display: none;
 }
 /***************************/
 /********【common】********/
 /***************************/
 main.top_bg01 {
   width: 100vw;
   /*background: url("../images/bg_main_01.webp") no-repeat center center/cover;*/
   background-attachment: fixed;
   position: sticky; /*背景画像を固定*/
   index: -2;
   padding: 60px 0 0px;
 }
 .contents_ar01 {
   max-width: 500px;
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   background: #fff;
   box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.07);
   margin: 0px auto 0;
 }
 /****/
 .contents_ar02 {
   max-width: 500px;
   border-radius: 0px 0px 40px 40px / 0px 0px 40px 40px;
   background: #E7EAEF;
   box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.07);
   margin: 0px auto;
 }
 .contents_ar03 {
   max-width: 500px;
   border-radius: 0px 0px 40px 40px / 0px 0px 40px 40px;
   background: #FFFFFF;
   box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.07);
   margin: 0px auto;
 }
 /****/
 .contents_ar05 {
   max-width: 500px;
   background: #404040;
   box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.07);
   margin: 0px auto;
 }
 /* 背景画像 */
 main.top_bg03 {
   /*--bg-img: url("../images/bg_main_03.webp");*/
 }
 main.top_bg02 {
   /*--bg-img: url("../images/bg_main_02.webp");*/
 }
 main.top_bg_technology {
   /*--bg-img: url("../images/technology/bg_technology_01.webp");*/
 }
 /* 本体レイアウト用 */
 main.top_bg02, main.top_bg03, main.top_bg_technology {
   width: 100vw;
   position: relative;
   z-index: 0;
   padding: 0 0 0px;
   border-radius: 0 0 0 0 / 0 0 0 0;
 }
 /* 画面固定の背景 */
 main.top_bg02::before, main.top_bg03::before, main.top_bg_technology::before {
   content: "";
   position: fixed;
   inset: 0;
   background: var(--bg-img) no-repeat center center / cover;
   opacity: var(--fade, 0); /* JSで 0→1 */
   pointer-events: none;
   z-index: -1;
   /*will-change: opacity, clip-path;*/
   /* セクションの可視域だけを表示＝sticky風 */
   clip-path: inset(var(--clipTop, 0px) 0 var(--clipBottom, 0px) 0);
 }
 /* 視覚効果オフユーザー */
 @media (prefers-reduced-motion: reduce) {
   main.top_bg02::before, main.top_bg03::before, main.top_bg_technology::before {
     opacity: 1 !important;
   }
 }
 @media only screen and (max-width: 540px) {
   main.top_bg01, main.top_bg02, main.top_bg03 {
     background: none;
     padding: 0px 0 0;
   }
   .contents_ar01, .contents_ar02, .contents_ar05, .contents_ar03 {
     max-width: inherit;
     width: 100%;
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
     box-shadow: 0 0 0px 0px rgba(0, 0, 0, 0);
     padding: 0 0 5px;
   }
 }
 /* 画面全面の固定レイヤー（軽量・安定） */
 .np-bg {
   position: fixed;
   inset: 0;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
   opacity: 0;
   pointer-events: none;
   z-index: 0; /* ← コンテンツより下、疑似要素(::before)より上 */
   /*will-change: opacity;*/
 }
 /* 3枚の背景（01/03/02） */
 .np-bg01 {
   background-image: url("../images/bg_main_01.webp");
   opacity: 1;
 } /* 初期=表示 */
 .np-bg03 {
   background-image: url("../images/bg_main_03.webp");
 }
 .np-bg02 {
   background-image: url("../images/bg_main_02.webp");
 }
 .np-bg04 {
   background-image: url("../images/technology/bg_technology_01.webp");
 }
 /* ページの実コンテンツは前面へ（必要ならラッパーに付与） */
 body > header, body > main, body > footer {
   position: relative;
   z-index: 1;
 }
 /********【animation】********/
 .eachTextAnime span {
   opacity: 0;
   font-weight: bold;
 }
 .eachTextAnime.appeartext span {
   animation: text_anime_on .3s ease-out forwards;
 }
 @keyframes text_anime_on {
   0% {
     opacity: 0;
   }
   100% {
     opacity: 1;
   }
 }
 /*transition: transition-propertyの値 transition-durationの値 transition-delayの値 transition-timing-functionの値;*/
 /*clip-path: inset(上 右 下 左);*/
 /****visible_amination****/
 .visible_amination_txt, .visible_amination_alpha {
   /*will-change: transform, opacity;*/
   backface-visibility: hidden;
   -webkit-font-smoothing: antialiased;
 }
 /**** 画像 ****/
 .visible_amination_img {
   opacity: 0;
   transition: opacity .6s ease-out;
 }
 .visible_amination_img.isActive {
   opacity: 1;
 }
 /* 左上フェード&ブラー */
 /*
   .visible_amination_img {
     display: inline-block;
     position: relative;
     overflow: hidden;
     backface-visibility: hidden;
     transform: translateZ(0) ease-out;
     opacity: 0;
     filter: blur(16px);
     clip-path: polygon(0 0, 1% 0, 0 1%, 0 1%);
     --dur: 2.6s; 
     --ease: cubic-bezier(.2, .8, .2, 1);
     --delay: 0ms;
     transition:
       opacity var(--dur) var(--ease) var(--delay), filter var(--dur) var(--ease) var(--delay);
   }
   .visible_amination_img.isActive {
     opacity: 1;
     filter: blur(0);
     animation: diag-clip var(--dur) var(--ease) var(--delay) forwards;
   }
   .visible_amination_img > img {
     display: block;
     width: 100%;
     height: auto;
   }
   @keyframes diag-clip {
     0% {
       clip-path: polygon(0 0, 1% 0, 0 1%, 0 1%); 
     }
     100% {
       clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); 
     }
   }
   @media (prefers-reduced-motion: reduce) {
     .visible_amination_img {
       transition: opacity .6s ease;
       filter: none;
       clip-path: none;
     }
     .visible_amination_img.isActive {
       opacity: 1;
       animation: none;
     }
   }
*/
 /**** テキスト ****/
 .visible_amination_txt {
   opacity: 0;
   transition: transform 1s .1s ease-out, opacity 1s .1s ease-out;
 }
 .visible_amination_txt.isActive {
   opacity: 1;
 }
 /**** アルファ ****/
 .visible_amination_alpha {
   opacity: 0;
   transition: opacity .5s ease-out;
 }
 .visible_amination_alpha.isActive {
   opacity: 1;
 }
 /**** キャッチコピー ****/
 .visible_amination_catch {
   opacity: 0;
   transition: transform .3s .3s ease-out, opacity .3s .6s ease-out;
 }
 .visible_amination_catch.isActive {
   clip-path: inset(0 0 0 0);
   opacity: 1;
 }
 /**** タイトル ****/
 .visible_amination_title {
   clip-path: inset(0% 100% 0% 0);
   /*clip-path: inset(上 右 下 左);*/
   transition: .6s ease-out;
 }
 .visible_amination_title.isActive {
   transition: clip-path 2.5s /*cubic-bezier(0.175, 0, 0.175, 1) 1.75s*/ ;
   clip-path: inset(0 0 0 0);
   transition-delay: 200ms;
 }
 /***************************/
 /********【index】********/
 /***************************/
 /********01********/
 #cont01_ar {
   width: 100%;
   background: url("../images/top_main_01.webp") no-repeat center top/cover;
   clear: both;
   min-height: 700px;
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   position: relative;
 }
 #cont01_ar .logo {
   padding: 70px 0 0 20px;
 }
 #cont01_ar .ttl_ar {
   position: absolute;
   bottom: 50px;
   left: 40px;
 }
 #cont01_ar .ttl_eng:before {
   position: absolute;
   content: "";
   background: #fff;
   width: 100px;
   height: 1px;
   left: 0px;
   top: 60%;
 }
 @media only screen and (max-width: 540px) {
   #cont01_ar {
     min-height: 540px;
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   }
   #cont01_ar .ttl_ar {
     position: absolute;
     bottom: 40px;
     left: 20px;
   }
   #cont01_ar .ttl_eng:before {
     width: 70px;
   }
 }
 /********02********/
 #cont02_ar {
   clear: both;
   padding: 60px 70px 45px;
   background: #E7EAEF;
 }
 #cont02_ar .txt {
   margin: 0 0 15px;
 }
 @media only screen and (max-width: 540px) {
   #cont02_ar {
     clear: both;
     padding: 40px 40px 40px;
   }
 }
 /********03********/
 #cont03_ar {
   background: #fff;
   clear: both;
   padding: 50px 35px 20px;
   margin: 0 0 -25px;
 }
 #cont03_ar .ttl_ar {
   margin: 0px 0px 60px;
 }
 /****/
 #cont03_ar .nav_ar {
   margin: 0 0 40px;
 }
 #cont03_ar .nav_ar ul {
   margin: 0 -2%;
   /* 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 .nav_ar ul li {
   width: 46%;
   margin: 0 2% 25px;
 }
 #cont03_ar .nav_ar ul li a {
   display: block;
   position: relative;
   padding: 0 0 5px;
   border-bottom: solid 1px #888;
   transition: .3s;
 }
 #cont03_ar .nav_ar ul li a:hover {
   opacity: .6;
   text-decoration: none;
 }
 #cont03_ar .nav_ar ul li a:after {
   position: absolute;
   content: "";
   background: url("../images/shared/arr_ver_bk.svg") no-repeat center center/cover;
   width: 15px;
   height: 8px;
   margin: 0 0 0 -px;
   right: 0px;
   top: 40%;
 }
 /****/
 #cont03_ar .bx_ar {
   margin: 0 0 60px;
 }
 #cont03_ar .bx_ar a {
   display: block;
 }
 #cont03_ar .bx_ar a:hover {
   text-decoration: none;
 }
 #cont03_ar .img {
   text-align: center;
   margin: 0 0 20px;
 }
 #cont03_ar .ttl {
   margin: 0 0 20px;
 }
 #cont03_ar .txt {
   margin: 0 0 30px;
 }
 #cont03_ar .bt {
   text-align: right;
 }
 @media only screen and (max-width: 540px) {
   #cont03_ar {
     padding: 30px 30px 0px;
   }
   #cont03_ar .ttl_ar {
     margin: 0px 0px 40px;
   }
   /****/
   #cont03_ar .nav_ar {
     margin: 0 0 30px;
   }
   #cont03_ar .nav_ar ul {
     margin: 0 -3%;
   }
   #cont03_ar .nav_ar ul li {
     width: 44%;
     margin: 0 3% 25px;
   }
   #cont03_ar .nav_ar ul li a:after {
     width: 12px;
     height: 5px;
   }
   /****/
   #cont03_ar .bx_ar {
     margin: 0 0 60px;
   }
   #cont03_ar .img {
     margin: 0 0 15px;
   }
   #cont03_ar .ttl {
     margin: 0 0 10px;
   }
   #cont03_ar .txt {
     margin: 0 0 20px;
   }
 }
 /********04********/
 .cont04_ar {
   clear: both;
   padding: 50px 40px;
 }
 .cont04_ar a {
   display: block;
 }
 .cont04_ar a:hover {
   text-decoration: none;
 }
 .cont04_ar.bg_gl {
   background: #E7EAEF;
 }
 .cont04_ar.bg_wh {
   background: #ffffff;
 }
 .cont04_ar.bg_bk {
   background: #404040;
   color: #ffffff;
 }
 .cont04_ar .ttl_jp {
   margin: 0 0 40px;
 }
 .cont04_ar .img {
   text-align: center;
   margin: 0 0 20px;
 }
 .cont04_ar .txt {
   margin: 0 0 30px;
 }
 .cont04_ar .bt {
   text-align: right;
 }
 .cont04_ar.bg_bk a {
   display: block;
   color: #fff;
 }
 .cont04_ar.bg_bk a:hover {
   text-decoration: none;
 }
 @media only screen and (max-width: 540px) {
   .cont04_ar {
     clear: both;
     padding: 40px 30px;
   }
   .cont04_ar .ttl_jp {
     margin: 0 0 40px;
   }
   .cont04_ar .img {
     margin: 0 0 10px;
   }
   .cont04_ar .txt {
     margin: 0 0 20px;
   }
 }
 /********05********/
 .cont05_ar {
   clear: both;
   padding: 50px 40px 60px;
   color: #fff;
 }
 .cont05_ar .ttl_jp {
   margin: 0 0 40px;
 }
 .cont05_ar .txt {
   margin: 0 0 20px;
 }
 .cont05_ar .bt {
   margin: 40px 0 0;
   text-align: center;
 }
 /****/
 /****タブ****/
 .tabs {
   margin: 0 auto 40px;
 }
 /* ラジオ非表示 */
 .tabs input[name="tab_item"] {
   display: none;
 }
 /* 背景 */
 .tab_bx {
   border: 1px solid #CCC;
   padding: 5px 5px;
   border-radius: 4px;
   position: relative;
   margin: 0 0 30px;
   /* flexbox */
   display: flex;
   justify-content: center;
   align-items: center;
   align-content: start; /*複数行にした時の揃え*/
   flex-direction: row; /*子要素の並ぶ向き*/
   flex-wrap: wrap; /*子要素の折り返し*/
 }
 /* 外側＝枠色の三角（アウトライン用）*/
 .tab_bx::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -19px; /* はみ出し量（高さと合わせる） */
   width: 0;
   height: 0;
   border-left: 12px solid transparent;
   border-right: 12px solid transparent;
   border-top: 19px solid #ccc; /* 枠と同じ色 */
 }
 /* 内側＝背景色の三角（少し小さく重ねて枠を見せる）*/
 .tab_bx::before {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -17px; /* ::after より 1px 上に */
   width: 0;
   height: 0;
   z-index: 1;
   border-left: 10px solid transparent;
   border-right: 10px solid transparent;
   border-top: 18px solid #404040; /* .tab_bx の背景色 */
 }
 /* タブラベル */
 .tab_item {
   color: var(--mid_GRAY, #888);
   font-family: Outfit;
   font-size: 34px;
   font-style: normal;
   font-weight: 200;
   line-height: 110%;
   padding: 2px 10px;
   margin: 2px 2px;
   width: 132px;
   height: 40px;
   text-align: center;
   display: block;
   cursor: pointer;
   border-radius: 4px;
   transition: all 0.2s ease-out;
 }
 .tab_item:hover {
   background-color: #fff;
   color: var(--base_BLACK, #222);
   border-radius: 4px;
 }
 /* チェック中タブの見た目（input → .tab_bx の順） */
 #planA:checked ~ .tab_bx label[for="planA"], #planB:checked ~ .tab_bx label[for="planB"], #planC:checked ~ .tab_bx label[for="planC"], #planD:checked ~ .tab_bx label[for="planD"], #planE:checked ~ .tab_bx label[for="planE"], #planF:checked ~ .tab_bx label[for="planF"] {
   background: #fff;
   color: var(--base_BLACK, #222);
   box-shadow: 0 0 0 1px #ddd inset;
 }
 /* コンテンツ */
 .tab_content {
   max-width: 461px;
   display: none;
   clear: both;
   overflow: hidden;
   transition: all .2s ease-out;
 }
 .tab_content .img {
   margin: 0 0 10px;
   position: relative;
 }
 .tab_content img {
   transition: .3s;
 }
 .tab_content .ico {
   position: absolute;
   z-index: 2;
   right: 7px;
   bottom: 7px;
 }
 /* 表示切替（input と content は兄弟なので ~ が効く） */
 #planA:checked ~ #planA_content, #planB:checked ~ #planB_content, #planC:checked ~ #planC_content, #planD:checked ~ #planD_content, #planE:checked ~ #planE_content, #planF:checked ~ #planF_content {
   display: block;
 }
 /* 画像の切り替え（タブ内のコンテンツ用） */
 .tab_content figure {
   opacity: 0;
   transform: translateY(-20px);
   animation: tabItemFade .5s ease-out both;
 }
 .tab_content figure img:hover {
   opacity: 0.6;
 }
 /* ギャラリーの2枚目 時間差 */
 .plan-gallery > a:nth-of-type(2) > figure.img {
   animation-delay: .3s;
 }
 @keyframes tabItemFade {
   from {
     opacity: 0;
     transform: translateY(-30px);
   }
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }
 @media only screen and (max-width: 540px) {
   .cont05_ar {
     padding: 40px 30px 40px;
   }
   .cont05_ar .ttl_jp {
     margin: 0 0 30px;
   }
   .cont05_ar .bt {
     margin: 30px 0 0;
   }
   /****タブ****/
   .tabs {
     margin: 0 auto 40px;
   }
   /* ラジオ非表示 */
   .tabs input[name="tab_item"] {
     display: none;
   }
   /* タブラベル */
   .tab_item {
     font-size: 24px;
     margin: 2px 0.5%;
     width: 32.333%;
     height: 30px;
   }
   .tab_content .ico {
     width: 25px;
   }
 }
 /* ===== モーダル ===== */ :root {
   --backdrop-ms: 200ms; /* 背景フェード時間 */
   --image-ms: 200ms; /* 画像/サムネ/ボタンのフェード時間 */
   --image-delay: 200ms; /* 開くとき：背景→画像の遅延 */
 }
 @media (prefers-reduced-motion: reduce) {
   :root {
     --backdrop-ms: 1ms;
     --image-ms: 1ms;
     --image-delay: 0ms;
   }
 }
 .modal {
   position: fixed;
   inset: 0;
   z-index: 9999;
   display: none;
   align-items: center;
   justify-content: center;
 }
 .modal.is-open {
   display: flex;
 }
 .modal__backdrop {
   position: absolute;
   inset: 0;
   background: #000;
   opacity: 0;
   transition: opacity var(--backdrop-ms) ease-out;
 }
 .modal.is-open:not(.is-closing) .modal__backdrop {
   opacity: .8;
 }
 .modal.is-open.is-closing .modal__backdrop {
   opacity: 0;
 }
 .modal__stage {
   position: relative;
   z-index: 1;
   pointer-events: none;
   max-width: min(92vw, 1200px);
   width: 92vw;
 }
 .modal__figure {
   position: relative;
   margin: 0 auto;
   pointer-events: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   max-width: 760px;
   width: min(760px, 92vw);
 }
 .modal__img {
   display: block;
   max-width: 100%;
   height: auto;
   opacity: 0;
   transition: opacity var(--image-ms) ease-out;
 }
 .modal.is-image-in .modal__img {
   opacity: 1;
 }
 .modal__imgClone {
   position: absolute;
   inset: 0;
   margin: auto;
   max-width: 100%;
   height: auto;
   opacity: 1;
   transition: opacity var(--image-ms) ease-out;
   pointer-events: none;
 }
 /* サムネ＆閉じるボタン画像同タイミングフェード */
 .modal__thumbs, .modal__close {
   opacity: 0;
   transition: opacity var(--image-ms) ease-out;
 }
 .modal.is-image-in .modal__thumbs, .modal.is-image-in .modal__close {
   opacity: 1;
 }
 /* ===== 閉じるボタン（外側右上20px配置） ===== */
 .modal__close {
   position: fixed;
   z-index: 3;
   width: 83px;
   height: 31px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: transparent;
   border: 0;
   padding: 0;
   line-height: 0;
   cursor: pointer;
   pointer-events: auto !important;
   transform: translateX(-100px);
 }
 .modal__close img, .modal__close svg {
   width: 83px;
   height: 31px;
   display: block;
   pointer-events: none;
 }
 .modal__close:hover {
   cursor: pointer;
 }
 .modal__thumbs {
   position: fixed;
   z-index: 2;
   left: 50%;
   top: 0;
   transform: translateX(-50%);
   display: flex;
   gap: 8px;
   padding: 0;
   margin: 0;
   pointer-events: auto;
   max-width: min(92vw, 760px);
 }
 .modal__thumb {
   position: relative;
   width: 96px;
   height: 64px;
   flex: 0 0 auto;
   overflow: hidden;
   border-radius: 2px;
   background: transparent;
   padding: 0;
   cursor: pointer;
   border: 1px solid rgba(0, 0, 0, 0.9);
 }
 .modal__thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: .3s;
 }
 .modal__thumb img:hover {
   opacity: .6;
 }
 /* 表示中暗く */
 .modal__thumb.is-active::after {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .5);
   border: 1px solid rgba(255, 255, 255, .5);
 }
 /* スマホ微調整 */
 @media (max-width:480px) {
   .modal__thumb {
     width: 84px;
     height: 56px;
   }
 }
 /* クリックで閉じる（画像外） */
 .modal__clickguard {
   position: absolute;
   inset: 0;
   z-index: 0;
 }
 .modal__img, .modal__thumbs, .modal__close {
   /*will-change: opacity;*/
 }
 @media only screen and (max-width: 540px) {
   .modal__stage {
     max-width: inherit;
     width: 100vw;
   }
   .modal__figure {
     width: 100vw;
   }
   .modal__close {
     transform: translateX(0px);
   }
 }
 /***************************/
 /********【common】********/
 /***************************/
 /********【button】********/
 /****/
 .css_bt_st, .css_bt_st_wh {
   display: inline-block;
   padding: 10px 0em 10px 110px;
   vertical-align: middle;
   transition: .3s;
   position: relative;
 }
 .css_bt_st:before, .css_bt_st_wh:before {
   position: absolute;
   content: "";
   width: 100px;
   height: 1px;
   left: 0px;
   top: 50%;
   transition: .3s;
 }
 .css_bt_st:before {
   background: #222;
 }
 .css_bt_st_wh:before {
   background: #fff;
 }
 .css_bt_st:hover, .css_bt_st_wh:hover {
   text-decoration: none;
   opacity: .6;
 }
 .css_bt_st_wh {
   color: #fff;
 }
 @media only screen and (max-width: 540px) {
   .css_bt_st, .css_bt_st_wh {
     padding: 10px 0em 10px 80px;
   }
   .css_bt_st:before, .css_bt_st_wh:before {
     width: 70px;
   }
 }
 /****/
 .css_bt_st_solid a {
   display: inline-block;
   padding: 12px 1em;
   text-align: center;
   vertical-align: middle;
   width: 300px;
   transition: .3s;
   position: relative;
   border-radius: 4px;
   border: 1px solid #444;
   background: #FFF;
 }
 .css_bt_st_solid a:after {
   position: absolute;
   content: "";
   background: url("../images/shared/arr_hor_bk.svg") no-repeat center center;
   width: 8px;
   height: 16px;
   right: 20px;
   top: 52%;
   transform: translate(0%, -50%);
 }
 .css_bt_st_solid a:hover {
   opacity: .6;
   text-decoration: none;
 }
 @media only screen and (max-width: 540px) {
   .css_bt_st_solid a {
     padding: 10px 1em;
   }
 }
 /****/
 .css_bt_st_solid.wh a {
   border: 1px solid #fff;
   background: none;
   color: #fff;
   padding: 17px 3em;
   width: 350px;
   margin: auto;
 }
 .css_bt_st_solid.wh a {
   border: 1px solid #fff;
   background: none;
 }
 .css_bt_st_solid.wh a:after {
   background: url("../images/shared/arr_hor_wh.svg") no-repeat center center;
 }
 @media only screen and (max-width: 540px) {
   .css_bt_st_solid.wh a {
     padding: 15px 2.5em 15px 2em;
     width: 320px;
   }
 }
 /********【table】********/
 .common_tbl3col {
   width: 100%;
   border: none;
   border-bottom: solid 2px #666;
   margin: 0 0 30px;
 }
 .common_tbl3col thead th {
   border-bottom: solid 2px #666;
   padding: 0 0 10px;
   text-align: center;
 }
 .common_tbl3col tbody th, .common_tbl3col tbody td {
   padding: 12px 10px;
   border-bottom: dashed 1px #666;
   vertical-align: middle;
   letter-spacing: 0;
 }
 .common_tbl3col tbody th {
   text-align: left;
   position: relative;
 }
 .common_tbl3col tbody th:after {
   position: absolute;
   content: "";
   background: #666;
   width: 1px;
   height: 70%;
   right: 0px;
   top: 15%;
 }
 .common_tbl3col span.fo_blue {
   display: block;
   padding: 5px 15px;
 }
 @media only screen and (max-width: 540px) {
   .common_tbl3col {
     margin: 0 0 20px;
   }
   .common_tbl3col tbody th, .common_tbl3col tbody td {
     padding: 10px 10px;
   }
   .common_tbl3col tbody th {
     padding: 10px 10px 10px 0;
   }
   .common_tbl3col span.blue {
     padding: 3px 10px;
   }
 }
 /****SP時横スクロール****/
 /*@media only screen and (max-width: 540px) {
.tbl_scroll {
	overflow: auto;
	white-space: nowrap;
    -webkit-text-size-adjust: 100%;
}
.tbl_scroll::-webkit-scrollbar {
	 height: 5px;
}
.tbl_scroll::-webkit-scrollbar-track {
 	background: #F1F1F1;
}
.tbl_scroll::-webkit-scrollbar-thumb {
	 background: #BCBCBC;
}
}*/
 /********【sigle contents】********/
 strong {
   font-weight: bold;
 }
 .topics_sec section ul {
   padding-left: 1.5em;
 }
 .topics_sec section ul li {
   list-style: outside disc;
 }
 .topics_sec section ol {
   padding-left: 1.5em;
 }
 .topics_sec section em {
   font-style: italic; /*斜体*/
 }
 .aligncenter {
   margin: 0 auto !important;
   text-align: center !important;
   display: block;
 }
 .postdata p, .postdata ul, .postdata ol {
   margin-bottom: 20px;
 }
 .postdata ul li {
   list-style: disc;
 }
 .postdata ol li {
   list-style: decimal;
 }
 .postdata strong {
   font-weight: bold;
 }
 .postdata em {
   font-style: italic;
 }
 .postdata a {
   text-decoration: underline;
 }
 .postdata a:hover {
   text-decoration: none;
 }
 /********【headline】********/
 .h2_ar {
   width: 100%;
   height: 520px;
   color: #FFF;
   padding: 30px 30px;
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
 }
 .h2_ar h2 {
   padding: 0 0 0 5px;
 }
 .h2_ar.life-style01 {
   background: url("../images/life-style/life-style01/h2_life-style01.webp") no-repeat center center/cover;
 }
 .h2_ar.life-style02 {
   background: url("../images/life-style/life-style02/h2_life-style02.webp") no-repeat center center/cover;
 }
 .h2_ar.life-style03 {
   background: url("../images/life-style/life-style03/h2_life-style03.webp") no-repeat center center/cover;
 }
 .h2_ar.life-style04 {
   background: url("../images/life-style/life-style04/h2_life-style04.webp") no-repeat center center/cover;
 }
 .h2_ar.h2_technology {
   background: url("../images/technology/h2_technology.webp") no-repeat center center/cover;
 }
 .h2_ar.h2_about {
   background: url("../images/about/h2_about.webp") no-repeat center center/cover;
 }
 .h2_ar.h2_partner {
   background: url("../images/partner/h2_partner.webp") no-repeat center center/cover;
 }
 .h2_ar.h2_contact {
   color: #222;
   height: inherit;
   padding: 30px 30px 0;
 }
 @media only screen and (max-width: 540px) {
   .h2_ar {
     height: 398px;
     padding: 20px 25px;
     margin: 0px 0 0;
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   }
 }
 /**************************/
 /********下層ページ用********/
 /**************************/
 /***************************/
 /********【page_plan】********/
 /***************************/
 /********【common】********/
 .contents_ar01.under_page_plan {
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
 }
 /********【cont01】********/
 .page_plan .cont01 {
   padding: 60px 75px 20px;
 }
 .page_plan .cont01 .ttl {
   margin: 0 0 40px;
 }
 .page_plan .cont01 .txt {
   margin: 0 0 30px;
 }
 @media only screen and (max-width: 540px) {
   .page_plan .cont01 {
     padding: 50px 50px 20px;
   }
   .page_plan .cont01 .ttl {
     margin: 0 0 30px;
   }
   .page_plan .cont01 .txt {
     margin: 0 0 25px;
   }
 }
 /********【cont02】********/
 .page_plan .cont02 {
   padding: 0 0 50px;
 }
 .page_plan .cont02 .img {
   text-align: right;
   margin: 0 0 50px;
 }
 .page_plan .cont02 .txt {
   padding: 0 30px 0 110px;
 }
 @media only screen and (max-width: 540px) {
   .page_plan .cont02 .img {
     margin: 0 0 50px 30px;
   }
   .page_plan .cont02 .txt {
     padding: 0 30px 0 80px;
   }
 }
 /********【cont03】********/
 .page_plan .cont03 {
   padding: 0 40px 50px;
 }
 .page_plan .cont03 .img {
   margin: 0 0 50px;
 }
 .page_plan .cont03 .txt {
   padding: 0 0px 0 30px;
   text-align: right;
   font-feature-settings: "palt";
 }
 @media only screen and (max-width: 540px) {
   .page_plan .cont03 {
     padding: 0 15px 50px;
   }
   .page_plan .cont03 .img {
     margin: 0 65px 50px 25px;
   }
   .page_plan .cont03 .txt {
     padding: 0 0px 0 15px;
     font-feature-settings: "palt";
   }
 }
 /********【cont04】********/
 .page_plan .cont04 {
   padding: 0 40px 50px;
 }
 .page_plan .cont04 .img {
   text-align: right;
   margin: 0 0 50px;
 }
 .page_plan .cont04 .txt_l {
   padding: 0 0px 40px;
 }
 .page_plan .cont04 .txt_r {
   padding: 0 0px 40px 30px;
   text-align: right;
   font-feature-settings: "palt";
 }
 .page_plan .cont04 .txt_l2 {
   padding: 0 0px 0px 40px;
 }
 @media only screen and (max-width: 540px) {
   .page_plan .cont04 {
     padding: 0 30px 50px;
   }
   .page_plan .cont04 .img {
     margin: 0 0 50px 30px;
   }
   .page_plan .cont04 .txt_l2 {
     padding: 0 0px 0px 0px;
   }
 }
 /********【cont05】********/
 .page_plan .cont05 {
   padding: 0 40px 120px;
 }
 .page_plan .cont05 .img {
   text-align: center;
   margin: 0 0 50px;
 }
 .page_plan .cont05 .txt {
   padding: 0 35px;
   line-height: 2.5;
 }
 @media only screen and (max-width: 540px) {
   .page_plan .cont05 {
     padding: 0 30px 100px;
   }
   .page_plan .cont05 .txt {
     padding: 0 15px;
   }
 }
 /***************************/
 /********【page_technology】********/
 /***************************/
 /********【common】********/
 .contents_ar01.under_page_technology {
   margin: 0 auto -25px;
   background: #fff;
 }
 .contents_ar02.technology {
   background: #fff;
   box-shadow: 0 20px 20px 7px rgba(0, 0, 0, 0.07);
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   margin: 0 auto -25px;
 }
 .under_page_technology main.top_bg01 {
   padding: 0px 0 0px;
 }
 /********【cont01】********/
 .page_technology .cont01 {
   padding: 50px 75px 100px;
 }
 @media only screen and (max-width: 540px) {
   .page_technology .cont01 {
     padding: 50px 50px 20px;
   }
   .page_technology .cont01 .txt {
     margin: 0 0 25px;
   }
 }
 /********【cont02】********/
 .page_technology .cont02 {
   padding: 0 0 80px;
 }
 .page_technology .cont02 .txt_ar {
   padding: 40px 40px;
   margin: 0 40px;
   border-radius: 2px;
   background: #E7EAEF;
 }
 .page_technology .cont02 .ttl {
   margin: 0 0 30px;
 }
 .page_technology .cont02 .img {
   text-align: center;
   margin: 0 0 30px;
 }
 @media only screen and (max-width: 540px) {
   .page_technology .cont02 .txt_ar {
     padding: 30px 30px;
   }
   .page_technology .cont02 .img {
     margin: 0 auto 30px;
     width: 220px;
   }
 }
 /********【cont03】********/
 .page_technology .cont03 {
   padding: 0 40px 20px;
 }
 .page_technology .cont03 .txt_ar {
   margin: 0 0 60px;
 }
 .page_technology .cont03 .ttl_l {
   margin: 0 0 40px;
 }
 .page_technology .cont03 .ttl_s {
   margin: 0 0 20px;
 }
 .page_technology .cont03 .img {
   margin: 0 0 30px;
 }
 .page_technology .cont03 .txt2 {
   margin: 0 0 40px;
 }
 .page_technology .cont03 .txt3 {
   margin: 0 0 20px;
 }
 .page_technology .cont03 .txt4 {
   margin: 0 0 20px;
 }
 .page_technology .cont03 .txt4.list {
   margin: 0 0 20px;
 }
 @media only screen and (max-width: 540px) {
   .page_technology .cont03 {
     padding: 0 30px 50px;
   }
   .page_technology .cont03 .ttl_l {
     margin: 0 0 30px;
   }
   .page_technology .cont03 .ttl_s {
     margin: 0 0 15px;
   }
   .page_technology .cont03 .img {
     margin: 0 0px 25px;
   }
 }
 /***************************/
 /********【page_about】********/
 /***************************/
 /********【common】********/
 .contents_ar01.under_page_about {
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
 }
 /****/
 @media only screen and (max-width: 540px) {
   .contents_ar01.under_page_about {
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   }
 }
 /********【cont01】********/
 .page_about .cont01 {
   padding: 60px 30px 100px;
 }
 .page_about .cont01 .txt {
   padding: 0 35px;
   margin: 0 0 50px;
   font-weight: 300;
 }
 .page_about .cont01 .common_tbl3col {
   border-top: solid 2px #666;
   margin: 0 0 60px;
 }
 .page_about .cont01 .bt {
   text-align: center;
 }
 /***************************/
 /********【page_partner】********/
 /***************************/
 /********【common】********/
 .contents_ar01.under_page_partner {
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
 }
 /****/
 @media only screen and (max-width: 540px) {
   .contents_ar01.under_page_partner {
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   }
 }
 /********【cont01】********/
 .page_partner .cont01 {
   padding: 60px 30px 100px;
 }
 .page_partner .cont01 .ttl {
   margin: 0 0 50px;
 }
 .page_partner .cont01 .logo {
   margin: 0 0 50px;
   text-align: center;
 }
 .page_partner .cont01 .common_tbl3col {
   border-top: solid 2px #666;
   margin: 0 0 60px;
 }
 .page_partner .cont01 .common_tbl3col tbody td {
   padding: 15px 5px;
 }
 @media only screen and (max-width: 540px) {
   .page_partner .cont01 .ttl {
     margin: 0 0 30px;
   }
   .page_partner .cont01 .logo {
     margin: 0 0 30px;
   }
   .page_partner .cont01 .common_tbl3col {
     margin: 0 0 0px;
   }
   .page_partner .cont01 .common_tbl3col tbody td {
     padding: 10px 5px;
   }
 }
 /***************************/
 /********【page_contact】********/
 /***************************/
 /********【common】********/
 .contents_ar01.under_page_contact {
   border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
 }
 @media only screen and (max-width: 540px) {
   .contents_ar01.under_page_contact {
     border-radius: 0px 0px 0px 0px / 0px 0px 0px 0px;
   }
 }
 /********【cont01】********/
 .page_contact .cont01 {
   padding: 60px 30px 0px;
 }
 .page_contact .cont01 .txt_ar {
   border-bottom: solid 2px #666;
   padding: 0 0 15px;
   margin: 0 0 20px;
 }
 .page_contact .cont01 .txt {
   padding: 0 35px;
   margin: 0 0 50px;
 }
 @media only screen and (max-width: 540px) {
   .page_contact .cont01 .txt {
     padding: 0 20px;
     margin: 0 0 50px;
   }
 }
 /****complete****/
 .page_contact .cont01 .ttl_complete {
   padding: 0 35px;
   margin: 0 0 50px;
   text-align: center;
 }
 .page_contact .cont01 .txt_complete {
   margin: 0 0 30px;
   font-weight: 300;
 }
 .page_contact .cont01 .notice_complete {
   margin: 0 0 80px;
 }
 .page_contact .cont01 .bt_complete {
   text-align: center;
   margin: 0 0 80px;
 }
 @media only screen and (max-width: 540px) {
   .page_contact .cont01 .ttl_complete {
     padding: 0 0px;
   }
 }
 /********【cont02】********/
 .page_contact .cont02 {
   padding: 0px 40px 100px;
 }
 @media only screen and (max-width: 540px) {
   .page_contact .cont02 {
     padding: 0px 30px 60px;
   }
 }