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


 #wrapper {
  background-color: #F1EEEE;
 }


/*                         header                       */
 header {
  width: 100%;
  position: fixed;
  top:0;
  z-index: 99;
  padding-top: min(3.5rem,calc(35vw/12.8));
 }
 .hd_inner {
  width:  min(120rem,calc(1200vw/12.8)) ;
  margin: 0 auto;
  box-shadow: 0 min(.3rem,calc(3vw/12.8)) min(.6rem,calc(6vw/12.8)) #00000026;
  border-radius:min(5rem,calc(50vw/12.8)) ;
 }
 .hd_flex {
  border-radius:min(5rem,calc(50vw/12.8)) ;
  background-color: #FFFFFF;
  box-sizing: border-box;
  padding:min(2rem,calc(20vw/12.8)) min(2em,calc(20vw/12.8)) min(2rem,calc(20vw/12.8)) min(4rem,calc(40vw/12.8));
  display: flex;
  align-items: center;
  justify-content: space-between;
 }
 .hd_logo {
  width:  min(23.8rem,calc(238vw/12.8));
 }
 .hd_menu {
  width:  min(80rem,calc(800vw/12.8));
 }
 .hd_menu ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
 }

 .hd_menu ul li a{
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  color: #575352;
 }
 .hd_menu ul li:last-of-type a {
  display: block;
  width:  min(16rem,calc(160vw/12.8));
  background-color: #B5002B;
  padding:  min(1.85rem,calc(18.5vw/12.8)) 0;
  border-radius: min(3rem,calc(30vw/12.8));
  box-sizing: border-box;
  border: min(.3rem,calc(3vw/12.8)) #B5002B solid;
 }
 .hd_menu ul li:last-of-type a .entry_txt{
  width:  min(6.5rem,calc(65vw/12.8));
  transition: .4s;
  margin: 0 auto;
  font-size: 0;
  filter: brightness(0) invert(1) ;
 }



@media (hover: hover)  and (pointer: fine){
 .hd_menu ul li:last-of-type a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
 }
.hd_menu ul li  a:where(:any-link, :enabled, summary):hover {
  color: #B5002B;
 }
 .hd_menu ul li:last-of-type a:where(:any-link, :enabled, summary):hover .entry_txt{
  filter: none ;
 }
}



@media screen and (max-width: 767px) {
 header {
  padding-top: 1rem;
 }
 .hd_inner {
  width: 36rem;
  box-shadow: 0 .2rem .3rem #00000026;
  border-radius:3rem;
 }
 .hd_flex {
  border-radius:3rem;
  position: relative;
  padding:1.5rem 2rem ;
  z-index: 15;
  background: #fff;
  position: relative;
 }
.hd_flex.show{
  background: linear-gradient(180deg, #fff 0%,#fff 70%,#ffffff66 100%);
 }

 .hd_logo {
  width: 15.5rem;
 }

 .nav_btn {
  width: 1.8rem;
  position: relative;
  padding: .5rem 0;
  box-sizing: border-box;
 }
 .nav_btn::before {
  content: '';
  width: 100%;
  border: .1rem solid #B5002B;
  border-radius: 1rem;
  position: absolute;
  top: 0;
  left: 0;
  transition: .4s;
 }
 .nav_btn::after {
  content: '';
  width: 100%;
  border: .1rem solid #B5002B;
  border-radius: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: .4s;
 }
 .nav_btn.open::before {
  transform: rotate(135deg);
  top:.4rem;
 }
 .nav_btn.open::after {
  transform: rotate(-135deg);
  bottom:.4rem;
 }


 .nav  {
  position: fixed;
  top:0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  left: 0;
  z-index: 10;
  display: none;
  box-sizing: border-box;
 }
 .nav_bg {
  background-color: #F1EEEE;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
  z-index: -1;
 }
 .nav_inner {
  width: 36rem;
  height: 100%;
  margin: 1rem auto 2rem;
  box-sizing: border-box;
  overflow: scroll;
  padding-bottom: 2rem;
  border-radius: 3rem 3rem 0 0;
 }
 .nav_item {
  box-shadow: 0 .2rem .3rem #00000026;
  border-radius:0 0 3rem 3rem;
  padding: 7rem 0 1rem;
  background-color: #fff;
 }
 .nav_menu {
  width: 31rem;
  margin: 0 auto;
 }
 .nav_menu ul {
  margin-bottom: 2rem;
 }
 .nav_menu li{
  text-align: left;
  margin-top: 1rem;
 }
 .nav_menu li:first-of-type {
  margin-top: 0;
 }
 .nav_menu li a{
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  line-height: 1.25;
  color: #626262;
 }
 .nav_menu li:first-child a {
  color: #B5002B;
  margin: 0;
 }
 .nav_icon  ul{
  width: 9.2rem;
  display: flex;
  margin: 0;
  justify-content: space-between;
 }
 .nav_icon li {
  width: 3.6rem;
  margin: 0;
 }
}


 /*                         footer                       */
 footer {
  position: relative;
 }
.footer_inner {
 width: min(88.5rem,calc(885vw/12.8));
 margin: 0 auto;
 padding:min(8.5rem,calc(85vw/12.8))0 ;
}

.footer_ttl {
 width: min(23.3rem,calc(233vw/12.8));
}

.footer_flex {
 display: flex;
 justify-content: space-between;
 flex-direction: column;
 margin-top: min(4rem,calc(40vw/12.8));
}
.footer_menu {
 width:  100%;
 display: flex;
 flex-wrap: wrap;
 margin-bottom: min(3rem,calc(30vw/12.8));
}
.footer_menu:last-of-type {
 margin-bottom: min(8.5rem,calc(85vw/12.8));
}
.footer_menu dl {
 width: min(27.5rem,calc(275vw/12.8));
 margin-right: min(3rem,calc(30vw/12.8));
}
.footer_menu dl:nth-of-type(3){
 margin-right: 0;
}
.footer_menu dt   {
 background-color: #fff;
}
.footer_menu dt  a {
 display: block;
 width: 100%;
 font-size: 1.5rem;
 color: #B5002B;
 box-sizing: border-box;
 padding: min(1.2rem,calc(12vw/12.8)) 0;
 padding-left: min(2.3rem,calc(23vw/12.8));
 text-align: left;
 font-weight: 600;
 letter-spacing: 0.045em;
}
.footer_menu dt  a span {
 transition: .4s;
 display: inline-block;
}
.footer_menu dd a  {
 color: #626262;
 font-size: 1.5rem;
 font-weight: 500;
 letter-spacing: 0.045em;
 text-align: left;
 display: block;
 width: 100%;
 padding-left:  min(2.3rem,calc(23vw/12.8));
 line-height: 1.26;
 margin-top:  min(2rem,calc(20vw/12.8));
 box-sizing: border-box;
}

.footer_menu:first-of-type dl:last-of-type dt{
 background: none;
}

.footer_icon {
 width: min(10rem,calc(100vw/12.8));
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
}
.footer_icon li {
 width: min(4.6rem,calc(46vw/12.8));
}

.footer_btn {
 width: min(35rem,calc(350vw/12.8));
 margin: 0 auto;
}
.footer_btn a {
 box-sizing: border-box;
 background-color: #fff;
 border: #B5002B solid min(.3rem,calc(3vw/12.8));
  border-radius: min(5rem,calc(50vw/12.8));
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  display: block;
  width: 100%;
  color: #B5002B;
  position: relative;
  padding: min(1.1rem,calc(11vw/12.8)) min(4rem,calc(40vw/12.8)) min(1.1rem,calc(11vw/12.8)) min(1.1rem,calc(11vw/12.8));
}

.footer_btn a .blank_icon {
 display: block;
 width:  min(4rem,calc(40vw/12.8));
 height:  min(4rem,calc(40vw/12.8));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1rem,calc(10vw/12.8));
 transition: .4s;
 background-color: #fff;
 border-radius: 50%;
}
.footer_btn a .blank_icon span{
 display: block;
 width:  min(1.8rem,calc(18vw/12.8));
 margin: 0 auto;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
 left: 0;
 filter:none;
 transition: .4s;
 font-size: 0;
}

.footer_img {
 width:  min(300rem,calc(300vw/12.8));
 position: absolute;
 top:  max(-13rem,calc(-130vw/12.8));
 right: 0;
}

@media (hover: hover)  and (pointer: fine){
 .footer_menu dt a:where(:any-link, :enabled, summary):hover span{
  transform: scale(1.05);
 }
 .footer_menu dd a:where(:any-link, :enabled, summary):hover{
  color: #B5002B;
 }
 .footer_btn  a:where(:any-link, :enabled, summary):hover .blank_icon {
  background-color: #b5002b;
 }
 .footer_btn  a:where(:any-link, :enabled, summary):hover .blank_icon span{
  filter: brightness(0) invert(1);
 }
}

@media screen and (max-width: 767px) {
 .footer_inner {
  width:28.2rem;
  padding:4rem 0 9rem;
  position: relative;
 }

 .footer_ttl {
  width: 14rem;
 }

 .footer_flex {
  flex-direction: column;
  margin-top: 2.5rem;
 }
 .footer_menu {
  flex-direction: column;
  margin-bottom:0;
 }
 .footer_menu dl {
  width:100%;
  margin-right: 0;
  margin-bottom: 2.4rem;
 }
 .footer_menu dt  a {
  font-size: 1.4rem;
  padding:.8rem 0;
  padding-left: 2rem;
 }
 .footer_menu dd a  {
  font-size: 1.3rem;
  padding-left:  2rem;
  margin-top:  1.5rem;
 }
 .footer_menu:first-of-type dl:last-of-type  {
  position: absolute;
  top: 70rem;
  left: 0;
 }
 .footer_icon {
  width: 8rem;
  margin-left: 2rem;
  margin-top: 10rem;
 }
 .footer_icon li {
  width: 3.6rem;
 }


 .footer_img {
  width:  12.5rem;
  top:  -4.5rem;
 }

	.footer_btn {
 width: 28.2rem;
}
	    .footer_btn a {
		font-size: 1.4rem;
        border: .2rem #B5002B solid;
		padding: .8rem 3rem .8rem .8rem;
        border-radius: 3rem;
    }
	.footer_btn a .blank_icon {
    width: 3rem;
    height: 3rem;
    right: 1rem;
}
	.footer_btn a .blank_icon span {
        width: 1.2rem;
    }

}


 /*                         共通パーツ                       */
 .section_contents {
  padding-top: min(13rem,calc(130vw/12.8));
  margin-top: max(-13rem,calc(-130vw/12.8));
 }
 .section_container {
  width: min(128rem,calc(1280vw/12.8));
  margin: 0 auto;
 }

 .section_ttl span {
  font-size: 2.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #fff;
  text-align: left;
  display: block;
  margin-top: min(1rem,calc(10vw/12.8));
 }

 .btn {
  width: min(56.5rem,calc(565vw/12.8));
  margin: 0 auto;
 }

 .btn a {
  display: block;
  width: 100%;
  background-color: #fff;
  border:  min(.5rem,calc(5vw/12.8)) #B5002B solid;
  box-sizing: border-box;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  color: #B5002B;
  padding:  min(1.5rem,calc(15vw/12.8)) 0;
  border-radius:  min(5rem,calc(50vw/12.8));
  position: relative;
 }
 .btn.blue a {
  border:  min(.5rem,calc(5vw/12.8)) #003869 solid;
  color: #003869;
 }

 .btn a .arrow_icon,.btn a .blank_icon {
  width:  min(6.6rem,calc(66vw/12.8));
  height:  min(6.6rem,calc(66vw/12.8));
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right:  min(1.5rem,calc(15vw/12.8));
  transition: .4s;
  background-color: #fff;
  border-radius: 50%;
 }
.btn a .arrow_icon span,.btn a .blank_icon span{
 display: block;
 width:  min(3.6rem,calc(36vw/12.8));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
 transition: .4s;
 font-size: 0;
 filter: none;
 }
 .btn a .blank_icon span{
  width:  min(3rem,calc(30vw/12.8));
 }


 @media (hover: hover)  and (pointer: fine){
  .about_menu li  a:where(:any-link, :enabled, summary):hover::before{
   border-color: #fff;
  }
  .btn  a:where(:any-link, :enabled, summary):hover .arrow_icon,
  .btn  a:where(:any-link, :enabled, summary):hover .blank_icon{
   background-color: #B5002B;
  }
  .btn  a:where(:any-link, :enabled, summary):hover .arrow_icon span,
  .btn  a:where(:any-link, :enabled, summary):hover .blank_icon span{
   filter: brightness(0) invert(1);
  }
  .btn.blue  a:where(:any-link, :enabled, summary):hover .arrow_icon,
  .btn  a:where(:any-link, :enabled, summary):hover .blank_icon {
   background-color: #003869;
  }

 }


 @media screen and (max-width: 767px) {
 .section_contents {
  padding-top:7rem;
  margin-top:-7rem;
 }
 .section_container {
  width: 100%;
  margin: 0 auto;
 }

 .section_ttl span {
  font-size: 1.3rem;
  margin-top: 0.4rem;
 }

 .btn {
  width:28.2rem;
 }

 .btn a {
  border: .2rem #B5002B solid;
  font-size: 1.6rem;
  padding: .8rem 0;
  border-radius:3rem;
 }
 .btn.blue a {
  border:  .2rem #003869 solid;
 }
 .btn a .arrow_icon,.btn a .blank_icon {
  width: 3rem;
  height: 3rem;
  right: 1rem;
 }
.btn a .arrow_icon span,.btn a .blank_icon span{
 width:  1.6rem;
 }
 .btn a .blank_icon span{
  width: 1.2rem;
 }
 }



.entry_btn {
 background-color: #fff;
 padding: min(15rem, calc(150vw / 12.8)) 0;
}
.entry_btn a {
 display: block;
 width: min(88.8rem,calc(888vw/12.8));
 margin: 0 auto;
 background-color: #B5002B;
 padding:min(2.5rem,calc(25vw/12.8)) 0;
 position: relative;
 box-sizing: border-box;
 border: #B5002B solid min(.4rem,calc(4vw/12.8));
}
.entry_btn a span {
 display: block;
 width: min(15.5rem,calc(155vw/12.8));
 margin: 0 auto;
 fill: #fff;
 transition: .4s;
 filter: brightness(0) invert(1);
}
.entry_btn a::before {
 content: '';
 width: min(1.4rem,calc(14vw/12.8));
 height: min(1.4rem,calc(14vw/12.8));
 border-top: min(.4rem,calc(4vw/12.8)) solid #fff;
 border-right: min(.4rem,calc(4vw/12.8)) solid #fff;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right:min(4rem,calc(40vw/12.8));
 transition: .4s;
}

@media (hover: hover)  and (pointer: fine){
 .entry_btn a:where(:any-link, :enabled, summary):hover span{
  filter: none;
 }
 .entry_btn a:where(:any-link, :enabled, summary):hover{
  background-color: #fff;
 }
 .entry_btn a:where(:any-link, :enabled, summary):hover::before{
  border-color: #b5002b;
 }
}



@media screen and (max-width: 767px) {
 .entry_btn {
  position: fixed;
  bottom: 0;
  width: 100%;
  margin: 0 auto;
  z-index: 20;
  padding: 0;
 }
 .entry_btn a {
  width: 100%;
  padding:1.7rem 0;
  border: none;
  border-top: #fff solid .2rem;
 }
 .entry_btn a span {
  width:6.2rem;
  font-size: 0;
 }
 .entry_btn a::before {
  width: .8rem;
  height: .8rem;
  border-top:.2rem solid #fff;
  border-right:.2rem solid #fff;
  right:2.4rem;
 }
 }





 .page_top {
  width: min(108rem, calc(1080vw / 12.8));
  margin: 0 auto;
  text-align: left;
  padding: min(16rem, calc(160vw / 12.8)) 0 min(2.5rem, calc(25vw / 12.8));
 }

 .people .page_top {
  padding: min(18rem, calc(180vw / 12.8)) 0 min(2.5rem, calc(25vw / 12.8));
 }
 .about .page_top ,
 .culture .page_top {
  padding: min(18rem, calc(180vw / 12.8)) 0 min(4rem, calc(40vw / 12.8));
 }
 .page_top_ttl{
  display: block;
  font-size: 2.2rem;
  font-weight: 600;
  color: #B5002B;
  letter-spacing: 0.08em;
 }

 @media screen and (max-width: 767px) {
  .page_top {
   width: 32rem;
   padding: 9rem 0 1.8rem;
  }

  .people .page_top {
   padding: 9rem 0 1.8rem;
  }
  .about .page_top ,
  .culture .page_top {
   padding: 9rem 0 1.6rem;
  }

  .page_top_ttl {
   display: flex;
   align-items: center;
   width: 100%;
   font-size: 1.3rem;
   letter-spacing: 0.01em;
  }

 }
