
/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/13.66)) */


/*                      header                   */

.logo {
 width:  min(17.7rem,calc(177vw/13.66)) ;
 position: fixed;
 top:   min(3.5rem,calc(35vw/13.66));
 left:   min(2.5rem,calc(25vw/13.66));
 z-index: 90;

}

.hd_menu {
 position: fixed;
 top: min(5rem,calc(50vw/13.66));
 z-index: 90;
 right:  min(6rem,calc(60vw/13.66));
}

.hd_menu li {
 text-align: right;
 position: relative;
 margin-bottom: min(.5rem,calc(5vw/13.66));
}
.hd_menu li.now::after {
 content: '';
 width: min(.5rem,calc(5vw/13.66));
 height: min(.5rem,calc(5vw/13.66));
 border-radius: 50%;
 background: #FF6346;
background: linear-gradient(45deg, rgba(255, 99, 70, 1) 0%, rgba(255, 201, 0, 1) 100%);
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -1em;

}

.hd_menu li:last-of-type {
  width: min(4rem,calc(40vw/13.66));
  margin-left: auto;
  margin-top: min(1.5rem,calc(15vw/13.66));
}
.hd_menu li  a {
 font-size: 1.4rem;
 letter-spacing: 0.1em;
}
.hd_menu li.now a {
 color: #FF6346;
}

@media (hover: hover)  and (pointer: fine){
.hd_menu li   a:where(:any-link, :enabled, summary):hover {
   color: #FF6346;
 }
}



/*                      mv                   */
#mv {

 padding-bottom: min(12rem,calc(120vw/13.66));
 background: #FDF5E1;
}
.mv_inner {
 width: min(136.6rem,calc(1366vw/13.66));
 margin: 0 auto;
position: relative;
}

.mv_img {
 width: 100%;
 margin:0 auto 0;
}
.mv_img video {
 width: 100%;
 margin-top:  max(-12rem,calc(-120vw/13.66));
  background: #FDF5E1;
  height: min(96.4rem,calc(964vw/13.66));
}

.mv_ttl {
 width: min(47rem,calc(470vw/13.66));
 position: absolute;
 top: min(49rem,calc(490vw/13.66));
 left: min(5rem,calc(50vw/13.66));

}



.bg_01 {
 width: 100%;
 margin-top:  max(-30rem,calc(-300vw/13.66));
 position: relative;
}



/*                      about                   */
#about {
 padding-bottom: min(37rem,calc(370vw/13.66));
 background-color: #FFFBEF;
 position: relative;
}
.about_inner {
 padding-top: min(8.5rem,calc(85vw/13.66));
 position: relative;
}
.about_content {
 width: min(84rem,calc(840vw/13.66));
 margin: 0 auto;
 position: relative;
}
.about_flex {
 display: flex;
 justify-content: space-between;
}
.about_copy {
 font-size: 2.8rem;
 letter-spacing: 0.25em;
 line-height: 2.1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  margin-left: min(6rem,calc(60vw/13.66));
}
.about_copy span{
 color: #FF6346;
}

.about_detail {
 width: min(41.5rem,calc(415vw/13.66));
}
.about_img_01 {
 width: min(30rem,calc(300vw/13.66));
 margin-left: auto;
 margin-bottom: min(7.5rem,calc(75vw/13.66));
}
 .section_ttl {
 font-size: 5rem;
 text-align: left;
 letter-spacing: 0.1em;
 line-height: 1.6;
}
 .section_ttl .sab_ttl {
  font-size: 1.4rem;
  color:#FF6346;
  display: block;
  letter-spacing: .18em;
 }
 .section_ttl .min_txt {
  font-size: 3.4rem;
 }
 .about_detail .txt {
  text-align: left;
  font-size: 1.8rem;
  line-height: 2.55;
  margin-top: min(2.5rem,calc(25vw/13.66));
  margin-bottom: min(6rem,calc(60vw/13.66));
  letter-spacing: 0.15em;
 }

 .btn {
  width: min(30rem,calc(300vw/13.66));
 }
 .btn a,
  .btn button {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  border: #FF6346 solid  min(.1rem,calc(1vw/13.66));
  border-radius: min(2.5rem,calc(25vw/13.66));
  background-color: #fff;
  padding:min(.8rem,calc(8vw/13.66)) 0;
  position: relative;
 }
.btn a  span,
  .btn button span {
 width: min(4rem,calc(40vw/13.66));
 height: min(4rem,calc(40vw/13.66));
 border-radius: 50%;
 background-color: #FF6346;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(.5rem,calc(5vw/13.66));
}
  .btn a  span::before ,
  .btn button span::before{
   content: '';
   width: min(1.5rem,calc(15vw/13.66));
   border: min(.1rem,calc(1vw/13.66)) solid #fff;
   border-radius: min(1rem,calc(10vw/13.66));
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 0;right: 0;
   margin: 0 auto;
  }
  .btn a  span::after ,
    .btn button span::after{
   content: '';
   width: min(1.5rem,calc(15vw/13.66));
   border: min(.1rem,calc(1vw/13.66)) solid #fff;
   border-radius: min(1rem,calc(10vw/13.66));
   position: absolute;
   top: 50%;
   transform: translateY(-50%) rotate(90deg);
   left: 0;right: 0;
   margin: 0 auto;
  }
 .about_inner .btn button {
  padding:min(1.2rem,calc(12vw/13.66)) 0;
  padding-left: min(3rem,calc(30vw/13.66));
  text-align: left;
 }

 @media (hover: hover)  and (pointer: fine){
.btn a:where(:any-link, :enabled, summary):hover ,
.btn button:where(:any-link, :enabled, summary):hover {
  background-color: #FF6346;
  color: #fff;
 }

}

.mv_img_02 {
 width: min(32.5rem,calc(325vw/13.66));
 position: absolute;
 top:  max(-24.5rem,calc(-245vw/13.66));
left:  min(11.5rem,calc(115vw/13.66));
}



.bg_02 {
 filter: brightness(2) invert(0);
   margin-top:  max(-22rem,calc(-220vw/13.66));
  margin-bottom:  min(11rem,calc(110vw/13.66));
}


/*                      feature                   */
#feature {
 padding-top:  min(7rem,calc(70vw/13.66));
 padding-bottom: min(15rem,calc(150vw/13.66));
}
.feature_inner {
 background-color: #fff;
 position: relative;
}
.feature_content {
 width:  min(101rem,calc(1010vw/13.66));
 margin: 0 auto;
 position: relative;
}
.feature_img_01 {
 width:  min(48rem,calc(480vw/13.66));
 position: absolute;
 top: max(-74rem,calc(-740vw/13.66));
 left: 0;

}
.feature_copy {
 font-size: 2.8rem;
 letter-spacing: 0.25em;
 line-height: 2.1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  position: absolute;
  top:  max(-21rem,calc(-210vw/13.66));
  right: 0;
}
.feature_copy span{
 color: #FF6346;
}

.feature_flex {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin-top: min(6rem,calc(60vw/13.66));
}
.feature_box {
 width: min(45.5rem,calc(455vw/13.66));
 text-align: justify;
}
.feature_box:nth-of-type(2) {
 margin-top:  min(40rem,calc(400vw/13.66));
}
.feature_box:nth-of-type(3)  {
 margin-top:  max(-12rem,calc(-120vw/13.66));
}
.feature_box:nth-of-type(4)  {
 margin-top:  min(28rem,calc(280vw/13.66));
}
.feature_box_ttl {
 font-size: 2rem;
 color: #FF6346;
 line-height: 1.8;
 margin: min(3rem,calc(30vw/13.66)) 0 min(1rem,calc(10vw/13.66));
 letter-spacing: 0.12em;
}
.feature_box_txt {
 font-size: 1.6rem;
 letter-spacing: 0.12em;
}
.feature_img_06 {
width: min(30.3rem,calc(303vw/13.66)) ;
margin-top: max(-8.5rem,calc(-85vw/13.66));
}
.bg_03 {
margin-top:  max(-22rem,calc(-220vw/13.66));
 position: relative;
 z-index: 1;
}



/*                      feature                   */
#message {
 padding-top:  min(7rem,calc(70vw/13.66));
 background-color: #FFFBEF;
}

.message_content {
 width: min(100rem,calc(1000vw/13.66));
 margin: 0 auto;
 padding-top: min(7rem,calc(70vw/13.66));
 padding-bottom: min(27rem,calc(270vw/13.66));
}
.message_item {
 width: min(93rem,calc(930vw/13.66));
 position: relative;
 margin: 0 auto;
}
.message_copy {
  font-size: 2.8rem;
 letter-spacing: 0.25em;
 line-height: 2.1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  position: absolute;
  top:  max(-7rem,calc(-70vw/13.66));
  right: 0;
  z-index: 5;
}
.message_img {
  width: min(80rem,calc(800vw/13.66));
  margin: 0 auto;
  position: relative;
}

.message_inner .section_ttl {
 position: absolute;
 top:  min(40.4rem,calc(404vw/13.66));
 left: 0;
}

.message_item_txt {
 margin-top:  min(9rem,calc(90vw/13.66));
 font-size: 1.8rem;
 letter-spacing: 0.1em;
 text-align: left;
}

.message_inner  .btn {
 margin-top: min(4rem,calc(40vw/13.66));
}
.message_inner  .btn button {
 text-align: left;
 padding:min(1.2rem,calc(12vw/13.66)) 0 ;
 padding-left: min(3.5rem,calc(35vw/13.66));
}


.topics {
 margin-top: min(13rem,calc(130vw/13.66));
}
.topics_item {
 background-color: #fff;
 display: flex;
 justify-content: space-between;
 align-items: center;
 box-sizing: border-box;
 padding: min(2.5rem,calc(25vw/13.66));
 border-radius: min(1rem,calc(10vw/13.66));
}
.topics_item:nth-of-type(even) {
 flex-direction: row-reverse;
 margin-top:  min(2rem,calc(20vw/13.66));
}
.topics_img {
 width: min(40rem,calc(400vw/13.66));
}
.topics_detail {
 width: min(48rem,calc(480vw/13.66));
 text-align: justify;
 margin-right: min(1.5rem,calc(15vw/13.66));
}
.topics_detail .topics_ttl {
 font-size: 2rem;
 color: #FF6346;
 letter-spacing: 0.1em;
}
.topics_detail .topics_ttl  span {
 display: block;
 width: min(10rem,calc(100vw/13.66));
 text-align: center;
 color: #fff;
 font-size: 1.2rem;
 background-color: #FF6346;
 border-radius: min(1rem,calc(10vw/13.66));
 line-height: 1.7;
 margin-bottom:  min(.5rem,calc(5vw/13.66));
 letter-spacing: 0.1em;
}
.topics_detail .topics_txt   {
letter-spacing: 0.1em;
font-size: 1.6rem;
margin-top: min(1rem,calc(10vw/13.66));
}


.bg_04 {
margin-top:  max(-22rem,calc(-220vw/13.66));
}


.message_detail {
  background: #FCEEC8;
 background: linear-gradient(90deg, rgba(252, 238, 200, 1) 0%, rgba(252, 239, 206, 1) 26%, rgba(252, 243, 221, 1) 100%);
 padding-bottom: min(5rem,calc(50vw/13.66));
}
.message_detail_inner {
 position: relative;
 width: min(100rem,calc(1000vw/13.66));
 margin: 0 auto;
}
.message_detail_01 {
 width: min(48.5rem,calc(485vw/13.66));
 margin-left: auto;
}
.message_detail_flex {
 display: flex;
 justify-content: space-between;
 margin-top: min(13.5rem,calc(135vw/13.66));
}
.message_box {
  width: min(44.5rem,calc(445vw/13.66));
}
 .message_box_txt {
 width: min(37rem,calc(370vw/13.66));
 text-align: justify;
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 margin: min(4rem,calc(40vw/13.66)) auto 0;
}
 .message_box_txt span {
  display: block;
  text-align: center;
  font-size: 2rem;
  color: #FF6346;
  letter-spacing: 0.15em;
 }
 .message_box:first-of-type {
  margin-top: max(-19rem,calc(-190vw/13.66));
 }



  /*                      wages                  */
#wages {
  background: #FCEEC8;
 background: linear-gradient(90deg, rgba(252, 238, 200, 1) 0%, rgba(252, 239, 206, 1) 26%, rgba(252, 243, 221, 1) 100%);
 padding-bottom: min(11rem,calc(110vw/13.66));
}
.wages_img   {
  width: min(100rem,calc(1000vw/13.66));
  margin: 0 auto;
  padding-top: min(7rem,calc(70vw/13.66));
 }




 /*                      flow                  */
 #flow {
  padding-top:  min(7rem,calc(70vw/13.66)) ;
   background: #FCEEC8;
 background: linear-gradient(90deg, rgba(252, 238, 200, 1) 0%, rgba(252, 239, 206, 1) 26%, rgba(252, 243, 221, 1) 100%);
 padding-bottom: min(10rem,calc(100vw/13.66));
 }
.flow_inner {
 position: relative;
  display: flex;
 flex-direction: column;
}


.flow_inner .section_ttl {
 text-align: center;
}
.flow_img {
 width: min(100rem,calc(1000vw/13.66));
 margin: min(6rem,calc(60vw/13.66)) auto 0;
}
.flow_list {
 width: min(100rem,calc(1000vw/13.66));
 margin: min(7rem,calc(70vw/13.66)) auto  min(15rem,calc(150vw/13.66));
 display: flex;
 flex-wrap: wrap;
 gap:  min(5rem,calc(50vw/13.66));
}
.flow_list li {
 width: min(30rem,calc(300vw/13.66));
 text-align: justify;
}

.flow_list li .flow_list_ttl {
 font-size: 2rem;
 letter-spacing: 0.15em;
}
.flow_list li .flow_list_ttl span{
color: #FF6346;
}
.flow_list_txt {
 font-size: 1.6rem;
 letter-spacing: 0.1em;
}




 /*                      contact                  */
.contact_inner {
  background: #FF6346;
background: linear-gradient(45deg,rgba(255, 99, 70, 1) 0%, rgba(255, 201, 0, 1) 100%);
margin-top: calc(-220vw/13.66);
padding-top: min(28rem,calc(280vw/13.66));
padding-bottom: min(30rem,calc(300vw/13.66));
}
.contact_content {
 width: min(100rem,calc(1000vw/13.66));
 margin: 0 auto;
}
.contact_ttl {
 font-size: 5rem;
 letter-spacing: 0.1em;
 color: #fff;
}
.contact_ttl span {
 font-size: 3.4rem;
}
.contact_txt {
 font-size: 2.2rem;
 letter-spacing: 0.18em;
 color: #fff;
 margin-top: min(2rem,calc(20vw/13.66));
 margin-bottom: min(5rem,calc(50vw/13.66));
}
.contact_content dl {
 width:min(55rem,calc(550vw/13.66));
 margin: 0 auto;
 display: flex;
 align-items: center;
 gap: min(2.5rem,calc(25vw/13.66)) min(3rem,calc(30vw/13.66));
}
.contact_content dt {
 width: min(17.5rem,calc(175vw/13.66));
 font-size: 2.4rem;
 color: #fff;
 letter-spacing: 0.2em;
 background-color: #FF6346;
 border-radius: min(.4rem,calc(4vw/13.66));
 line-height: 1.88;
}
.contact_content dl:last-of-type dt {
 font-size: 1.7rem;
}
.contact_content dd {
 font-size: 3.2rem;
 color: #fff;
 letter-spacing: 0.18em;
}
.contact_content dd a {
 color: #fff;
}
.contact_content dl:last-of-type dd {
 font-size: 2.2rem;
}
.contact_content .btn {
  width: min(55rem,calc(550vw/13.66));
  margin: min(5rem,calc(50vw/13.66)) auto 0;
}
.contact_content .btn a {
 text-align: center;
 font-size: 2rem;
 padding: min(1.9rem,calc(19vw/13.66)) 0;
 border-radius: min(4rem,calc(40vw/13.66));
}
.contact_content .btn a span {
 width: min(6rem,calc(60vw/13.66));
 height: min(6rem,calc(60vw/13.66));
  right: min(.8rem,calc(8vw/13.66));
}
.contact_content .contact_box_flex  .btn a span {
right: min(.6rem,calc(6vw/13.66));
}
.contact_content .btn a span::before {
 content: '';
 width: min(2rem, calc(20vw / 13.66));
 height: min(1.4rem, calc(14vw / 13.66));
background: url(../images/arrow.svg) no-repeat;
background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
 border: none;
}
.contact_content .btn a span::after {
 content: none;
}


.contact_box_flex {
 display: flex;
 justify-content: space-between;
 margin-top:  min(8.5rem, calc(85vw / 13.66));
 padding-top:  min(7.5rem, calc(75vw / 13.66));
 position: relative;
}
.contact_box_flex::before {
 content: '';
 width: 100%;
 height: min(.2rem, calc(2vw / 13.66));
 background: url(../images/border.svg) repeat-x;
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
}
.contact_box {
 width: min(47.5rem, calc(475vw / 13.66));
 background-color: #fff;
 text-align: center;
 border-radius:  min(1rem, calc(10vw / 13.66));
 box-sizing: border-box;
 padding: min(3rem, calc(30vw / 13.66)) 0  min(4rem, calc(40vw / 13.66));
 letter-spacing: 0.1em;
}
.contact_box_ttl {
 font-size: 2.4rem;
 color: #FF6346;
 margin-bottom:  min(1rem, calc(10vw / 13.66));
 letter-spacing: 0.15em;
}
.contact_box_txt {
 font-size: 1.6rem;
 letter-spacing: 0.15em;
}

.contact_box .btn {
 width:  min(37.5rem, calc(375vw / 13.66)) ;
 margin: min(3rem,calc(30vw/13.66)) auto 0 ;
}
.contact_box .btn a{
font-size: 1.8rem;
padding: min(.6rem,calc(6vw/13.66))  0;
}
.contact_box .btn a span {
 width: min(4rem,calc(40vw/13.66));
 height: min(4rem,calc(40vw/13.66));
}
.contact_box .btn a span::before {
 content: '';
 width: min(1.4rem, calc(14vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
background: url(../images/arrow.svg) no-repeat;
background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
 border: none;
}




.bg_06 {
 margin-top: calc(-220vw/13.66);
 filter: brightness(2) invert(0);
}



/*                      access                  */

.access_inner {
 position: relative;
  display: flex;
 flex-direction: column;
 padding-bottom:  min(12rem,calc(120vw/13.66));
}

.access_inner .section_ttl {
 text-align: center;
  padding-top: min(7rem,calc(70vw/13.66));
}
.access_item {
 width: min(100rem,calc(1000vw/13.66));
 margin: min(7.5rem,calc(75vw/13.66)) auto 0;
 display: flex;
 justify-content:space-between;
}
.access_detail {
  width: min(40rem,calc(400vw/13.66));
  text-align: left;
}
.access_detail_ttl {
 font-size: 1.8rem;
 letter-spacing: 0.2em;
}
.access_detail_ttl span {
 display: inline-block;
 font-size: 1.4rem;
 color: #fff;
 background-color: #FF6346;
 border-radius: min(.2rem,calc(2vw/13.66));
 box-sizing: border-box;
 padding: 0 min(1.5rem,calc(15vw/13.66));
 line-height: 1.8;
 margin-right: min(1.5rem,calc(15vw/13.66));
 letter-spacing: 0.1em;
}
.access_detail_txt {
 font-size: 1.6rem;
 letter-spacing: 0.18em;
 margin: min(.5rem,calc(5vw/13.66)) 0  min(1.5rem,calc(15vw/13.66));
}
.access_detail_txt  span {
 display: block;
 color: #FF6346;
}
.access_map {
 width:  min(48rem,calc(480vw/13.66));
 height:  min(30rem,calc(300vw/13.66));
}



.company {
 margin-top:  min(19rem,calc(190vw/13.66));
}
.company_ttl {
 font-size: 2rem;
 letter-spacing: 0.12em;
}
.company_ttl span{
color: #FF6346;
display: block;
margin-top: min(2rem,calc(20vw/13.66));
}

.company_txt {
 font-size: 1.6rem;
 line-height: 1.75;
 margin-top: min(1.5rem,calc(15vw/13.66));
 letter-spacing: 0.15em;
}




/*                      footer                  */
footer {
 background: #FCEEC8;
 background: linear-gradient(90deg, rgba(252, 238, 200, 1) 0%, rgba(252, 239, 206, 1) 26%, rgba(252, 243, 221, 1) 100%);
 border-radius: min(4rem,calc(40vw/13.66))  min(4rem,calc(40vw/13.66)) 0 0;
 padding:  min(4.5rem,calc(45vw/13.66)) 0;
 position: relative;
}
.footer_inner {
 width: min(100rem,calc(1000vw/13.66));
 margin: 0 auto;
}
.footer_flex {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
}
.footer_detail {
 display: flex;
 align-items: center;
}
.footer_logo {
  width: min(21rem,calc(210vw/13.66));
  margin-right:  min(4rem,calc(40vw/13.66));
}
.footer_detail p {
 font-size: 1.4rem;
 line-height: 1.85;
 letter-spacing: 0.1em;
 text-align: left;
}

.copy {
 font-size: 1.2rem;
 letter-spacing: 0.1em;
}

.top_btn {
 width: min(9.5rem,calc(95vw/13.66));
 position: absolute;
 top: max(-4.2rem,calc(-42vw/13.66));
 right: min(14rem,calc(140vw/13.66));
 transition: .4s;
}
.top_btn a {
 display: block;
}


.f_banner {
  width: min(14rem,calc(140vw/13.66));
  position: fixed;
  bottom: min(5rem,calc(50vw/13.66));
  right: min(7rem,calc(70vw/13.66));
  z-index: 10;
  opacity: 0;
  transition: .4s;
  visibility: hidden;
}
.f_banner a {
 display: block;
}
.f_banner.show {
opacity: 1;
visibility: visible;
}


.modal {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh;
 height: 100dvh;
 z-index: 100;
 background: #FF6346;
background: linear-gradient(55deg,rgba(255, 99, 70, .9) 0%, rgba(255, 201, 0, .9) 100%);
overflow: scroll;
display: none;
}
.modal_bg {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: -1;
}
.modal_inner {
 width: min(100rem,calc(1000vw/13.66));
 margin: 0 auto;
 border-radius: min(1rem,calc(10vw/13.66));
 background-color: #fff;
 box-sizing: border-box;
padding:  min(6.5rem,calc(65vw/13.66)) 0  min(4.5rem,calc(45vw/13.66));
margin:  min(6rem,calc(60vw/13.66)) auto;
position: relative;
}
.modal_item {
 width: min(86rem,calc(860vw/13.66));
 margin: 0 auto;
}

.modal_about_txt {
 width: min(81rem,calc(810vw/13.66));
 margin: 0 auto;
font-size: 2.8rem;
letter-spacing: 0.08em;
line-height: 1.76;
color: #FF6346;
text-align: justify;
margin-bottom:  min(2rem,calc(20vw/13.66));
}


.modal_message .modal_item {
 height: min(54rem,calc(540vw/13.66));
 display: flex;
 justify-content: space-between;
 overflow: scroll;
}

.modal_message_img {
 width: min(21.6rem,calc(216vw/13.66));
 position: sticky;
 top: 0;
}
.modal_message_detail {
 width: min(60rem,calc(600vw/13.66));
 text-align: justify;
}
.modal_message_detail .ttl {
 font-size: 2.4rem;
 color: #FF6346;
 letter-spacing: 0.15em;
 line-height: 1.66;
  margin-bottom:  min(2rem,calc(20vw/13.66));
}
.modal_message_detail .ttl  span {
 display: block;
 font-size: 1.4rem;
 margin-bottom:  min(.5rem,calc(5vw/13.66));
 letter-spacing: 0.1em;
}
.modal_message_detail .txt {
 font-size: 1.8rem;
 line-height: 2.2;
 letter-spacing: 0.06em;
}

.close_btn {
 width: min(4rem,calc(40vw/13.66));
 height: min(4rem,calc(40vw/13.66));
 position: absolute;
 top: min(3.5rem,calc(35vw/13.66));
 right: min(3.5rem,calc(35vw/13.66));
 transform: rotate(45deg);
}
.close_btn::before {
 content: '';
 width:100%;
 border: #FF6346 solid min(.1rem,calc(1vw/13.66));
 border-radius: min(1rem,calc(10vw/13.66));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
.close_btn::after {
 content: '';
 width:100%;
 border: #FF6346 solid min(.1rem,calc(1vw/13.66));
 border-radius: min(1rem,calc(10vw/13.66));
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(90deg);
 left: 0;
 right: 0;
 margin: 0 auto;
}



@media (hover: hover)  and (pointer: fine){
.top_btn a:where(:any-link, :enabled, summary):hover ,
.f_banner a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.1);
 }
}


@media screen and (max-width: 767px) {


/*                      header                   */

.logo {
 width:  13.7rem ;
 top:  1.5rem;
 left:  1.5rem;

}

.hd_menu {
 display: none;
}


.sns_icon {
 width: 3.5rem;
 position: fixed;
 top: 2rem;
 right: 8rem;
 z-index: 10;
}




.nav_btn {
 width: 3.5rem;
 height: 3.5rem;
 background-color: #FF6346;
 border-radius: 50%;
 position: fixed;
 top: 2rem;
 right: 2rem;
 z-index: 100;
 transition: .4s;
}
.nav_btn::before {
 content: '';
 width: 1.5rem;
 border-radius: 1rem;
 border: .1rem solid #fff;
 position: absolute;
 top: 1.3rem;
 left: 0;
 right: 0;
 margin: 0 auto;
 transition: .4s;
}
.nav_btn::after {
 content: '';
 width: 1.5rem;
 border-radius: 1rem;
 border: .1rem solid #fff;
 position: absolute;
 bottom: 1.3rem;
 left: 0;
 right: 0;
 margin: 0 auto;
 transition: .4s;
}
.nav_btn.open {
 background-color: #ffffff33;
}
.nav_btn.open::before {
transform: rotate(35deg);
top: 1.6rem;
}
.nav_btn.open::after {
transform: rotate(-35deg);
bottom: 1.7rem;
}

.nav {
 position: fixed;
 width: 100%;
 top: 0;
 height: 100vh;
 height: 100dvh;
 left: 0;
 z-index: 99;
 display: none;
}
.nav_bg {
 background-color: #FFFBEF;
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 z-index: -1;
}
.nav_inner {
 width: 34.2rem;
 margin: 1.8rem auto 0;
background: rgba(255, 99, 70, 10.1);
background: linear-gradient(145deg, rgba(255, 99, 70, .9) 0%, rgba(255, 99, 70, .9) 10%, rgba(255, 190, 7, .9) 100%);
border-radius: .7rem;
padding: 9rem 0 5.5rem;
}
.nav_item {
 width: 27.5rem;
 margin: 0 auto;
}
.nav_menu li a {
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 line-height: 2.8;
 text-align: left;
 color: #fff;
 display: flex;
 justify-content: space-between;
 align-items: center;

}

.nav_menu li a span {
 font-size: 1rem;
}

.nav .btn {
 width: 100%;
 margin-top: 4.5rem;
}
.nav .btn a{
 font-size: 1.3rem;
 width: 100%;
 padding: 1.2rem 0;
 border-radius: 2.6rem;
}
.nav .btn a span {
 width: 4rem;
 height: 4rem;
}
.nav .btn a span::before {
 width: 1.3rem;
 height: .9rem;
 border: none;
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
}
.nav .btn a span::after {
 content: none;
}


/*                      mv                   */
#mv {
 padding-top: 7rem;
 padding-bottom: 18.5rem;
}
.mv_inner {
 width: 100%;
 overflow: hidden;
}



.mv_img {
 width: 100%;
}
.mv_img video {
 width: 45rem;
 position: relative;
 left: 50%;
 transform: translateX(-50%);
 margin-top: 0;
 height: auto;
}


.mv_ttl {
 width:26.5rem;
 position: relative;
 top: 0;
 left:0;
 margin: -2rem auto 0;

}



.bg_01 {
 width: 100%;
 margin-top: -7rem;
}



/*                      about                   */
#about {
 padding-bottom: 37rem;
}
.about_inner {
 padding-top: 0;
 position: relative;
}
.about_content {
 width:31.2rem;
  padding-top: 11rem;
}
.about_flex {
 flex-direction: column;
}
.about_copy {
 font-size: 1.9rem;
  margin-left: 0;
  position: absolute;
  top: 4rem;
  left: 0;
}


.about_detail {
 width:100%;
}
.about_img_01 {
 width: 16.5rem;
 margin-bottom:13rem;
}
 .section_ttl {
 font-size: 3rem;
 line-height: 1.4;
}
 .section_ttl .sab_ttl {
  font-size: 1.2rem;
 }
 .section_ttl .min_txt {
  font-size: 2.2rem;
 }
 .about_detail .txt {
  text-align: justify;
  font-size: 1.4rem;
  line-height: 2.1;
  margin-top: 1.5rem;
  margin-bottom: 4rem;
 }

 .btn {
  width:23.5rem;
 }
 .btn a,
 .btn button {
  font-size: 1.25rem;
  border: #FF6346 solid .1rem;
  border-radius: 2rem;
  padding:.6rem 0;
 }
.btn a  span,
 .btn button  span {
 width: 3rem;
 height:3rem;
 right: .3rem;
}
  .btn a  span::before ,
   .btn button  span::before{
   width: 1.3rem;
   border:.1rem solid #fff;
   border-radius:1rem;
  }
  .btn a  span::after,
   .btn button span::after {
   width: 1.3rem;
   border-radius:1rem;
   border:.1rem solid #fff;
  }
 .about_inner .btn button {
  padding:1rem 0;
  padding-left:2.5rem;
 }


.mv_img_02 {
display: none;
}



.bg_02 {
 filter: brightness(2) invert(0);
  margin-top:-6.5rem;
  margin-bottom:  40rem;
}


/*                      feature                   */
#feature {
 padding-top: 0;
 padding-bottom: 17.5rem;
}

.feature_content {
 width:  31rem;
 padding-top: 5rem;
}
.feature_img_01 {
 width: 27.2rem;
 top: -68rem;
 left: 0;

}
.feature_copy {
 width: 19.5rem;
 font-size: 1.9rem;
  top: -31rem;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: inline-block;
}

.feature_flex {
 flex-direction: column;
 margin-top: 3.5rem;
}
.feature_box {
 width: 100%;
}
.feature_box:nth-of-type(2) {
 margin-top: 4.5rem;
}
.feature_box:nth-of-type(3)  {
 margin-top: 4.5rem;
}
.feature_box:nth-of-type(4)  {
 margin-top: 4.5rem;
}
.feature_box_ttl {
 font-size: 1.5rem;
 line-height: 2;
 margin: 2rem 0 1rem;
}
.feature_box_txt {
 font-size: 1.3rem;
}
.feature_img_06 {
width: 18.8rem;
position: absolute;
bottom: -22.5rem;
left: 0;
z-index: 5;
}
.bg_03 {
 margin-top: -6.5rem;
}



/*                      feature                   */
#message {
 padding-top:  10rem;
}

.message_content {
 width: 31.5rem;
 padding-top: 0;
 padding-bottom:11rem;
}
.message_item {
 width:100%;
}
.message_copy {
  font-size: 1.9rem;
  position: absolute;
  top:  -3rem;
  right: -1rem;

}
.message_img {
  width: 100%;
}

.message_inner .section_ttl {
 position: absolute;
 top:  20.2rem;
}

.message_item_txt {
 margin-top:  5.5rem;
 font-size: 1.4rem;
 text-align: justify;
}

.message_inner  .btn {
 margin-top: 3.5rem;
}
.message_inner  .btn button {
 padding: 1rem 0;
 padding-left: 2.5rem;
}


.topics {
 margin-top: 2.5rem;
}
.topics_item {
 flex-direction: column;
 padding:2.5rem 1.5rem;
 border-radius: .5rem;
}
.topics_item:nth-of-type(even) {
 flex-direction: column;
 margin-top:  1.5rem;
}
.topics_img {
 width: 100%;
}
.topics_detail {
 width:100%;
 margin-top: 2rem;
}
.topics_detail .topics_ttl {
 font-size: 1.6rem;
 letter-spacing: 0.16em;
 line-height: 1.78;
}
.topics_detail .topics_ttl  span {
 width:6.5rem;
 font-size: 1rem;
 border-radius: .5rem;
 margin-bottom: .5rem;
}
.topics_detail .topics_txt   {
font-size: 1.4rem;
margin-top: .5rem;
}


.bg_04 {
 margin-top: -6.5rem;
}


.message_detail {
 padding-bottom: 1rem;
}
.message_detail_inner {
 width: 31.5rem;
}
.message_detail_01 {
 width:27.5rem;
margin: 0 auto;
}
.message_detail_flex {
 flex-direction: column;
 margin-top: 0;
 gap: 3rem 0;
}
.message_box {
  width: 100%;
}
 .message_box_txt {
 width: 100%;
 font-size: 1.3rem;
 margin: 1.5rem auto .5rem;
}
 .message_box_txt span {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
 }
 .message_box:first-of-type {
  margin-top: 0;
 }



  /*                      wages                  */
  #wages {
   padding-bottom: 4rem;
  }
.wages_img   {
  width:31.5rem;
  padding-top: 5rem;
 }




 /*                      flow                  */
 #flow {
  padding-top: 5rem;
 padding-bottom: 5rem;
 }
.flow_img {
 width: 31rem;
 margin:2.5rem auto 0;
}
.flow_list {
 width:31rem;
 margin:2.5rem auto  6rem;
 flex-direction: column;
 gap:  2.5rem 0;
}
.flow_list li {
 width:100%;
}

.flow_list li .flow_list_ttl {
 font-size: 1.5rem;
 margin-bottom: 0.5rem;
}
.flow_list_txt {
 font-size: 1.2rem;
}




 /*                      contact                  */
.contact_inner {
margin-top: -6.5rem;
padding-top:10.5rem;
padding-bottom: 12rem;
}
.contact_content {
 width:34.3rem;
 margin: 0 auto;
}
.contact_ttl {
 font-size: 3rem;
 line-height: 1.36;
}
.contact_ttl span {
 font-size: 2.2rem;
}
.contact_txt {
 font-size: 1.6rem;
 color: #fff;
 margin-top: 2rem;
 margin-bottom: 3rem;
}
.contact_content dl {
 width:31rem;
 gap: 1.5rem 1.2rem;
 align-items: baseline;
 margin-bottom: 1rem;
}
.contact_content dt {
 width:11.5rem;
 font-size: 1.6rem;
 border-radius: .25rem;
 line-height: 1.88;
}
.contact_content dl:last-of-type dt {
 font-size: 1.1rem;
}
.contact_content dd {
 font-size: 2.1rem;
}
.contact_content dl:last-of-type dd {
 font-size: 1.4rem;
 line-height: 1.48;
 text-align: left;
}
.contact_content .btn {
  width: 31rem;
  margin: 2rem auto 0;
}
.contact_content .btn a {
 font-size: 1.3rem;
 padding: 1.2rem 0;
 border-radius:2.5rem;
}
.contact_content .btn a span {
 width: 4rem;
 height: 4rem;
 right: .5rem;
}
.contact_content .contact_box_flex  .btn a span {
 right: .3rem;
}
.contact_content .btn a span::before {
 width: 1.4rem;
 height: 1rem;
}

.contact_box_flex {
 flex-direction: column;
 gap: 2rem;
 margin-top:  4rem;
 padding-top:  4rem;
}
.contact_box_flex::before {
 height: .1rem;
}
.contact_box {
 width: 31rem;
 border-radius:  .8rem;
 padding: 2.5rem 0  3rem;
 margin: 0 auto;
}
.contact_box_ttl {
 font-size: 1.7rem;
 margin-bottom: 1rem;
}
.contact_box_txt {
 font-size: 1.1rem;
}

.contact_box .btn {
 width: 28rem;
 margin: 2.5rem auto 0 ;
}
.contact_box .btn a{
font-size: 1.25rem;
padding: .6rem  0;
}
.contact_box .btn a span {
 width: 3.2rem;
 height: 3.2rem;
}
.contact_box .btn a span::before {
 width:1rem;
 height: .7rem;
}




.bg_06 {
 margin-top: -6.5rem;
}



/*                      access                  */

.access_inner {
 padding-bottom: 7rem;
}

.access_inner .section_ttl {
  padding-top: 5rem;
}
.access_item {
 width: 31rem;
 margin: 2.5rem auto 0;
 flex-direction: column;
}
.access_detail {
  width: 100%;
  text-align: left;
}
.access_detail_ttl {
 font-size: 1.4rem;
}
.access_detail_ttl span {
 font-size: 1.1rem;
 border-radius: .2rem;
 padding: 0 1rem;
 margin-right:1rem;
}
.access_detail_ttl a {
 text-decoration: none !important;
 border: none !important;
}
.access_detail_txt {
 font-size: 1.25rem;
 margin: .5rem 0  1.5rem;
}

.access_map {
 width: 31rem;
 height: 19.5rem;
 margin-top: 2.5rem;
}



.company {
 margin-top: 4rem;
}
.company_ttl {
 font-size: 1.5rem;
}
.company_ttl span{
margin-top:.5rem;
}

.company_txt {
 font-size: 1.2rem;
 width: 31rem;
 margin: 0.5rem auto 0;
 text-align: justify;
}




/*                      footer                  */
footer {
 border-radius: 2rem  2rem 0 0;
 padding: 2.3rem 0;
}
.footer_inner {
 width:31rem;
}
.footer_flex {
 align-items: center;
}
.footer_logo {
  width: 18rem;
  margin: 0 0 1.5rem;
}
.footer_detail {
 flex-direction: column;
}
.footer_detail p {
 font-size: 1.2rem;
}

.copy {
 font-size: 1rem;
}

.top_btn {
 width: 7rem;
 top:-3.5rem;
 right: 3rem;
}


.f_banner {
  width: 27rem;
  position: fixed;
  bottom: 2rem;
  right: 0;
  left: 0;
  margin: 0 auto;
}



.modal_inner {
 width: 34.3rem;
 border-radius:.7rem;
padding:  8rem 0  5.5rem;
margin: 6rem auto;
}
.modal_item {
 width: 31rem;
}
.modal_about_txt {
 width: 100%;
font-size: 1.7rem;
letter-spacing: 0.08em;
line-height: 1.76;
color: #FF6346;
text-align: justify;
margin-bottom: 2rem;
}
.modal_message .modal_item {
 height: 53.5rem;
 flex-direction: column;
}


.modal_message_img {
 width: 100%;
 position: static;
}
.modal_message_detail {
 width: 100%;
 margin-top: 2.5rem;
}
.modal_message_detail .ttl {
 font-size: 1.7rem;
 line-height: 1.52;
}
.modal_message_detail .ttl  span {
 font-size: 1.2rem;
 margin-bottom:1rem;
}
.modal_message_detail .txt {
 font-size: 1.4rem;
 line-height: 1.9;
 margin-top: 1rem;
 letter-spacing: 0.1em;
}

.close_btn {
 width:2.1rem;
 height:2.1rem;
 top: 1.5rem;
 right: 1.5rem;
}
.close_btn::before {
 border: #FF6346 solid .1rem;
 border-radius: 1rem;
}
.close_btn::after {
 border: #FF6346 solid .1rem;
 border-radius: 1rem;
}


}
