@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*==========================================================================*/
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*==========================================================================*/
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd { font-size: 240%; -webkit-text-size-adjust: none; font-weight:500;}
*,::before,::after{box-sizing:border-box;outline: none;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;color: var(--txt);}
a[href^="tel:"] {word-break: keep-all;}
ol li{list-style: decimal;}

/*==========================================================================*/
/*                             Common-Setting                               */
/*==========================================================================*/
:root {
  --txt: #000;
  --mcolor: #001e50;
  --scolor: #00b0f0;
  --container: 1060px;

  --gray: #e9e9e9;
  --blue: #001e50;
  --red: red;
  --f-main: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  --f-VWText: 'VWTextWeb',"Noto Sans JP", sans-serif;
  --f-VWHead: 'VWHeadWeb',"Noto Sans JP", sans-serif ;
  --f-gothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}

html{background:#fff;font-size: 62.5%;}
body{-webkit-text-size-adjust:none;min-width:320px;color:var(--txt);font-family: var(--f-main);}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.4;}
p,dd,dt,li,th,td,address{line-height: 1.57;letter-spacing: -.04rem;}
p{margin: 0 0 1.7em;}
p:last-child{margin-bottom: 0}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.link{text-decoration: underline;color: var(--mcolor);}

.mb0{margin-bottom: 0 !important;}
.mb10{margin-bottom:1rem}
.mb15{margin-bottom:1.5rem}
.mb20{margin-bottom:2rem}
.mb30{margin-bottom:3rem}
.fw2{font-weight: 400;}
.fw3{font-weight: 300;}
.fw5{font-weight: 500;}
.fw6{font-weight: 600;}
.fw9{font-weight: 900;}
.leter0{letter-spacing: 0;}
.uline{text-decoration: underline;text-underline-offset: 3px;}


.f_nts{font-family:"Noto Sans JP", sans-serif;}
.f_vwt{font-family: var(--f-VWText);}
.ttl,h1,h2,h3,h4,h5,h6{font-weight: bold;}
:lang(ja) {font-family:var(--f-main)}
:lang(en) {font-family: var(--f-VWHead);}

.fw300{font-weight: 300;}
.fw400{font-weight: 400;}
.fw500{font-weight: 500;}
.fw800{font-weight: 800;}
.desc{font-size: clamp(1.5rem, 1.6vw + 0.6rem, 2.4rem);font-weight: 400;letter-spacing: -0.15rem;}
.f8 { font-size: clamp(0.8rem, 0.8vw + 0.3rem,0.8rem); }
.f9 { font-size: clamp(0.9rem, 0.8vw + 0.3rem,0.9rem); }
.f10 { font-size: clamp(1rem, 0.9vw + 0.3rem, 1rem); }
.f12 { font-size: clamp(1.2rem, 0.9vw + 0.3rem, 1.2rem); }
.f13 { font-size: clamp(1.2rem, 0.95vw + 0.35rem, 1.3rem); }
.f14 { font-size: clamp(1.2rem, 1vw + 0.4rem, 1.4rem); }
.f15 { font-size: clamp(1.3rem, 1vw + 0.5rem, 1.5rem); }
.f16 { font-size: clamp(1.4rem, 1vw + 0.5rem, 1.6rem); }
.f18 { font-size: clamp(1.5rem, 1.2vw + 0.5rem, 1.8rem); }
.f20 { font-size: clamp(1.8rem, 1.3vw + 0.5rem, 2rem); }
.f22 { font-size: clamp(1.8rem, 1.4vw + 0.6rem, 2.2rem); }
.f23 { font-size: clamp(1.9rem, 1.5vw + 0.65rem, 2.3rem); }
.f25 { font-size: clamp(2rem, 1.6vw + 0.7rem, 2.5rem); }
.f27 { font-size: clamp(2rem, 1.65vw + 0.7rem, 2.7rem); }
.f28 { font-size: clamp(2rem, 1.65vw + 0.8rem, 2.8rem); }
.f30 { font-size: clamp(2rem, 1.7vw + 0.9rem, 3rem); }
.f31 { font-size: clamp(2.1rem, 1.8vw + 1rem, 3.1rem); }
.f33 { font-size: clamp(2.1rem, 1.9vw + 1rem, 3.3rem); }
.f35 { font-size: clamp(2.2rem, 2vw + 1.2rem, 3.5rem); }
.f36 { font-size: clamp(2.2rem, 2vw + 1.2rem, 3.6rem); }
.f37 { font-size: clamp(2.2rem, 2.1vw + 1.3rem, 3.7rem); }
.f38 { font-size: clamp(2.2rem, 2.1vw + 1.3rem, 3.8rem); }
.f39 { font-size: clamp(2.3rem, 2.1vw + 1.3rem, 3.9rem); }
.f40 { font-size: clamp(2.4rem, 2.2vw + 1.3rem, 4rem); }
.f41 { font-size: clamp(2.4rem, 2.3vw + 1.4rem, 4.1rem); }
.f42 { font-size: clamp(2.4rem, 2.3vw + 1.4rem, 4.2rem); }
.f46 { font-size: clamp(2.5rem, 2.4vw + 1.6rem, 4.6rem); }
.f47 { font-size: clamp(2.6rem, 2.5vw + 1.7rem, 4.7rem); }
.f49 { font-size: clamp(2.6rem, 2.5vw + 1.8rem, 4.9rem); }
.f50 { font-size: clamp(2.6rem, 2.5vw + 1.8rem, 5rem); }
.f57 { font-size: clamp(2.7rem, 2.5vw + 2rem, 5.7rem); }
.f60 { font-size: clamp(3rem, 2.5vw + 2rem, 6rem); }
.f65 { font-size: clamp(3.1rem, 2.6vw + 2.2rem, 6.5rem); }
.f70 { font-size: clamp(3.2rem, 2.6vw + 2.5rem, 7rem); }
.f75 { font-size: clamp(3.2rem, 2.6vw + 2.8rem, 7.5rem); }
.f78 { font-size: clamp(3.4rem, 3vw + 2.9rem, 7.8rem); }
.sys_l{display: inline-block;margin-left: -1.2rem;}
.sup {}


#wrapper{overflow:hidden;margin:0 auto}
.inner{width: var(--container);margin:0 auto;position:relative;max-width: 100%;padding: 0 2rem;}

/*============= HEADER ==============*/
header{position: relative; z-index:9;}
.h_box{width:100%;position: absolute;top: 6.2rem;left: 0;}
#logo{width: fit-content;margin-left: auto;position: relative;}
#logo::before,#logo::after{content: '';position: absolute;height: 0.5rem;width: 100vw;background-color: var(--mcolor);top: calc(50% - 0.3rem);}

/*============= MAIN ==============*/
main{position: relative;z-index: 2;}

.btn a{width:68.7rem;height: 10.5rem;background: var(--mcolor);font-size:4.2rem;color: #FFF;text-align: center;display: flex;justify-content: center;align-items: center;font-weight: bold;max-width: 100%;border-radius: 99.9rem;letter-spacing: -.15rem;}
.btn.center a{margin-left: auto;margin-right: auto;}


/* Main Visual */
.mv{position: relative;min-height: 100vh;}
.mv .inner{height: 100%;}
.mv_caption{position: absolute;z-index: 1;bottom: 3.3rem;left: 7.1%;color: #FFF;}
.mv_caption_tt{font-weight: bold;margin-bottom: 0.4rem;font-size: 1.8rem;letter-spacing: 0;}
.mv_caption_sub{line-height: 1.2;font-size: 1.5rem;font-weight:300;letter-spacing: -.06rem;}

.sec01_box2{position: relative;z-index: 2;}
.sec01_tt1{line-height: 1.4;letter-spacing: 0.1rem;}
.sec01_tt1 [lang="en"]{letter-spacing:-.1rem;margin-right: 0.3rem;}
.sec01_tt2{line-height: 1.15;letter-spacing: 0.15rem;}
.sec01_tt3{letter-spacing: 0;margin-bottom: 2.3rem;}
.sec01_tt4 .sys_l{display: inline-block;margin-left: -2.2rem;}
.sec01_tt5{letter-spacing: -.15rem;margin-bottom: 1.4rem;}
.sec01_tt5 [lang="en"]{letter-spacing: 0.15rem;}
.sec01_tt6 .box{letter-spacing: 0.1rem;}
.sec01_box2 .des .f18{display: block;}
.sec01 .des{letter-spacing: -0.1rem;}

.sec02{background-color: var(--mcolor);padding: 4.1rem 0 5.8rem;}
.sec02 *{color: #FFF;}
.sec02_tt1{width: fit-content;border-bottom: 0.1rem solid #FFF;margin-bottom: 4.2rem;letter-spacing: -.15rem;}
.sec02_tt1 [lang="en"]{letter-spacing: 0.15rem;}
.sec02_tt2{letter-spacing: 0.05rem;margin-bottom: 1.3rem;}
.sec02_tt4{letter-spacing: 0.04rem;line-height: 1.2;margin-bottom: 3.3rem;}
.sec02_tt4 [lang="en"]{margin-left: 4rem;letter-spacing: 0.3rem;}
.sec02_boxtt{margin-bottom: 1rem;}
.sec02_table{margin-bottom: 3rem;}
.sec02_table dl{display: flex;}
.sec02_table dl dt{flex-shrink: 0;margin-right: 0.3rem;}
.sec02_table dl dd{letter-spacing:-.1rem;}
.sec02_table dl dd [lang="en"]{letter-spacing:-.03rem;}

.list01{margin-bottom: 0.5rem;}
.list01 li{position: relative;padding-left: 2rem;font-size: 1.2rem;font-weight: 500;}
.list01 li:not(:last-child){margin-bottom: 0.2rem;}
.list01 li::before{content: '';position: absolute;width: 1.1rem;background-color: #aaaaaa;height: 0.1rem;top: 1.1rem;left: 0.2rem;}
.list01 li [lang="en"]{letter-spacing: 0;font-weight: bold;font-size: 1.4rem;}

.list02 li{position: relative;padding-left: 2rem;font-size: 1.2rem;font-weight: 500;text-indent: -1em;padding-left: 1em;}
.list02 li:not(:last-child){margin-bottom: 0.2rem;}

.sec03_list dl:not(:last-child){margin-bottom: 4.5rem;}
.sec03_list dl dt p [lang="en"]{letter-spacing: 0.08rem;}
.sec03_list dl dt .sys_l{display: inline-block;margin-left: -1rem;}
.sec03_list dl dt .sys_r{display: inline-block;margin-right: -1rem;}
.sec03_list dl dd .box_l{position: relative;height: 100%;}
.sec03_list dl dd .box_l .caption{position: absolute;z-index: 2;bottom: 1rem;left: 2.5rem;color: #FFF;line-height: 1.2;letter-spacing: -.02rem;}
.sec03_list dl dd .subtt{margin-bottom: 0.4rem;}
.sec03_note{letter-spacing: 0;line-height: 1.4;}

.sec04_list{margin-bottom: 2.4rem;}
.sec04_list dl dd .tt{margin-bottom: 1.2rem;font-weight: bold;line-height: 1.3;}
.sec04_list dl dd .des .f12{line-height: 1.3;display: block;letter-spacing: 0;margin-top: 0.5rem;}
.sec04_list dl:not(:last-child){margin-bottom: 1.2rem;}

.sec05_tt{margin-bottom: 1.7rem;}
.sec05_list dl dt{margin-bottom: 1.6rem;}
.sec05_list dl dd .tt{margin-bottom: 1rem;font-weight: bold;line-height: 1.3;letter-spacing: -.15rem;}
.sec05_list dl dd .des{line-height: 1.72;}
.sec05_bnr{display: flex;justify-content: space-between;margin-bottom: 1.8rem;}
.sec05_box2 .des{line-height: 1.7;letter-spacing: -.08rem;margin-bottom: 7rem;}
.sec05_box2 .des .f18{line-height: 1.4;display: block;margin-top: 0.7rem;}

/*============= FOOTER ==============*/
footer{position: relative;z-index: 3;}
address{background-color: #000;padding: 9px;color:#bbbbbb;text-align:center;font-size: 1.3rem;font-weight: 300;font-family: var(--f-VWHead);padding-left: 19.5%;letter-spacing: -.04rem;}
.ft_tt1{margin-bottom: 1.6rem;line-height: 1.4;font-family: var(--f-VWText);letter-spacing: 0.02rem;}
.ft_tt2{margin-bottom: 0.3rem;}
.ft_links li :lang(en){letter-spacing: 0;}
.ft_links li a{text-decoration: underline;text-underline-offset: 3px;}
.ft_time{letter-spacing: -0.02rem;}

.to_top{position:fixed;z-index:9;width:7rem;height:7rem;bottom:2rem;right:2rem;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}

@media screen and (min-width: 751px) {
  .sp{display:none !important}
  .find_a,.find_out{cursor: pointer;}
  .nowrap_pc{white-space: nowrap;}
  .alignleft{float:left;margin-right:2rem;margin-bottom:2rem;max-width:30rem}
  .alignright{float:right;margin-left:2rem;margin-bottom:2rem;max-width:30rem}
  .image_r{float:right;margin:0 0 0 5rem}
  .image_l{float:left;margin:0 5rem 0 0}


  .h_box .inner{width: 124.7rem;}
  #logo::before{right: calc(100% + 4rem);}
  #logo::after{left: calc(100% + 4rem);}
  .mv{height: 109.2rem;background: url('../images/mv_bg.jpg') no-repeat center /cover;}
  .mb80{margin-bottom: 8rem;}
  .sec01{padding: 6rem 0 7rem;}
  .sec04_list{padding-right: 5%;}
  .sec01_box1{margin-bottom: 7.2rem;}
  .sec01_img{position: absolute;bottom: 0.7rem;right: -13.6rem;z-index: -1;margin-bottom: 0;}
  .sec01_tt4{letter-spacing: 0.15rem;}
  .sec02_tt3{line-height: 1.15;margin-top: 5.3rem;}
  .sec02_table dl dt,.sec02_table dl dd{line-height: 1.35;font-size: 2.2rem;}
  .sec02_table dl dt{font-size: 2.2rem;}
  .sec03{padding: 7.6rem 0 5.9rem;}
  .sec03_btn{margin-bottom: 5.8rem;}
  .sec03_list{margin-bottom: 4rem;}
  .sec03_list dl dd{display: flex;gap: 2rem;}
  .sec03_list dl dd .box_l .caption [lang="en"]{letter-spacing: 0.04rem;}
  .sec03_list dl dd .box_l{flex-shrink: 0;width: 64%;max-width: 64.6rem;}
  .sec03_list dl dd .tt{margin-bottom: 2.7rem;line-height: 1.1;}
  .sec03_list dl dd .tt [lang="en"]{letter-spacing: 0.05rem;}
  .sec03_list dl dt{margin-bottom: 2.5rem;}
  .sec03_list dl dt p{letter-spacing: -.1rem;}
  .sec04_list dl{display: flex;gap: 3rem;}
  .sec04_list dl dt{flex-shrink: 0;width: 49.7rem;}
  .sec04_list dl dd .des{line-height: 1.74;letter-spacing: -.08rem;}
  .sec04{margin-bottom: 5.9rem;}
  .sec04_note{margin-bottom: 7rem;}
  .sec04_tt{margin-bottom: 3.3rem;}
  .sec05_tt2{margin-bottom: 1.7rem;letter-spacing: -.14rem;}
  .sec05_list{display: grid;grid-template-columns: repeat(3,1fr);gap: 1.8rem;margin-bottom: 5.9rem;}
  .sec05{margin-bottom: 2.2rem;}
  .ft_links{display: grid;grid-template-columns: 22% 24.4% 22.1% 26%;margin-bottom: 2.5rem;gap: 1.2rem 1rem;}
  .ft_box{padding: 5rem 0 8.9rem;}
  .sec01_box2{width: fit-content;}
  /* DEV TABLET */

  /* HOVER */
  .to_top img:hover,.find_a:hover,.pagenavi a:hover{opacity:.8}
  .ft_links li a:hover{text-decoration: none;}
  .btn a:hover{background-color: var(--scolor);}
}
@media screen and (min-width: 751px) and (max-width:1800px){
   .mv{height: 100vh;}
}
@media screen and (min-width: 751px) and (max-width:1400px){
  h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd{font-size: 190%;}

  #logo img{width: 10rem;}
  .h_box{top: 6rem;}
  .sec01_img{bottom: 0;right: -14rem;}
  .to_top{width: 5rem;}
  .sec02_table dl dt, .sec02_table dl dd{font-size: 1.8rem;}
  .sec03_list dl dd .box_l{width: 57%;}
  .sec04_list dl dt{width: 45%;}
  .btn a{font-size: 3rem;width: 60rem;height: 8rem;}
  .sec05_bnr{gap: 1rem;}
  .ft_links li a{font-size: 2rem;}
  #logo{margin-right: 60px;}
}
@media screen and (min-width: 751px) and (max-width:1024px){
  html{font-size: 55%;}
}

@media screen and (max-width: 750px) {
    h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd{font-size: 160%;}
    img{max-width:100%; height: auto;}
    .pc{display:none!important}
    #wrapper,header,main,footer,.inner{width:100%!important;min-width:unset!important}
    .image_r,.image_l{display:inline-block;width:100%;text-align:center;margin:0 auto 3rem !important}
    .btn a{font-size: 1.9rem;height: 5.5rem;}
    h1 .en,h2 .en,h3 .en,h4 .en,h5 .en,h6 .en,.ttl .en{display: inline-block;margin: 0 0.5rem;}
    /*==========================================================================*/
    /*                                 TOP PAGE                                 */
    /*==========================================================================*/
    .sys_l{margin-left: -0.8rem;}
    .h_box{height:6rem;top: 3rem;right: 2rem;}
    #logo img{width:8rem;}
    #logo::before, #logo::after{height: 0.3rem;}
    #logo::before{right: calc(100% + 1rem);}
    #logo::after{left: calc(100% + 1rem);}
    .btn a{width: 30rem;}
    /*============= MAIN ==============*/
    .mv{height: 100%;width: 100%;padding-top: 117.8%;min-height: initial;background: url('../images/mv_sp.jpg') no-repeat center /cover;box-sizing: border-box;}
    .mv_caption{bottom: 1.5rem;width: calc(100% - 3rem);}
    .sec01{padding: 4rem 0;}
    .sec01_img{text-align: center;width: 100px;margin: 0 auto 20px;}
    .sec01_tt2{letter-spacing: 0;}
    .sec01_tt3{font-size: 2rem;}
    .sec01_box1{margin-bottom: 4rem;}
    .sec01_tt4 .sys_l{margin-left: -1rem;}
    .sec02{padding: 4rem 0;}
    .sec02_tt3{font-size: 1.8rem;letter-spacing: -.03rem;}
    .sec03{padding:4rem 0;}
    .sec03_btn{margin-bottom: 3rem;}
    .sec03_list{max-width: 600px;margin: 0 auto 3rem;}
    .sec03_list dl dd .box_l{width: fit-content;margin: 0 auto 15px;}
    .sec03_list dl dd .box_l .caption{left: 1.0rem; right: 1.0rem;}
    .sec03_list dl dd .tt{margin-bottom: 2rem;}
    .sec03_list dl dt{margin-bottom: 1.5rem;}
    .sec04{margin-bottom: 40px;}
    .sec04_tt{margin-bottom: 20px;}
    .sec04_list dl:not(:last-child){margin-bottom:30px;}
    .sec04_list dl dt{margin-bottom: 20px;text-align: center;}
    .sec04_list dl dd .des .f12{line-height: 1.6;}
    .sec04_note{margin-bottom: 4rem;}
    .sec05_list dl:not(:last-child){margin-bottom: 2rem;}
    .sec05_list dl dt{text-align: center;}
    .sec05_list dl dd .tt{letter-spacing: 0;}
    .sec05_bnr{gap:1rem}
    .sec05_box2 .des{margin-bottom:3rem;}
    .sec05_tt2{margin-bottom: 15px;margin-top: 30px;font-size: 1.7rem;letter-spacing: -0.05rem;}
    .ft_links{display: flex;flex-wrap: wrap;gap: 0.5rem 4rem;margin-bottom: 20px;}
    .ft_box{padding: 4rem 0 4rem;}
    /* DEV SP */

    address{font-size: 1.2rem;}
    /*============= FOOTER ==============*/
    .to_top{width:5rem;height:5rem;right:1rem;bottom: 4rem;}

}

@media screen and (max-width: 374px) {
    html{font-size: 50%;}
    .ft_links li a{font-size: 1.8rem;}
    .f12{font-size: 1.2rem;}
    .f13{font-size: 1.3rem;}
    .f14{font-size: 1.4rem;}
    .f15{font-size: 1.5rem;}
    .f16{font-size: 1.6rem;}
    .f17{font-size: 1.6rem;}
    .f18{font-size: 1.7rem;}
}