@charset "UTF-8";
/* CSS Document */

#page-top {position: fixed;bottom: 40px;right: 40px;width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	#page-top {position: fixed;bottom: 5px;right: 5px;width: 30px; z-index:400;}
}

/* .EN {ffont-family: 'Raleway', sans-serif;} */
.mincho {font-family: 'Noto Serif JP', serif;}
.rubik {font-family: "Rubik", sans-serif;  font-optical-sizing: auto;}
.bgWH {background-color: #FFF;}
.bgGRY {background-color: #EEEEEE;}
.txtWH {color: #FFF;}
.txtBL {color: #1276B6;}

.clone-nav {position: fixed;top: 0;left: 0;z-index: 2; width: 100%; transition: .3s; transform: translateY(-100%);}
.is-show {transform: translateY(0);}
.clone-nav {text-align: center; width: 100%; background: #FFF;}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratio1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratio2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratio3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratio4-3:before {content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}

/* main {min-height: 2000px;} */
#header {position: relative; width: 100%;}
#header h1 {padding: 10px;}
/* .logo {width: 536px;} */
#header .logo a {padding: 33px 30px; background: #FFF; display: block;}
.menu:hover > a {background: #E1F4C4;}
.child_menu > li > a:hover {background: #FFF;}
.child_menu {width: 100%; left: 0; color: #222; background: #E1F4C4;}
.menu:hover .child_menu {visibility: visible;}
.child_menu a:hover {color: #222; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;}



footer {padding: 40px 0; border-top: 1px solid #1276B6; border-bottom: 1px solid #1276B6;}
footer .inner{width: 100%; max-width: 538px; margin-right: auto; margin-left: auto;}
footer .inner .flex.flexNw{justify-content: space-between;}
footer .inner .flex.flexNw .img{width: 172px;}
footer .inner .flex.flexNw .txt20{width: calc(100% - 202px);}
footer .inner a.txtRD{border: 1px solid #E70012; padding: 20px; width: 100%; display: flex; justify-content: center; line-height: 1.7; align-items: center;}
footer .inner a span.blank{position: relative;}
footer .inner a span.blank::after{position: absolute; content: ""; width: 24px; height: 24px; background-image: url(../img/top/icon_blank-red.svg); background-position: center center; background-repeat: no-repeat; background-size: contain; top: 50%; right: -34px; transform: translateY(-50%);}

footer #fnavi ul {letter-spacing: -.4em; margin: 0 0 5px;}
footer #fnavi ul > li {margin: 0 20px 10px; letter-spacing: normal; display: inline-block; position:relative;}
footer #fnavi ul > li a:hover {text-decoration: underline;}
footer #fnavi ul > li::after {content: ""; display: inline-block; width: 1px; height: 20px; background-color: #999999; position: absolute; top: 0; right: -20px;}
footer #fnavi ul > li:first-child {margin: 0 20px 10px 0;}
footer #fnavi ul > li:last-child {margin: 0 0 10px 20px;}
footer #fnavi ul > li:last-child::after {background-color: #FFF; width: 0; right: 0;}
.Copyright{font-size: 14px; text-align: center; padding: 30px 0 ;}
#ftNavi {display: none;}
@media screen and (max-width: 950px) {footer .logo {width: 300px;}
}
@media screen and (max-width: 896px) {
	footer { padding: 40px 0;}
  footer #fnavi {width: 100%;}
	#ftNavi {display: block; background: #1276B6; letter-spacing: -.4em; position: fixed; z-index: 5; bottom: 0; border-top: 1px solid #FFF; width: 100%;}
	#ftNavi ul {text-align: center; font-size: 10px; font-weight: bold;}
	#ftNavi li {letter-spacing: normal; display: inline-block; width: 33.3333%;}
	#ftNavi li a {display: block; padding: 5px 0; color: #FFF; border-left: 1px solid #1276B6; border-right: 1px solid #3C6C04;}
	#ftNavi li:first-child a {border-left: none;}
	#ftNavi li:last-child a {border-right: none;}
	#ftNavi li span {width: 24px; margin: 0 auto 5px; display: block;}
  .Copyright{font-size: 14px; text-align: center; padding: 30px 0 100px;}
}
@media screen and (max-width: 530px) {footer #fnavi ul > li,footer #fnavi ul > li:last-child {margin: 0 10px 10px 10px;}
  footer #fnavi ul > li:first-child {margin: 0 0 10px 0; display: block;}
  footer #fnavi ul > li::after {right: -10px;}
  footer #fnavi ul > li:first-child::after {background-color: #FFF; width: 0; right: 0;}
}

.w1300 {width: 100%; max-width: 1332px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.container {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.containerm {width: 100%; max-width: 1172px; padding-left: 0; padding-right: 0;}
.containers {width: calc(100% - 40px); max-width: 1100px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containerm,.containers {margin-left: auto; margin-right: auto;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54,.min66 {margin-left: 20px; margin-right: 20px;}
.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w300 {max-width: 300px; width: 100%;}
.w100 {width: 100%;}
.w50 {width: 50%;}
.w46 {width: calc(46% - 50px);}
.w54 {width: calc(54% - 50px);}
.min66 {max-width: 780px; width: 100%;}
.min110 {max-width: 1100px; width: 100%;}
@media screen and (max-width: 896px) {.container,.containerm,.containers {width: calc(100% - 30px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54,.min66 {margin-left: 15px; margin-right: 15px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3 {width: calc(50% - 30px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
  .w46 {width: calc(46% - 30px);}
  .w54 {width: calc(54% - 30px);}
}
@media screen and (max-width: 568px) {.col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .box4 {width: calc(50% - 7.5px); margin-left: 0; margin-right: 0;}
}


/* ページ固有 */
.bgBK{background-color: #222222;}
.bgBL{background-color: #1276B6;}

br.sp{display: none;}
br.pc{display: inline-block;}

/* .c-ttl{} */
.c-ttl .en{font-family: "Rubik", sans-serif; font-weight: 500; color: #1276B6;}
.c-ttl .txt{color: #222222;}
.bgTri{position: relative; border-top: 1px solid #1276B6; border-bottom: 1px solid #1276B6; z-index: 0;}
.bgTri::before,.bgTri::after{position: absolute; content: ""; background-image: url(../img/cmn/bg_tri.svg); background-repeat: no-repeat; background-size: contain; max-width: 400px; max-height: 400px; width: 25%; aspect-ratio: 1/1; z-index: -1;}
.bgTri::before{top: 0; left: 0; background-position: top left;}
.bgTri::after{bottom: 0; right: 0; background-position: bottom right; transform: scale(-1);}

.contactlink{background-color: #1276B6; padding: 27px 0; display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%;}
.contactlink.min{max-width: 516px;}
.contactlink::after{position: relative; content: ""; background-color: white; width: 40px; height: 3px; display: block;}

.bgWeb::before, .bgWeb::after{position: absolute; content: ""; background-repeat: no-repeat; background-size: contain; z-index: -999;}
.bgWeb::before{background-image: url(../img/top/01-02.webp); top: 0; left: 0px; aspect-ratio: 557/272; width: 100%; max-width: 625px; background-position: top left;}
.bgWeb::after{background-image: url(../img/top/01-03.webp); bottom: 0; right: 0px; aspect-ratio: 700/342; width: 100%; max-width: 700px; background-position: bottom right;}

/*  */
#top01{border-top: 20px solid #1276B6; position: relative;}
#top01{position: relative; z-index: 0;}
#top01::before, #top01::after{position: absolute; content: ""; background-repeat: no-repeat; background-size: contain; z-index: -1;}
#top01::before{background-image: url(../img/top/01-02.webp); top: 0; left: 0px; aspect-ratio: 557/272; width: 100%; max-width: 625px; background-position: top left;}
#top01::after{background-image: url(../img/top/01-03.webp); bottom: 0; right: 0px; aspect-ratio: 700/342; width: 100%; max-width: 700px; background-position: bottom right;}
#top01 .mv_img{padding: 100px 0 60px 60px; border-left: 1px solid #222222; border-bottom: 1px solid #222222;}
/*  */
#top02{}
#top02 h2{position: relative; background-color: rgba(256, 256, 256, 0.33); z-index: 1; width: fit-content;}
/* #top02 h2::before{position: absolute; background-color: rgba(256, 256, 256, .4); width: calc(100% + 20px); height: calc(100% + 10px); top: 50%; left: 50%; transform: translate(-50%,-50%); content: ""; z-index: -1;} */
#top02 .flex.alEnd{margin-top: -70px;}
#top02 .intro_unit:nth-child(2){margin-bottom: 100px;}
#top02 .intro_unit .img{position: relative; margin-bottom: 15px;}
#top02 .intro_unit .img::before,#top02 .intro_unit .img::after{position: absolute; background-color: white; content: "";}
#top02 .intro_unit .img::before{top: 15px; left: 0; width: 100%; height: 1px;}
#top02 .intro_unit .img::after{top: 0; left: 15px; width: 1px; height: 100%;}
#top02 .intro_unit .txt{position: relative; padding-left: 30px;}
#top02 .intro_unit .txt::before,#top02 .intro_unit .txt::after{position: absolute; content: ""; background-color: #222222; left: 15px; top: 0;}
#top02 .intro_unit .txt::before{width: 1px; height: calc(100% + 30px); transform: translateY(-15px);}
#top02 .intro_unit .txt::after{width: 5px; height: 100%; transform: translateX(-2px);}
/*  */
#top03{}
#top03{position: relative; z-index: 0;}
#top03::before, #top03::after{position: absolute; content: ""; background-repeat: no-repeat; background-size: contain; z-index: -1; transform: scaleY(-1);}
#top03::after{background-image: url(../img/top/01-03.webp); top: 0; right: 0px; aspect-ratio: 700/342; width: 100%; max-width: 700px; background-position: top right;}
#top03::before{background-image: url(../img/top/01-03.webp); bottom: 0; left: 0px; aspect-ratio: 700/342; width: 100%; max-width: 700px; background-position: bottom left; transform: scaleX(-1);}
#top03 .youtube iframe{width: 100%; height: 100%; aspect-ratio: 560/315;}
#top03 .flex.jcEnd{margin-top: -90px;}
/*  */
#top04{}
#top04 .situation_unit{width: 33.3333%; border-top: 5px solid #222222; position: relative; }
#top04 .situation_unit .img img{aspect-ratio: 1/1;}
#top04 .situation_unit:not(:first-child){border-left: 1px solid white;}
#top04 .situation_unit .txt24.txtWH{position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%);}
#top04 .situation_unit .txt24.txtWH span{display: flex; line-height: 1.5; padding: 5px 20px; width: fit-content; white-space: nowrap;}
#top04 .situation_unit .txt18.txtCent.txtWH{padding: 20px 30px; max-width: 402px;}
#top04 .situation_unit .flex.alCent.jcCent:first-child{border-bottom: 1px solid white;}

/*  */
#top05{border-bottom: 1px solid #1276B6;}
#top05 .works_ul{gap: 40px 30px;}
#top05 .works_li{display: flex; align-items: center; padding-bottom: 6px; border-bottom: 1px solid #222222;}
#top05 .works_li span{padding: 0px 10px;}
#top05 .works_li span.txt20{min-width: 52px;}
#top05 .works_li .txt20{margin-right: 10px;}
#top05 .cat.txt20{padding: 0px 10px;}
/*  */
#top06{border-bottom: 1px solid #1276B6;}
#top06 .logos{}
#top06 .logos .col2{border-top: 1px solid #222222; border-left: 1px solid #222222; border-bottom: 1px solid #222222; background-color: white;}
#top06 .logos .img{width: calc(100% - 21px); padding: 15px;}
#top06 .logos span{position: relative; content: ""; width: 21px; height: 100%; background-color: #222222; display: block;}
#top06 .logos span::before{position: absolute; width: 0px; height: 0px; border-style: solid; border-width: 8px 5.5px 0 5.5px; border-color: #ffffff transparent transparent transparent; transform: rotate(0deg); top: 50%; left: 50%; transform: translate(-50%,-50%); content: "";}
#top06 .containerm > .flex{position: relative; border-top: 1px solid #EEEEEE;}
#top06 .containerm > .flex::before{position: absolute; width: 200px; height: 5px; content: ""; background-color: #222222; transform: translateY(-50%); top: 0;}

#top06{position: relative; z-index: 0;}
#top06::before, #top06::after{position: absolute; content: ""; background-repeat: no-repeat; background-size: contain; z-index: -1;}
#top06::before{background-image: url(../img/top/01-02.webp); top: 0; left: 0px; aspect-ratio: 557/272; width: 100%; max-width: 625px; background-position: top left;}
#top06::after{background-image: url(../img/top/01-03.webp); bottom: 0; right: 0px; aspect-ratio: 700/342; width: 100%; max-width: 700px; background-position: bottom right;}
#top06 .mv_img{padding: 100px 0 60px 60px; border-left: 1px solid #222222; border-bottom: 1px solid #222222;}

#top06 .list{display: flex; gap: 0 20px; flex-wrap: wrap;}
#top06 .list li{padding: 3px 25px; border-radius: 5px;}
#top06 .cataloglink{border: 1px solid #1276B6; width: 100%; padding: 20px; position: relative;}
#top06 .cataloglink span{position: relative;}
#top06 .cataloglink span::before{position: absolute; content: ""; width: 24px; height: 24px; background-image: url(../img/top/icon_pdf.svg); background-position: center center; background-repeat: no-repeat; background-size: contain; right: -34px;}
#top06 .cataloglink {position: relative;overflow: hidden;transition: all 0.3s ease;}
#top06 .cataloglink:hover {background-color: #1276B6;}
#top06 .cataloglink:hover span {color: #FFF;}
#top06 .cataloglink span {transition: color 0.3s ease;}
#top06 .cataloglink span::before {transition: all 0.3s ease;}
#top06 .cataloglink:hover span::before {background-image: url(../img/top/icon_pdf-white.svg);animation: pdf-shake 0.5s ease-in-out;}
#top06 .infolist{font-size: 16px; }
#top06 .infolist .unit{display: flex;}
#top06 .infolist .ttl{padding: 15px 0; min-width: 160px; border-bottom: 1px solid #1276B6;}
#top06 .infolist .content{padding: 15px 0; border-bottom: 1px solid #222222; width: calc(100% - 160px); display: flex; align-items: center;}
#top06 .rentalprice{box-shadow: 0 0 4px rgba(0, 0, 0, .3); padding: 30px; position: relative; background-color: white;}
#top06 .rentalprice::before,#top06 .rentalprice::after{content: ""; position: absolute; width: 0px; height: 0px; border-style: solid; border-width: 30px 30px 0 0; border-color: #1276B6 transparent transparent transparent; transform: rotate(0deg);}
#top06 .rentalprice::before{top: 5px; left: 5px;}
#top06 .rentalprice::after{bottom: 5px; right: 5px; transform: scale(-1);}
#top06 .rentalprice .ttl{border-bottom: 1px solid #1276B6; padding-bottom: 20px; display: flex; justify-content: center;}
#top06 .rentalprice .ttl span{position: relative; padding: 0 20px; display: block; width: fit-content;}
#top06 .rentalprice .ttl span::before{position: relative; content: ""; height: 5px; width: calc(100% + 40px); background-color: #1276B6; display: block; left: 50%; transform: translateX(-50%); bottom: -53px;}
#top06 .rentalprice .price{}

/*  */
#contact .inner{max-width: 646px; width: 100%; margin-right: auto; margin-left: auto;}
/*  */
#top07{}
#top08{border-top: 1px solid #1276B6;}
#top08 {position: relative; z-index: 1;}
#top08 dt {position: relative; padding: 25px 0 20px 60px; font-size: 18px; font-weight: 700; z-index: 0;}
#top08 dt::before {position: absolute; content: 'Q'; font-size: 30px; font-weight: 700; font-family: 'Rubik', sans-serif; line-height: 40px; width: 40px; text-align: center; background: #1276B6; color: #FFF; top: 20px; left: 0; z-index: 1;}
#top08 dd {position: relative; border-bottom: 1px solid #222; padding: 0 0 20px 60px; z-index: -1;}
#top08 dd::before {position: absolute; content: ""; width: 4px; height: calc(100% + 16px); left: 18px; bottom: 0; background-color: #D15E67; z-index: 0;}

/* 以下レスポンシブ */
/* タブレット対応 (1100px以下) */
@media screen and (max-width: 1100px) {#top03 .flex.jcEnd{margin-top: 40px;}
  #top04 .situation_unit .txt18.txtCent.txtWH{padding: 10px 15px; font-size: 16px;}
}
/* 以下レスポンシブ */

/* タブレット対応 (896px以下) */
@media screen and (max-width: 896px) {.contactlink{max-width: unset;}
  /* 背景装飾の調整 */
  .bgTri::before,
  .bgTri::after {width: 20%; max-width: 250px; max-height: 250px;}
  
  /* ヘッダーセクション */
  #top01 .mv_img {padding: 60px 0 40px 30px;}
  #top01::before,
  #top01::after {width: 80%; max-width: 400px;}
  
  /* イントロダクション */
  #top02 .flex.alEnd {flex-wrap: wrap; margin-top: 0;}
  #top02 .col2.intro_unit {/* width: calc(100% - 30px); */
    margin-bottom: 40px !important;}
  #top02 .intro_unit:nth-child(2) {margin-bottom: 40px !important;}
  
  /* 動画セクション */
  #top03 .flex.jcEnd {margin-top: 40px;}
  #top03::before,
  #top03::after {width: 80%; max-width: 400px;}
  
  /* 用途セクション */
  #top04 .container.flex {flex-wrap: wrap;}
  #top04 .col6:first-child {/* margin-bottom: 30px; */
  }
  
  /* 実績セクション */
  #top05 .works_ul {flex-wrap: wrap;}
  #top05 .works_li {width: calc(50% - 15px);}
  
  /* 製品セクション */
  #top06 .logos {flex-wrap: wrap;}
  #top06 .logos .col2 {width: calc(100% - 30px); margin-bottom: 20px;}
  #top06 .containerm > .flex {flex-wrap: wrap;}
  #top06 .containerm > .flex .col3 {width: calc(100% - 30px);}
  #top06 .containerm > .flex .col3:last-child {margin-top: 30px;}
  #top06 .containerm > .flex::before {width: 150px;}
  
  /* FAQ */
  .faq.w1000 {max-width: calc(100% - 30px); width: 100%;}
  #top08 dt {font-size: 16px; padding-left: 50px;}
  #top08 dt::before {font-size: 24px; width: 35px; line-height: 35px;}
  #top08 dd {padding-left: 50px;}
  
  /* フッター */
  footer .inner .flex.flexNw {gap: 20px;}
}

/* スマートフォン対応 (568px以下) */
@media screen and (max-width: 568px) {.bgWeb::before, .bgWeb::after{position: absolute; content: ""; background-repeat: no-repeat; background-size: contain; z-index: -1;}
  .bgWeb::before{background-image: url(../img/top/01-02.webp); top: 0; left: 0px; aspect-ratio: 557/272; width: 100%; max-width: 250px; background-position: top left;}
  .bgWeb::after{background-image: url(../img/top/01-03.webp); bottom: 0; right: 0px; aspect-ratio: 700/342; width: 100%; max-width: 300px; background-position: bottom right;}

  br.sp{display: inline-block;}
  br.pc{display: none;}

  .col6.mt60.mb30.flex.jcCent{margin-top: 20px;}

  /* 背景装飾の調整 */
  .bgTri::before,
  .bgTri::after {width: 30%; max-width: 150px; max-height: 150px;}
  
  
  /* ヘッダー画像 */
  #top01{border-top: 10px solid #1276B6;}
  #top01 .mv_img {margin-top: 20px; padding: 40px 0 30px 15px;}
  #top01::before {max-width: 250px; width: 60%;}
  #top01::after {max-width: 300px; width: 60%;}
  
  /* コンタクトリンク */
  .contactlink {padding: 20px 15px; max-width: 100%; font-size: 16px !important; gap: 10px;}
  .contactlink::after {width: 25px; height: 2px;}
  
  /* タイトル調整 */
  .c-ttl .en {font-size: 16px !important;}
  .c-ttl .txt {font-size: 22px !important;}
  
  /* イントロダクション */
  #top02 .intro_unit .txt {padding-left: 20px;}
  #top02 .intro_unit .txt::before {left: 10px;}
  #top02 .intro_unit .txt::after {left: 10px;}
  #top02 .intro_unit .img::before,
  #top02 .intro_unit .img::after {left: 10px; top: 10px;}
  
  /* 動画セクション */
  #top03 .min66 {width: calc(100% - 30px);}
  #top03 .flex.jcEnd {margin-top: 40px;}
  #top03 .txtRight {text-align: left !important;}
  #top03::before,
  #top03::after {width: 60%; max-width: 250px;}
  
  /* 用途セクション */
  #top04 .situation_unit {width: calc(100%); margin-bottom: 30px !important;}
  #top04 .situation_unit:not(:first-child) {border-left: none; border-top: 5px solid #222222;}
  #top04 .situation_unit .txt18.txtCent.txtWH {padding: 15px 20px; font-size: 14px !important;}
  #top04 .situation_unit .txt24.txtWH span {font-size: 18px !important;}
  
  /* 実績セクション */
  #top05 .works_ul {gap: 20px 10px;}
  #top05 .works_li {width: 100%; flex-direction: column; align-items: flex-start;}
  #top05 .works_li .txt20 {margin-bottom: 5px; margin-right: 0;}
  #top05 .works_li .txt24 {font-size: 18px !important;}
  #top05 .min110 {width: calc(100% - 30px);}
  
  /* 製品セクション */
  #top06 .logos span {/* display: none; */
  }
  #top06 .logos .img {/* width: 100%; */
    /* padding: 30px; */
  }
  #top06 .logos .col2 {border-right: 1px solid #222222;}
  #top06 .containerm > .flex::before {width: 100px; height: 3px;}
  #top06 .list {flex-direction: column; gap: 10px;}
  #top06 .list li {width: 100%; text-align: center; font-size: 16px !important;}
  #top06 .cataloglink {padding: 15px;}
  #top06 .cataloglink span {font-size: 16px !important;}
  #top06 .cataloglink span::before {right: -30px; width: 20px; height: 20px;}
  #top06 .infolist .ttl {min-width: 100px; font-size: 14px; padding: 10px 0;}
  #top06 .infolist .content {width: calc(100% - 100px); font-size: 14px !important; padding: 10px 0;}
  #top06 .infolist .content p {font-size: 14px !important;}
  #top06 .rentalprice {padding: 20px;}
  #top06 .rentalprice::before,
  #top06 .rentalprice::after {border-width: 20px 20px 0 0;}
  #top06 .rentalprice .ttl {font-size: 16px !important;}
  #top06 .rentalprice .ttl span::before {bottom: -50px;}
  #top06 .rentalprice .price {font-size: 18px !important;}
  #top06 .rentalprice .price .txt40 {font-size: 28px !important;}
  #top06 .rentalprice .txt {font-size: 14px !important;}
  #top06::before {max-width: 250px; width: 60%;}
  #top06::after {max-width: 300px; width: 60%;}
  
  /* FAQ */
  #top08 dt {font-size: 14px; padding: 20px 0 15px 45px;}
  #top08 dt::before {font-size: 20px; width: 30px; line-height: 30px; top: 15px;}
  #top08 dd {font-size: 14px !important; padding: 0 0 15px 45px;}
  #top08 dd::before {left: 13px; width: 3px; height: calc(100% + 38px);}
  
  /* フッター */
  footer .inner {padding: 0 15px;}
  footer .inner .flex.flexNw {flex-direction: column; gap: 15px;}
  footer .inner .flex.flexNw .img {width: 120px;}
  footer .inner .flex.flexNw .txt20 {width: 100%; font-size: 16px !important;}
  footer .inner a {padding: 15px; font-size: 16px !important;}
  footer .inner a span.blank::after {width: 20px; height: 20px; right: -30px;}
}

/* 横向きスマートフォン対応 */
@media screen and (max-width: 896px) and (orientation: landscape) {#top04 .situation_unit {width: calc(33.3333% - 1px);}
  #top04 .situation_unit:not(:first-child) {border-left: 1px solid white; border-top: none;}
  #top05 .works_li {width: calc(50% - 15px);}
}

/* さらに小さい画面対応 (375px以下) */
@media screen and (max-width: 375px) {.contactlink {font-size: 14px !important;}
  #top06 .rentalprice .price {font-size: 16px !important;}
  #top06 .rentalprice .price .txt40 {font-size: 24px !important;}
}


/* サンクスページ用スタイル */
#thanks {position: relative;z-index: 0;border-top: 20px solid #1276B6;border-bottom: 1px solid #1276B6;}

/* 背景装飾 */
#thanks::before,
#thanks::after {position: absolute;content: "";background-repeat: no-repeat;background-size: contain;z-index: -1;}

#thanks::before {background-image: url(../img/top/01-02.webp);top: 0;left: 0px;aspect-ratio: 557/272;width: 100%;max-width: 400px;background-position: top left;}

#thanks::after {background-image: url(../img/top/01-03.webp);bottom: 0;right: 0px;aspect-ratio: 700/342;width: 100%;max-width: 400px;background-position: bottom right;}

/* ボックススタイル */
#thanks .box {position: relative;background-color: rgba(255, 255, 255, 0.9);box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);}

#thanks .box::before,
#thanks .box::after {content: "";position: absolute;width: 0px;height: 0px;border-style: solid;border-width: 20px 20px 0 0;border-color: #1276B6 transparent transparent transparent;}

#thanks .box::before {top: 5px;left: 5px;}

#thanks .box::after {bottom: 5px;right: 5px;transform: scale(-1);}

/* 電話番号リンク */
#thanks .telbox a {text-decoration: none;transition: opacity 0.3s;gap: 10px;}

#thanks .telbox a:hover {opacity: 0.7;}

/* 戻るリンク */
#thanks .backlink {transition: all 0.3s;background-color: white;}

#thanks .backlink:hover {background-color: #1276B6;color: white;}

#thanks .backlink:hover span {border-color: transparent white transparent transparent;}

/* レスポンシブ対応 */
@media screen and (max-width: 896px) {
  #thanks::before,
  #thanks::after {max-width: 300px;}
  
  #thanks .box {padding: 30px 20px !important;}
}

@media screen and (max-width: 568px) {
  #thanks {border-top-width: 10px;}
  
  #thanks::before,
  #thanks::after {max-width: 200px;}
  
  #thanks .c-ttl .en {font-size: 16px !important;}
  
  #thanks .c-ttl .txt {font-size: 22px !important;}
  
  #thanks .txt18 {font-size: 16px !important;}
  
  #thanks .box {padding: 20px 15px !important;}
  
  #thanks .box::before,
  #thanks .box::after {border-width: 15px 15px 0 0;}
  
  #thanks .telbox a .txt20 {font-size: 16px !important;}
  
  #thanks .telbox a .txt24 {font-size: 20px !important;}
  
  #thanks .contactlink {font-size: 18px !important; padding: 20px 30px;}
  
  #thanks .backlink {padding: 15px 40px; font-size: 16px !important;}
  
  #thanks .backlink span {border-width: 5px 8px 5px 0;}
}


/* ホバーアニメーション追加 */
.contactlink {position: relative;overflow: hidden;transition: all 0.3s ease;}
.contactlink::before {content: "";position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.1);transition: left 0.3s ease;}
.contactlink:hover::before {left: 100%;}
.contactlink:hover {box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);transform: translateY(-2px);}
.contactlink:hover::after {animation: arrow-bounce 0.6s ease-in-out infinite;}

@keyframes arrow-bounce {0%, 100% {  transform: translateX(0);}
  50% {  transform: translateX(5px);}
}

/* カタログリンクのホバーアニメーション */


@keyframes pdf-shake {0%, 100% {  transform: rotate(0deg);}
  25% {  transform: rotate(-5deg);}
  75% {  transform: rotate(5deg);}
}

/* ボタン押下時のエフェクト */
.contactlink:active,.cataloglink:active {transform: translateY(0);box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);}