@charset "UTF-8";
/*-------------------------
__top_style
-------------------------*/
.comm_text{font-size:1.6em;line-height:2;letter-spacing:0.04em;text-align:left;}
.comm_text + .comm_text{margin-top:1em;}
@media only screen and (max-width: 767px) {
  .comm_text{font-size:1.4em;line-height:1.8;}
}

/*-------------------------
__fv_box
-------------------------*/
#content .fv_box{background:url("/images/main_img.webp")no-repeat center;background-size:cover;height:calc(100vh - 73px);position:relative;width:calc(100% - 50px);margin-top:73px;min-height:500px;}
#content .fv_box::before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background-image:linear-gradient(28deg, rgba(172, 172, 172, 1), rgba(233, 233, 233, 1));mix-blend-mode:multiply;}
#content .fv_box .title_box{text-align:left;position:absolute;left:50px;bottom:70px;color:#FFF;}
#content .fv_box .title_box .title01{font-size:6.2em;font-size:4.1vw;line-height:1.25;font-weight:900;letter-spacing:0.02em;text-shadow:0px 0px 5px rgba(0,0,0,0.25);}
#content .fv_box .title_box .title02{font-size:1.8em;font-size:1.2vw;font-weight:700;letter-spacing:0.13em;padding-top:1em;text-shadow:0px 0px 5px rgba(0,0,0,0.25);}
/* スクロールダウンの位置 */
a.scroll {position:absolute;right:-40px;bottom:20px;writing-mode:vertical-rl;text-align:left;vertical-align:middle;color:#000;text-decoration:none;height:150px;width:30px;box-sizing:border-box;padding-right:8px;}
/* 線のアニメーション部分 */
a.scroll::before {animation:scroll 2s infinite;background-color:#000;bottom:0;content:"";height:80px;left:0;margin:auto;position:absolute;right:0;width:1px;}
.scroll span{font-size:13px;}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media only screen and (max-width: 1200px) {
  #content .fv_box{height:calc(100vh - 57px);margin-top:57px;}
}
@media only screen and (max-width: 1020px) {
  #content .fv_box{height:calc(100svh - 50px);margin-top:50px;width:100%;}
  #content .fv_box .title_box{left:20px;bottom:70px;color:#FFF;}
  #content .fv_box .title_box .title01{font-size:6vw;}
  #content .fv_box .title_box .title02{font-size:1.4em;line-height:1.5;padding-top:1em;}
  /* スクロールダウンの位置 */
  a.scroll {right:10px;color:#fff;}
  /* 線のアニメーション部分 */
  a.scroll::before{background-color:#fff;}
}
@media only screen and (max-width: 767px) {
  #content .fv_box{height:calc(100svh - 65px);margin-top:65px;min-height:300px;}
  #content .fv_box .title_box .title01{font-size:7vw;line-height:1.25;font-weight:900;letter-spacing:0.02em;text-shadow:0px 0px 5px rgba(0,0,0,0.25);}
}

/*-------------------------
__sec01
-------------------------*/
#content #sec01{margin:-42px 0 150px calc((100% - 1040px) / 2);display:flex;align-items:center;text-align:left;box-sizing:border-box;padding:0 20px;width:100%;overflow:hidden;}
#content #sec01::after{content:"";display:block;width:57%;aspect-ratio:1.4984 / 1;background:url("/images/img01@2x.jpg")no-repeat center/contain;margin-left:-8%;z-index:-1;}
#content #sec01 .inner{margin-top:150px;}
#content #sec01 .inner .message{font-size:2.0em;line-height:2;letter-spacing:0.04em;font-weight:600;background:#fff;padding:50px 60px 30px 0;margin-top:50px;}

@media only screen and (max-width: 1040px) {
  #content #sec01{margin:-42px 0 150px 20px;}
}
@media only screen and (max-width: 767px) {
  #content #sec01{display:block;margin:40px 0;}
  #content #sec01::after{width:100%;margin-left:0;}
  #content #sec01 .inner{margin-top:0px;}
  #content #sec01 .inner .message{font-size:1.5em;line-height:2;padding:0;margin-top:20px;}
}

/*-------------------------
__sec02
-------------------------*/
#content #sec02{padding-top:40px;margin-top:-40px;}
#content #sec02 .sec02_box.left_box{margin-top:40px;padding-top:40px;}
#content #sec02 .sec02_box::before{content:"";display:block;width:63%;height:400px;background:url("/images/img02.jpg")no-repeat center/cover;}
#content #sec02 .sec02_box.left_box::before{margin:0 0 0 auto;background:url("/images/img03.jpg")no-repeat center/cover;}
#content #sec02 .sec02_box .inner{width:460px;}
#content #sec02 .sec02_box.right_box .inner{margin:-360px calc((100% - 1000px)/2) 0 auto;}
#content #sec02 .sec02_box.left_box .inner{margin:-360px auto 0 calc((100% - 1000px)/2);}
#content #sec02 .sec02_box .inner .text_box{background:#333;margin-top:55px;box-sizing:border-box;padding:50px;color:#FFF;}

@media only screen and (max-width: 1040px) {
  #content #sec02 .sec02_box.right_box .inner{margin:-360px 20px 0 auto;}
  #content #sec02 .sec02_box.left_box .inner{margin:-360px auto 0 20px;}
}
@media only screen and (max-width: 767px) {
  #content #sec02{padding-top:60px;margin-top:-60px;}
  #content #sec02 .comm_title .eng{text-shadow:0 0 10px #fff,0 0 15px #fff;}
  #content #sec02 .sec02_box.left_box{margin-top:-20px;padding-top:60px;}
  #content #sec02 .sec02_box::before{width:60%;height:180px;}
  #content #sec02 .sec02_box .inner{width:calc(90% - 20px);}
  #content #sec02 .sec02_box.right_box .inner{margin:-170px 20px 0 auto;}
  #content #sec02 .sec02_box.left_box .inner{margin:-170px auto 0 20px;}
  #content #sec02 .sec02_box .inner .text_box{margin-top:30px;padding:20px;}
}

/*-------------------------
__sec03
-------------------------*/
#content #sec03{background:url("/images/img04.jpg")right center/cover;margin:80px auto;box-sizing:border-box;padding:80px 20px;text-align:left}
#content #sec03 .inner{max-width:1000px;margin:0 auto;}
#content #sec03 .inner .text_wrap{background:rgba(255,255,255,0.9);display:inline-block;box-sizing: border-box;padding:60px 40px;}
#content #sec03 .inner .text_wrap .text{margin:40px 0;}
#content #sec03 .inner .text_wrap a.contact_btn{text-decoration:none;font-size:1.6em;font-weight:700;letter-spacing:0.1em;padding:8px 32px 10px;background:#333;color:#FFF;}
#content #sec03 .inner .text_wrap a.contact_btn span{position:relative;z-index:1;}

@media only screen and (min-width: 768px) {
  #content #sec03 .inner .text_wrap a.contact_btn{position:relative;}
  #content #sec03 .inner .text_wrap a.contact_btn::after{background:var(--color-base);position:absolute;top:0;left:0;content:'';width:100%;height:100%;transform:scale(0, 1);transform-origin:left top;transition:.2s cubic-bezier(0.45, 0, 0.55, 1);}
  #content #sec03 .inner .text_wrap a.contact_btn:hover::after{transform:scale(1, 1);}
}
@media only screen and (max-width: 767px) {
  #content #sec03{margin:40px auto;padding:40px 20px;}
  #content #sec03 .inner .text_wrap{padding:20px 20px 30px;}
  #content #sec03 .inner .text_wrap .text{margin:30px 0;}
  #content #sec03 .inner .text_wrap a.contact_btn{display:block;text-align:center;}
}

/*-------------------------
__sec04
-------------------------*/
#content #sec04{position:relative;box-sizing:border-box;padding:80px 20px 0;margin-top:-80px;}
#content #sec04::before{content:"";display:block;width:30%;height:275px;background:url("/images/img05.jpg")no-repeat center/cover;position:absolute;left:0;bottom:0;}
#content #sec04 .inner{max-width:1000px;width:100%;margin:auto;display:flex;text-align:left;}
#content #sec04 .inner .sec_title{width:37%;box-sizing:border-box;padding-right:20px;}
#content #sec04 .inner .cp_table{width:63%;margin-top:80px;}
#content #sec04 .inner .cp_table dl{display:flex;line-height:1.4;color:#333;box-sizing:border-box;padding:20px 0;border-bottom:1px solid #e6e6e6;}
#content #sec04 .inner .cp_table dl dt{width:198px;font-size:1.6em;letter-spacing:0.04em;font-weight:700;box-sizing:border-box;padding:0 20px;}
#content #sec04 .inner .cp_table dl dd{width:calc(100% - 198px);font-size:1.6em;letter-spacing:0.04em;font-weight:600;box-sizing:border-box;padding:0 20px 0 0;}

@media only screen and (max-width: 1020px) {
  #content #sec04::before{width:45%;bottom:auto;top:380px;}
  #content #sec04 .inner .cp_table dl{display:block;}
  #content #sec04 .inner .sec_title{width:50%;}
  #content #sec04 .inner .cp_table{width:50%;}
  #content #sec04 .inner .cp_table dl dt{width:100%;padding:0 0 10px 0;}
  #content #sec04 .inner .cp_table dl dd{width:100%;font-size:1.4em;padding:0;}
}
@media only screen and (max-width: 767px) {
  #content #sec04{padding:70px 20px 0;margin-top:-70px;}
  #content #sec04 .inner{display:block;}
  #content #sec04 .inner .sec_title{width:100%;padding-right:0;}
  #content #sec04::before{/*width:68%;height:150px;left:auto;top:125px;right:0;z-index:-1;*/display:none;}
  #content #sec04 .inner .cp_table{width:100%;margin-top:40px;}
  #content #sec04 .inner .cp_table dl dt{font-size:1.5em;}
  #content #sec04 .inner .cp_table dl{padding:15px 0;}
}

/*-------------------------
__sec05
-------------------------*/
#content #sec05{margin:0 0 80px;padding-top:80px;}
#content #sec05 .inner{max-width:1040px;box-sizing:border-box;padding:0 20px 40px;margin:0 auto;text-align:center;}
#content #sec05 .inner .text{text-align:center;margin-top:50px;}
#content #sec05 .g_map{position:relative;width:100%;padding-top:400px;height:0;}
#content #sec05 .g_map iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

@media only screen and (max-width: 767px) {
  #content #sec05{margin:-20px 0 40px;padding-top:60px;}
  #content #sec05 .inner{padding:0 20px 30px;}
  #content #sec05 .inner .text{margin-top:40px;}
  #content #sec05 .g_map{padding-top:250px;}
}

/*-------------------------
__sec06
-------------------------*/
#content #sec06{max-width:1040px;margin:-80px auto 0;box-sizing:border-box;padding:80px 20px 0;}
#content #sec06 .form_base{margin-top:40px;}
/*プライバシーポリシー*/
#content #sec06 .privacy{margin:50px auto 30px;border:1px solid #ccc;background:#FFF;position:relative;}
#content #sec06 .privacy::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:20px;background:-moz-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 60%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 60%);background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 60%);}
#content #sec06 .privacy .inner{width:100%;height:200px;overflow:auto;-webkit-overflow-scrolling:touch;}
#content #sec06 .privacy .page_caption,
#content #sec06 .privacy dl{font-size:14px;line-height:22px;text-align:left;margin:0 20px;padding:15px 0 0;}
#content #sec06 .privacy .page_caption{}
#content #sec06 .privacy dl{}
#content #sec06 .privacy dt{font-size:20px;padding:20px 0 0;}
#content #sec06 .privacy dd{padding:10px 0 0;}
#content #sec06 .privacy dt.box1{font-size:14px;}
#content #sec06 .privacy dd.box2{margin:0 0 0 30px;}
#content #sec06 .privacy .pp_contact{background:#EEE;padding:20px 0;margin:20px 0 0;}
#content #sec06 .privacy .pp_contact h4{font-size:16px;font-weight:700;line-height:25px;}
#content #sec06 .privacy .pp_contact p{font-size:14px;line-height:25px;padding:5px 0 0;}
#content #sec06 .privacy .pp_contact br.line1{display:none;}
#content #sec06 .privacy .pp_contact br.line1 + .line0{padding:0 0 0 1em;}

@media only screen and (max-width: 767px) {
  #content #sec06{margin:-60px auto 0;padding:60px 20px 0;}
}