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

/*                        header                          */
header {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 99;
}
.hd_inner {
 background-color: #ffffff;
 padding: min(2rem, calc(20vw / 13.66)) min(4rem, calc(40vw / 13.66));
 border-bottom: min(0.1rem, calc(1vw / 13.66)) solid #cbcbcb;
 box-sizing: border-box;
 position: relative;
 z-index: 5;
}

.hd_flex {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.hd_logo {
 width: min(33.5rem, calc(335vw / 13.66));
}
.hd_logo a {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.hd_logo_img {
 width: min(19.7rem, calc(197vw / 13.66));
}
.hd_logo a span:last-of-type {
 font-size: 1.4rem;
 font-weight: 500;
 letter-spacing: 0.04em;
 color: #000000;
 font-family:YakuHanJP, 'Roboto', sans-serif;
}
.hd_menu {
 width: min(81.5rem, calc(815vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu ul {
 width: min(62rem, calc(620vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu li a,
.hd_menu li button {
 font-size: 1.6rem;
 font-weight: 500;
 color: #000;
 display: block;
 position: relative;
 line-height: 2;
 transition: .4s;
}
.hd_menu li a::before ,
.hd_menu li button::before {
 content: "";
 width: 100%;
 height: min(0.2rem, calc(2vw / 13.66));
 background: #ffeba4;
 background: linear-gradient(90deg, rgba(255, 235, 164, 1) 0%, rgba(139, 243, 215, 1) 50%, rgba(112, 179, 255, 1) 100%);
 position: absolute;
 bottom: 0;
 left: 0;
 transition: 0.4s;
 transform: scale(0, 1);
}
.hd_menu li:nth-of-type(1) button.active {
 color: #0050af;
}
.hd_menu li:nth-of-type(2) button.active {
 color: #00a445;
}
.hd_btn {
 width: min(16rem, calc(160vw / 13.66));
}
.hd_btn button {
 display: block;
 width: 100%;
 border-radius: min(3rem, calc(30vw / 13.66));
 background: #ffeba4;
 background: linear-gradient(90deg, rgba(255, 235, 164, 1) 0%, rgba(255, 235, 164, 1) 25%, rgba(139, 243, 215, 1) 50%, rgba(112, 179, 255, 1) 75%, rgba(112, 179, 255, 1) 100%);
 color: #000;
 font-size: 2rem;
 letter-spacing: 0.04em;
 padding: min(1.5rem, calc(15vw / 13.66)) 0;
 transition: .4s;
 position: relative;
 overflow: hidden;
}
.hd_btn button::before {
 content: '';
 width: 100%;
 height: 100%;
 background: #FFE278;
background: linear-gradient(90deg, rgba(255, 226, 120, 1) 0%, rgba(142, 232, 84, 1) 35%, rgba(0, 195, 100, 1) 65%, rgba(0, 136, 255, 1) 100%);
position: absolute;
top: 0;
left: 0;
transition: .4s;
opacity: 0;
}
.hd_btn button span {
 position: relative;
 z-index: 5;
}

@media (hover: hover) and (pointer: fine) {
 .hd_menu li a:where(:any-link, :enabled, summary):hover::before ,
 .hd_menu li button:where(:any-link, :enabled, summary):hover::before {
  transform: scale(1, 1);
 }
 .hd_btn button:where(:any-link, :enabled, summary):hover {
  color: #fff;
 }
 .hd_btn button:where(:any-link, :enabled, summary):hover::before {
  opacity: 1;
 }
 .hd_logo a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}

.nav {
 display: none;
}

.hd_menu_item {
 width: 100%;
 position: absolute;
 top: 0;
 padding: min(15rem, calc(150vw / 13.66)) 0 min(5rem, calc(50vw / 13.66));
 background-color: #ffffffe6;
 z-index: 1;
 border-radius:  0  0 min(2rem, calc(20vw / 13.66)) min(2rem, calc(20vw / 13.66));
 display: none;
}
.hd_menu_item ul {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(10rem, calc(100vw / 13.66));
}
.hd_menu_item li {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(10rem, calc(100vw / 13.66));
}
.hd_menu_06.hd_menu_item li {
 gap: 0 min(2rem, calc(20vw / 13.66));
}
.hd_menu_item li a{
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(2rem, calc(20vw / 13.66));
}
.hd_menu_item li a > span{
 width: min(17rem, calc(170vw / 13.66));
 border-radius: min(2rem, calc(20vw / 13.66)) ;
 overflow: hidden;
 position: relative;
}
.hd_menu_item li a > span::before {
 content: '';
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 transition: .4s;
 opacity: 0;
 mix-blend-mode: multiply;
}
.hd_menu_01 li a > span::before  {
 background: #559BF8;
background: linear-gradient(90deg, rgba(85, 155, 248, 1) 0%, rgba(159, 209, 244, 0) 100%);
}
.hd_menu_02 li a > span::before  {
 background: #93E95B;
background: linear-gradient(90deg, rgba(147, 233, 91, 1) 0%, rgba(231, 250, 219, 0) 100%);
}
.hd_menu_04 li a > span::before  {
 background: #FFC300;
background: linear-gradient(90deg, rgba(255, 195, 0, 1) 0%, rgba(255, 255, 212, 0) 100%);
}

.hd_menu_item li a p,.hd_menu_06  li  p{
 font-size: 1.6rem;
 font-weight: 500;
 color: #000000;
 display: flex;
 align-items: center;
 gap: 0 min(2rem, calc(20vw / 13.66));
 transition: .4s;
}


.hd_menu_item li a p span {
 width:  min(.8rem, calc(8vw / 13.66)) ;
 height:  min(1.1rem, calc(11vw / 13.66)) ;
 background: url(../images/common/arrow_b.svg) no-repeat;
 background-size: cover;
 position: relative;
}

.hd_menu_item li a p span::after {
 content: '';
 width:  min(.8rem, calc(8vw / 13.66)) ;
 height:  min(1.1rem, calc(11vw / 13.66)) ;
 background: url(../images/common/arrow_b.svg) no-repeat;
 background-size: cover;
 transition: .4s;
 z-index: 1;
 opacity: 0;
 position: absolute;
 top: 0;
 left: 0;
}
 .hd_menu_01 li a p span::after{
  filter: brightness(0) saturate(100%) invert(15%) sepia(98%) saturate(2944%) hue-rotate(200deg) brightness(101%) contrast(108%);
 }
 .hd_menu_02 li a p span::after{
  filter: brightness(0) saturate(100%) invert(52%) sepia(74%) saturate(7314%) hue-rotate(137deg) brightness(103%) contrast(104%);
 }
 .hd_menu_04 li a p span::after{
  filter: brightness(0) saturate(100%) invert(53%) sepia(84%) saturate(1457%) hue-rotate(3deg) brightness(106%) contrast(102%);
 }
 .hd_menu_05 li a p span::after{
  filter: brightness(0) saturate(100%) invert(77%) sepia(23%) saturate(5732%) hue-rotate(310deg) brightness(114%) contrast(108%);
 }
 .hd_menu_06 li a p span::after{
  filter: brightness(0) saturate(100%) invert(30%) sepia(85%) saturate(1157%) hue-rotate(98deg) brightness(95%) contrast(101%);
 }

.hd_menu_item li.blank_btn a p::after{
 content: none;
}
.hd_menu_item li.blank_btn a span{
 width:  min(26.6rem, calc(266vw / 13.66)) ;
 background: #A6FFFF;
background: linear-gradient(90deg, rgba(166, 255, 255, 1) 0%, rgba(85, 155, 248, 1) 100%);
font-size: 2.8rem;
font-weight: 700;
color: #000000;
padding: min(.7rem, calc(7vw / 13.66))  0;
gap: 0 min(2.5rem, calc(25vw / 13.66));
display: flex;
justify-content: center;
align-items: center;
transition: .4s;
}
.hd_menu_item li.blank_btn a span::after {
 content: '';
 width:  min(2rem, calc(20vw / 13.66)) ;
 height:  min(2rem, calc(20vw / 13.66)) ;
 background: url(../images/common/blank.svg) no-repeat;
 background-size: cover;
}


@media (hover: hover) and (pointer: fine) {
 .hd_menu_item li a:where(:any-link, :enabled, summary):hover p span::after{
  opacity: 1;
 }
 .hd_menu_01 li a:where(:any-link, :enabled, summary):hover p{
  color: #0050af;
 }
 .hd_menu_02 li a:where(:any-link, :enabled, summary):hover p{
  color: #00a445;
 }
 .hd_menu_04 li a:where(:any-link, :enabled, summary):hover p{
  color: #ff9600;
 }
 .hd_menu_05 li a:where(:any-link, :enabled, summary):hover p{
  color: #ff8c8c;
 }
 .hd_menu_06 li a:where(:any-link, :enabled, summary):hover p{
  color: #008712;
 }
 .hd_menu_06 li a:where(:any-link, :enabled, summary):hover span{
  transform: scale(1.05);
 }
 .hd_menu_item li a:where(:any-link, :enabled, summary):hover  > span::before{
  opacity: 1;
 }
}




@media screen and (max-width: 767px) {
.hd_inner {
 padding:1.2rem 2.5rem;
}
.hd_logo {
 width: 23.3rem;
}
.hd_logo_img {
 width: 13.3rem;
 aspect-ratio: 133 / 28;
}
.hd_logo a span:last-of-type {
 font-size: 1rem;
}
.hd_menu {
 display: none;
}

.nav_btn {
 width: 2.5rem;
 box-sizing: border-box;
 padding: 0.8rem 0;
 position: relative;
 z-index: 1;
}
.nav_btn span{
 display: block;
 width: 2.5rem;
 box-sizing: border-box;
 height: 0.2rem;
 background-color: #000;
 transition: .4s;
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn::before,
.nav_btn::after{
 content: '';
 width: 100%;
 box-sizing: border-box;
 height: 0.2rem;
 background-color: #000;
 position: absolute;
 left: 0;
 transition: .4s;
}
.nav_btn::before {
 top: 0;
}
.nav_btn::after {
 bottom: 0;
}
.nav_btn.open::before {
 top: .8rem;
 transform: rotate(35deg);
}
.nav_btn.open::after {
 bottom: .8rem;
 transform: rotate(-35deg);
}

.nav {
 width: 100%;
 height: 100vh;
 height: 100dvh;
 position: fixed;
 top: 0;
 left: 0;
 overflow: scroll;
}
.nav_bg {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.nav_inner {
 width: 29rem;
 margin-left: auto;
 background-color: #fff;
 border-radius:  0 0 0 2.5rem;
 padding: 6rem 0 3.5rem;
 position: relative;
}
.nav_menu {
 width: 18.3rem;
 margin: 0 auto 1.5rem;
 text-align: left;
}
.nav_menu ul {
 margin-bottom: 1rem;
}
.nav_menu li.ttl {
 font-size: 1.5rem;
 font-weight: 500;
}
.nav_menu ul:nth-of-type(1) li.ttl {
 color: #0050af;
}
.nav_menu ul:nth-of-type(2) li.ttl {
 color: #00a445;
}
.nav_menu ul:nth-of-type(3) li.ttl {
 color: #00a2c1;
}
.nav_menu ul:nth-of-type(4) li.ttl {
 color: #ff9600;
}
.nav_menu ul:nth-of-type(5) li.ttl {
 color: #ff8c8c;
}
.nav_menu ul li a {
 display: block;
 width: 100%;
 font-size: 1.2rem;
 font-weight: 500;
 color: #000000;
 position: relative;
}
.nav_menu ul li a::after {
 content: '';
 width: .6rem;
 height: 0.9rem;
 background: url(../images/common/arrow_b.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
}

.nav_other {
 border-top: #aaaaaa solid .1rem;
}
.nav_other_item {
 width: 18.5rem;
 margin: 2rem  auto 0;
 text-align: left;
}
.nav_other_item .ttl {
 font-size: 1.5rem;
 font-weight: 500;
}
.nav_other_item ul {
 display: flex;
 justify-content: space-between;
 flex-direction: column;
 gap: 1rem 1.5rem;
}
.nav_other_item ul li{
 width: 11rem;
}
.nav_other_item:last-of-type ul li {
 width: 100%;
}
.nav_other_item li a {
 font-size: 1.2rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 1rem;
 color: #000000;
 border-radius: .6rem;
 background: #A6FFFF;
background: linear-gradient(90deg, rgba(166, 255, 255, 1) 0%, rgba(85, 155, 248, 1) 100%);
padding: 0.6rem 0;
}
.nav_other_item:last-of-type ul li a{
 background: #CFF9AE;
background: linear-gradient(90deg, rgba(207, 249, 174, 1) 0%, rgba(142, 232, 84, 1) 100%);
}
.nav_other_item li a::after {
 content: '';
 width: 1.1rem;
 height: 1.1rem;
 background: url(../images/common/blank.svg) no-repeat;
 background-size: cover;
}
.nav_other_item:last-of-type ul li a::after {
 width: 1.5rem;
 height: 1rem;
 background: url(../images/common/nav_arrow.svg) no-repeat;
 background-size: cover;
}

}

/*                      breadcrumb                       */

.breadcrumb {
 margin-top: min(10rem, calc(100vw / 13.66));
 background-color: #f1f1f1;
 box-sizing: border-box;
}
.breadcrumb ul {
 width: min(118rem, calc(1180vw / 13.66));
 margin: 0 auto;
 display: flex;
 align-items: center;
 gap: 0 min(1rem, calc(10vw / 13.66));
 padding: min(1rem, calc(10vw / 13.66)) 0;
}
.breadcrumb ul li,
.breadcrumb ul li a {
 display: flex;
 align-items: center;
 font-size: 1.4rem;
 letter-spacing: 0.08em;
 font-weight: 500;
 color: #000;
 gap: 0 min(1rem, calc(10vw / 13.66));
 line-height: 1.5;
 position: relative;
}

.breadcrumb ul li:not(:last-of-type):after {
 content: "";
 width: min(0.8rem, calc(8vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 background: url(../images/common/arrow_b.svg) no-repeat;
 background-size: cover;
}

.breadcrumb ul li a::before {
 content: "";
 width: 100%;
 height: min(0.2rem, calc(2vw / 13.66));
 background-color: #000;
 position: absolute;
 bottom: 0;
 left: 0;
 transition: 0.4s;
 transform: scale(0, 1);
}
@media (hover: hover) and (pointer: fine) {
.breadcrumb ul li  a:where(:any-link, :enabled, summary):hover::before {
  transform: scale(1, 1);
 }
}

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

.breadcrumb {
 margin-top: 5.2rem;
 border-top:.2rem solid #cbcbcb;
}
.breadcrumb ul {
 width: 32.5rem;
 gap: 0 1rem;
 padding: .5rem 0;
 overflow-x: scroll;
 white-space: nowrap;
}
.breadcrumb ul li,
.breadcrumb ul li a {
 font-size: 1rem;
 gap: 0 1rem;
}

.breadcrumb ul li:not(:last-of-type)::after {
 width: .6rem;
 height: .8rem;
}

.breadcrumb ul li a::before {
 content: none;
}

}

/*                        page                          */

.page .mv_inner {
 padding-top: min(8rem, calc(80vw / 13.66));
 position: relative;
}
 .page .mv_img {
  overflow: hidden;
 }
 .page .mv_img  img{
  transform: scale(1.2);
  opacity: 0;
  transition: 1s;
 }
 .page .mv_img.show  img{
  transform: scale(1);
  opacity: 1;
 }
.page .mv_ttl {
 font-family: YakuHanJP, "Roboto", sans-serif;
 font-size: 14rem;
 font-weight: 700;
 color: #fff;
 position: absolute;
 top: min(1rem, calc(10vw / 13.66));
 left: min(8.5rem, calc(85vw / 13.66));
 line-height: 1;
 clip-path: inset(0 100% 0 0);
 transition: .7s;
}
.mv_sab_ttl {
 width: min(75rem, calc(750vw / 13.66));
 background: #ffffff;
 background: linear-gradient(90deg, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0) 100%);
 box-sizing: border-box;
 text-align: left;
 font-size: 3.4rem;
 font-weight: 700;
 padding-left: min(8.5rem, calc(85vw / 13.66));
 position: absolute;
 top: min(15rem, calc(150vw / 13.66));
 left: 0;
 line-height: 1.2;
 clip-path: inset(0 100% 0 0);
 transition: .7s;
 transition-delay: .8s;
}
.page .mv_ttl.show,
.mv_sab_ttl.show {
 clip-path: inset(0 0 0 0);

}


@media screen and (max-width: 767px) {
 .page .mv_img {
 aspect-ratio: 375/250;
}
 .page .mv_inner {
 padding-top:3.5rem;
}
.page .mv_ttl {
 font-size: 6rem;
 top: 1.5rem;
 left: 2rem;
}
.mv_sab_ttl {
 width:31.5rem;
 font-size: 1.6rem;
 padding-left: 2.4rem;
 top: 8rem;
}
}

/*                        page                          */
.page_inner {
 position: relative;
 z-index: 1;
 background-color: #f1f1f1;
}
.page_bg {
 width: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 0;
}

.page_top {
 width: min(117rem, calc(1170vw / 13.66));
 margin: 0 auto;
 padding: min(11.5rem, calc(115vw / 13.66)) 0;
 text-align: justify;
 position: relative;
 z-index: 1;
}
.page_top_ttl {
 font-size: 4rem;
 font-weight: 700;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.page_top_txt {
 font-size: 1.8rem;
 line-height: 2.2;
 font-weight: 500;
}


.page_banner {
 background-color: #fff;
 padding: min(7.5rem, calc(75vw / 13.66)) 0;
}
.page_banner a {
 display: block;
 width: min(117rem, calc(1170vw / 13.66));
 margin: 0 auto;
}
.page_banner_inner {
 padding: min(6.5rem, calc(75vw / 13.66)) 0;
 margin: 0  auto;
 position: relative;
 text-align: left;
}

.banner_ttl {
 font-size: 4rem;
 font-weight: 700;
 color: #ffffff;
 padding-left: min(7.5rem, calc(75vw / 13.66));
 position: relative;
 box-sizing: border-box;
 display: inline-block;
 line-height: 1.6;
 margin-bottom: min(2rem, calc(20vw / 13.66));
}
.banner_ttl::before {
 content: '';
 width: 100%;
 height: min(.4rem, calc(4vw / 13.66));
 background: #99F270;
background: linear-gradient(90deg, rgba(153, 242, 112, 1) 0%, rgba(255, 243, 110, 1) 50%, rgba(85, 155, 248, 1) 100%);
 position: absolute;
 bottom: 0;
 left: 0;
}

.banner_txt {
 font-size: 2rem;
 font-weight: 500;
 line-height: 1.9;
 padding-left: min(7.5rem, calc(75vw / 13.66));
 color: #fff;
}

.btn {
 width: min(16rem, calc(160vw / 13.66));
}
.btn a{
 display: block;
 width: 100%;
 box-sizing: border-box;
 border: solid #000000  min(.1rem, calc(1vw / 13.66));
 border-radius:  min(2.5rem, calc(25vw / 13.66));
 font-size: 1.3rem;
 font-weight: 500;
 letter-spacing: .04em;
 box-sizing: border-box;
 padding:  min(1rem, calc(10vw / 13.66)) 0;
 padding-left:  min(3rem, calc(30vw / 13.66));
 text-align: left;
 color: #231815;
 position: relative;
 background-color: #ffffffb3;
}
.btn.blue a {
 background: #A6FFFF;
background: linear-gradient(90deg, rgba(166, 255, 255, 1) 0%, rgba(85, 155, 248, 1) 100%);
}
.btn.green a {
background: #EFFFDF;
background: linear-gradient(90deg, rgba(239, 255, 223, 1) 0%, rgba(142, 232, 84, 1) 100%);
}
.btn.yellow a {
 background: #FFFFD4;
background: linear-gradient(90deg, rgba(255, 255, 212, 1) 0%, rgba(255, 203, 62, 1) 100%);
}
.btn a::after {
 content: '';
width:  min(2.4rem, calc(24vw / 13.66));
height: min(1.6rem, calc(16vw / 13.66));
background: url(../images/common/btn_arrow.svg) no-repeat;
background-size: cover;
position: absolute;
top: 50%;
transform: translateY(-50%);
right:  min(2rem, calc(20vw / 13.66));
}

.banner_btn {
 width: min(9rem, calc(90vw / 13.66));
 position: absolute;
 bottom: min(5rem, calc(50vw / 13.66));
 right: min(5rem, calc(50vw / 13.66));
 border-radius: min(2.5rem, calc(25vw / 13.66));
 height: min(4.6rem, calc(46vw / 13.66));
 box-sizing: border-box;
 border: min(0.1rem, calc(1vw / 13.66)) solid #000;
 transition: .4s;
}

.banner_btn::before {
 content: '';
width:  min(2.4rem, calc(24vw / 13.66));
height: min(1.6rem, calc(16vw / 13.66));
background: url(../images/common/btn_arrow.svg) no-repeat;
background-size: cover;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
right: 0;
margin: 0 auto;
}


@media (hover: hover)  and (pointer: fine){
 .page_banner  a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
 .page_banner  a:where(:any-link, :enabled, summary):hover .banner_btn{
  transform: scale(1.1);
 }
  .btn a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}



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

.page_top {
 width: 32.5rem;
 padding:4.5rem 0 7rem;
}
.page_top_ttl {
 font-size: 2.5rem;
 line-height: 1.4;
 margin-bottom: 1rem;
}
.page_top_txt {
 font-size: 1.4rem;
 line-height: 1.75;
}


.page_banner {
 padding:5rem 0;
}
.page_banner a {
 width: 32.5rem;
}
.page_banner_inner {
 padding:2.5rem 0;
}
.banner_ttl {
 font-size: 2rem;
 padding-left: 2rem;
 margin-bottom: 1rem;
}
.banner_ttl::before {
 height:.3rem;
}

.banner_txt {
 font-size: 1.4rem;
 line-height: 1.75;
 padding-left:1.2rem;
}

.banner_btn {
 width: 5.4rem;
 bottom: 2rem;
 right: 2rem;
 border-radius: 1.5rem;
 height: 2.8rem;
 border: .1rem solid #000;
}

.banner_btn::before {
width: 1.5rem;
height:1rem;
}


.btn {
 width:10rem;
}
.btn a{
 border: solid #000000  .1rem;
 border-radius: 1.5rem;
 font-size: 1rem;
 padding: .3rem 0;
 padding-left:  1.3rem;
}
.btn a::after {
width: 1.4rem;
height:1rem;
right: 1rem
}

}



/*                        footer                          */
footer {
 position: relative;

}
.footer_inner {
 background-color: #f1f1f1;
 position: relative;
 z-index: 2;
}
.page_top_btn {
 width:  min(9rem, calc(90vw / 13.66));
 position: absolute;
 top:  max(-5.8rem, calc(-58vw / 13.66));
 right:  min(5rem, calc(50vw / 13.66));
 z-index: 1;
}
.page_top_btn a {
 display: block;
}
.footer_menu {
 width: min(53rem, calc(530vw / 13.66));
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: min(2rem, calc(20vw / 13.66)) 0;
 transform-origin: bottom;
}
.footer_menu a {
 font-size: 1.6rem;
 font-weight: 500;
 color: #000000;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(0.5rem, calc(5vw / 13.66));
 position: relative;
}
.footer_menu a::after {
 content: '';
 width: min(1.5rem, calc(15vw / 13.66));
 height: min(1.5rem, calc(15vw / 13.66));
 background: url(../images/common/blank.svg) no-repeat;
 background-size: cover;
 position: relative;
}
.footer_menu a::before {
 content: "";
 width: 100%;
 height: min(0.2rem, calc(2vw / 13.66));
 background-color: #000;
 position: absolute;
 bottom: 0;
 left: 0;
 transition: 0.4s;
 transform: scale(0, 1);
}
@media (hover: hover) and (pointer: fine) {
 .footer_menu  a:where(:any-link, :enabled, summary):hover::before {
  transform: scale(1, 1);
 }
 .page_top_btn  a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.1);
 }
}

.copy {
 background-color: #000000;
 font-size: 1.4rem;
 font-family:YakuHanJP, 'Roboto', sans-serif;
 letter-spacing: 0.15em;
 color: #fff;
 padding: min(.6rem, calc(6vw / 13.66)) 0  ;
}


@media screen and (max-width: 767px) {
.page_top_btn {
 width:  4.6rem;
 top: -4.5rem;
 right: 2.5rem;;
}
.footer_menu {
 width:31.2rem;
 padding:.8rem 0;
}
.footer_menu a {
 font-size: 1.1rem;
 gap: 0 .3rem;
}
.footer_menu a::after {
 width: 1rem;
 height: 1rem;
}
.footer_menu a::before {
 content: none;
}
.copy {
 font-size: 1rem;
 padding: .2rem 0  ;
}

}
