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

.ft_round {
 font-family: YakuHanJP, "M PLUS Rounded 1c", sans-serif;
 font-weight: 500;
}

a[href^="tel:"] {
 color: #505050;
}
footer a[href^="tel:"] {
 color: #221714;
}
a[href^="mailto:"] {
 color: #505050;
}

iframe {
 width: 100%;
 height: 100%;
 border: none;
 aspect-ratio: 16 / 9;
  display: block;
}

/*                              header                            */
header {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 99;
 transition: 0.4s;
}
header.show {
 background-color: #fff;
}
#wrapper header.show {
 background-color: #fff8e3;
}
.hd_inner {
 width: 100%;
 margin: 0 auto;
 padding: min(1.5rem, calc(15vw / 12)) min(5rem, calc(50vw / 12));
 position: relative;
 box-sizing: border-box;
}
.hd_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-top: max(-1.5rem, calc(-15vw / 12));
}

.logo {
 width: min(31.2rem, calc(312vw / 12));
}
.hd_menu {
 width: min(75.5rem, calc(755vw / 12));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu ul {
 width: min(71rem, calc(710vw / 12));
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.hd_menu ul li {
 display: flex;
 align-items: flex-end;
}
.hd_menu ul li span {
 width: min(3.5rem, calc(35vw / 12));
 margin-right: min(0.5rem, calc(5vw / 12));
}
.hd_menu ul li:nth-of-type(3) span,
.hd_menu ul li:nth-of-type(5) span,
.hd_menu ul li:nth-of-type(6) span {
 width: min(2.3rem, calc(23vw / 12));
}
.hd_menu ul li a,
.hd_menu ul li button {
 color: #505050;
 font-size: 1.4rem;
 font-weight: bold;
 letter-spacing: 0.08em;
 line-height: 1.2;
 border-bottom: min(0.1rem, calc(1vw / 12)) #505050 solid;
}
.hd_menu ul li.now span {
 filter: brightness(0) saturate(100%) invert(9%) sepia(95%) saturate(7165%) hue-rotate(8deg) brightness(87%) contrast(112%);
}
.hd_menu ul li.now a,
.hd_menu ul li.now button {
 color: #cb0000;
 border-color: #cb0000;
}
.hd_menu ul li.living {
 position: relative;
}
.living_menu {
 position: absolute;
 width: min(21.5rem, calc(215vw / 12));
 top: 0;
 left: 70%;
 transform: translateX(-50%);
 display: none;
}
.living_menu ul {
 margin-top: min(4rem, calc(40vw / 12));
 box-sizing: border-box;
 padding: min(4rem, calc(40vw / 12)) min(2.5rem, calc(25vw / 12));
 background-color: #eb5f5c;
 border-radius: min(1.5rem, calc(15vw / 12));
 width: 100%;
 display: flex;
 flex-direction: column;
 gap: min(2rem, calc(20vw / 12)) 0;
 position: relative;
}
.living_menu ul li {
 width: 100%;
}
.living_menu ul a {
 display: block;
 width: 100%;
 position: relative;
}
.living_menu ul a::after {
 content: "";
 width: min(0.8rem, calc(8vw / 12));
 height: min(1.2rem, calc(12vw / 12));
 background: url(../images/common/arrow_02.svg) no-repeat;
 background-size: cover;
 position: absolute;
 bottom: min(1rem, calc(10vw / 12));
 right: 0;
 filter: brightness(0) invert(1);
 transition: 0.4s;
}
.living_menu ul::before {
 content: "";
 width: 100%;
 height: 100%;
 opacity: 0.5;
 mix-blend-mode: color-burn;
 background: url(../images/common/hd_menu_bg.webp) no-repeat;
 background-size: cover;
 top: 0;
 left: 0;
 position: absolute;
 pointer-events: none;
 border-radius: min(1.5rem, calc(15vw / 12));
}
.hd_menu ul li .living_menu a {
 color: #fff;
 text-align: left;
 border-color: #fff;
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.5;
 letter-spacing: 0.08em;
}

.nav_btn {
 width: min(2.8rem, calc(28vw / 12));
 position: relative;
 box-sizing: border-box;
 padding: min(0.7rem, calc(7vw / 12)) 0;
 z-index: 50;
}
.nav_btn span {
 display: block;
 width: 100%;
 border: min(0.1rem, calc(1vw / 12)) #505050 solid;
 box-sizing: border-box;
 position: relative;
 transition: 0.4s;
}
.nav_btn span::after {
 content: "MENU";
 font-size: 1rem;
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
 font-weight: 600;
 color: #505050;
 letter-spacing: 0.08em;
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
 bottom: max(-2.2rem, calc(-22vw / 12));
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn::before,
.nav_btn::after {
 content: "";
 width: 100%;
 border: min(0.1rem, calc(1vw / 12)) #505050 solid;
 box-sizing: border-box;
 position: absolute;
 left: 0;
 transition: 0.4s;
}
.nav_btn::before {
 top: 0;
}
.nav_btn::after {
 bottom: 0;
}
.nav_btn.open::before {
 border-color: #fff;
 top: min(0.7rem, calc(7vw / 12));
 transform: rotate(135deg);
}
.nav_btn.open::after {
 border-color: #fff;
 bottom: min(0.7rem, calc(7vw / 12));
 transform: rotate(-135deg);
}

#head_search_form {
 width: min(17rem, calc(170vw / 12));
 margin-left: auto;
}
.search-box {
 position: relative;
 width: 100%;
}
.hd_inner .search-input {
 padding: 0;
 margin: 0;
 width: 100%;
 box-sizing: border-box;
 border: #505050 solid min(0.1rem, calc(1vw / 12));
 border-radius: min(0.5rem, calc(5vw / 12));
 font-size: 1.6rem;
 padding: min(0.25rem, calc(2.5vw / 12)) min(1rem, calc(10vw / 12));
 padding-left: min(3.5rem, calc(35vw / 12));
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}
.search-btn {
 background: none;
 border: none;
 width: min(2rem, calc(20vw / 12));
 height: min(2rem, calc(20vw / 12));
 background: url(../images/common/search_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(1rem, calc(10vw / 12));
}

.side_menu {
 position: fixed;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
 display: flex;
 flex-direction: column;
 z-index: 99;
}
.side_menu li {
 width: min(4.8rem, calc(48vw / 12));
 height: min(16rem, calc(160vw / 12));
 text-align: center;
}
.side_menu a {
 width: 100%;
 height: 100%;
 font-size: 1.7rem;
 letter-spacing: 0.3em;
 color: #fff;
 writing-mode: vertical-rl;
 background-color: #cb0000;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: min(1rem, calc(10vw / 12)) 0 0 min(1rem, calc(10vw / 12));
 box-sizing: border-box;
 border: min(0.2rem, calc(2vw / 12)) solid #cb0000;
 border-right: none;
}
.side_menu li:last-of-type {
 height: min(19rem, calc(190vw / 12));
}
.side_menu li:last-of-type a {
 background-color: #fff;
 border: min(0.2rem, calc(2vw / 12)) solid #cb0000;
 border-right: none;
 color: #cb0000;
 display: flex;
 align-items: center;
 gap: 0 min(0.5rem, calc(5vw / 12))  ;
}
.side_menu li:last-of-type a::after {
 content: "";
 content: "";
 width: min(2.1rem, calc(21vw / 12));
 height: min(2.2rem, calc(22vw / 12));
 background: url(../images/common/blank_icon_red.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .logo a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
 .hd_menu a:where(:any-link, :enabled, summary):hover {
  border-bottom: none;
 }
 .hd_menu li.living a:where(:any-link, :enabled, summary):hover {
  border-bottom: min(0.1rem, calc(1vw / 12)) solid #fff;
  opacity: 0.7;
 }
 .side_menu a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
  color: #cb0000;
 }
 .side_menu li:last-of-type a:where(:any-link, :enabled, summary):hover {
  background-color: #cb0000;
  color: #fff;
 }
 .side_menu li:last-of-type a:where(:any-link, :enabled, summary):hover::after {
  filter: brightness(0) invert(1);
 }
}

.nav {
 position: absolute;
 height: 100vh;
 height: 100dvh;
 top: min(5rem, calc(50vw / 12));
 right: max(-1.5rem, calc(-15vw / 12));
 overflow: scroll;
 z-index: 10;
 display: none;
 border-radius: min(1.5rem, calc(15vw / 12));
}
.nav_inner {
 padding-bottom: min(5rem, calc(50vw / 12));
}

.nav_item {
 width: min(41.3rem, calc(413vw / 12));
 background-color: #eb5f5c;
 border-radius: min(1.5rem, calc(15vw / 12));
 margin: 0 auto;
 padding: min(1rem, calc(10vw / 12)) 0 min(5rem, calc(50vw / 12));
}
.nav form {
 display: none;
}
.nav_logo {
 width: min(24rem, calc(240vw / 12));
 margin-left: min(2.5rem, calc(25vw / 12));
}
.nav_menu ul:last-of-type {
 position: relative;
 border-top: solid #fff min(0.2rem, calc(2vw / 12));
 margin-top: min(4.5rem, calc(45vw / 12));
 padding-top: min(1.5rem, calc(15vw / 12));
}
.nav_menu a,
.nav_menu p {
 display: block;
 width: min(35.2rem, calc(352vw / 12));
 margin: 0 auto;
 font-size: 2rem;
 color: #fff;
 letter-spacing: 0.12em;
 text-align: left;
 position: relative;
 padding: min(2rem, calc(20vw / 12)) 0 0;
}
.nav_menu a::after,
.nav_menu p::after {
 content: "";
 width: min(0.8rem, calc(8vw / 12));
 height: min(1.2rem, calc(12vw / 12));
 background: url(../images/common/arrow_02.svg) no-repeat;
 background-size: cover;
 position: absolute;
 bottom: min(1rem, calc(10vw / 12));
 right: min(1.5rem, calc(15vw / 12));
 filter: brightness(0) invert(1);
 transition: 0.4s;
}
.nav_menu a::before,
.nav_menu a::before,
.nav_menu p::before {
 content: "";
 width: 100%;
 height: min(0.1rem, calc(1vw / 12));
 background: url(../images/common/border.svg) repeat-x;
 background-size: contain;
 position: absolute;
 bottom: 0;
 left: 0;
}
.nav_menu li p::after {
 content: none;
}

@media (hover: hover) and (pointer: fine) {
 .nav_menu a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
}

@media screen and (max-width: 767px) {
 .hd_inner {
  width: 32.5rem;
  padding: .8rem 0;
 }
 .hd_flex {
 margin-top: 0;
}

 .logo {
  width: 17.8rem;
 }
 .hd_menu {
  width: 2.7rem;
 }
 .hd_menu ul {
  display: none;
 }

 .nav_btn {
  width: 100%;
  padding: 0.5rem 0;
 }
 .nav_btn span {
  border: 0.1rem #505050 solid;
 }
 .nav_btn span::after {
  bottom: -2.2rem;
 }
 .nav_btn::before,
 .nav_btn::after {
  border: 0.1rem #505050 solid;
 }
 .nav_btn.open::before {
  top: 0.5rem;
 }
 .nav_btn.open::after {
  bottom: 0.5rem;
 }

 #head_search_form {
  display: none;
 }

 .side_menu {
  width: 100%;
  top: auto;
  bottom: 0;
  transform: none;
  flex-direction: row;
 }
 .side_menu li {
  width: 50%;
  height: auto;
 }
 .side_menu a {
  writing-mode: horizontal-tb;
  font-size: 1.4rem;
  border-radius: 0;
  border: 0.1rem solid #ef7f7d;
  padding: 1rem 0;
 }
  .side_menu li:last-of-type {
   height: auto;
  }
 .side_menu li:last-of-type a {
  border: 0.1rem solid #f39f9d;
  gap: 0 .5rem;
 }
 .side_menu li:last-of-type a::after {
 width: 1.5rem;
 height:1.5rem;
}

 .nav {
  top: 0.5rem;
  right: -1.5rem;
  border-radius: 1rem;
 }
 .nav_inner {
  padding-bottom: 3rem;
 }

 .nav_item {
  width: 25rem;
  border-radius: 1rem;
  padding: 1rem 0 3rem;
  margin-bottom: 5rem;
 }
 .nav form {
  display: block;
  width: 21rem;
  margin: 0 auto;
 }
 .nav .search-input {
  font-size: 1.6rem;
  padding: 0.5rem;
  padding-left: 2.5rem;
 }
 .nav .search-btn {
  width: 1rem;
  height: 1rem;
  left: 1rem;
 }
 .nav_logo {
  width: 17.5rem;
  margin-left: 1.5rem;
  margin-bottom: 1.5rem;
 }
 .nav_menu ul:last-of-type {
  border-top: solid #fff 0.1rem;
  margin-top: 2.5rem;
  padding-top: 1rem;
 }
 .nav_menu a,
 .nav_menu p {
  width: 21rem;
  font-size: 1.2rem;
  padding: 1rem 0 0;
 }
 .nav_menu a::after,
 .nav_menu p::after {
  width: 0.5rem;
  height: 0.6rem;
  bottom: 0.5rem;
  right: 0.3rem;
 }
 .nav_menu a::before,
 .nav_menu p::before {
  height: 0.1rem;
 }
}

.bt_icon {
 overflow: hidden;
}
.bt_icon div {
 width: min(134rem, calc(1340vw / 12));
 position: relative;
 left: 50%;
 transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
 .bt_icon {
  width: 100%;
 }
}

/*                              footer                            */
footer {
 background-color: #fff;
 position: relative;
 z-index: 5;
}
.footer_inner {
 width: min(100rem, calc(1000vw / 12));
 margin: 0 auto;
 padding: min(5rem, calc(50vw / 12)) 0;
}
.footer_flex {
 display: flex;
 justify-content: space-between;
}

.footer_left {
 width: min(58rem, calc(580vw / 12));
 text-align: justify;
}
.footer_contact p {
 font-size: 1.8rem;
 letter-spacing: 0.06em;
 color: #221714;
 line-height: 1.4;
}
.footer_contact span {
 display: block;
 font-size: 1.7rem;
}
.footer_contact_btn {
 width: min(33rem, calc(330vw / 12));
 margin: min(2rem, calc(20vw / 12)) 0 min(4rem, calc(40vw / 12));
}
.footer_contact_btn a {
 display: block;
 background-color: #cb0000;
 box-sizing: border-box;
 border: min(0.2rem, calc(2vw / 12)) solid #cb0000;
 border-radius: min(2rem, calc(20vw / 12));
 font-size: 1.8rem;
 letter-spacing: 0.06em;
 text-align: center;
 width: 100%;
 color: #fff;
 position: relative;
}
.footer_contact_btn a::after {
 content: "";
 width: min(1.2rem, calc(12vw / 12));
 height: min(1.6rem, calc(16vw / 12));
 background: url(../images/common/arrow_02.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 12));
 filter: brightness(0) invert(1);
 transition: 0.4s;
}
.footer_contact_btn a::before {
 content: "";
 width: min(1.2rem, calc(12vw / 12));
 height: min(1.6rem, calc(16vw / 12));
 background: url(../images/common/arrow_02.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 12));
 filter: brightness(1) invert(0);
 transition: 0.4s;
 z-index: 1;
 opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
 .footer_contact_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
  color: #cb0000;
 }
 .footer_contact_btn a:where(:any-link, :enabled, summary):hover::before {
  opacity: 1;
 }
}
.footer_txt {
 font-size: 1.8rem;
 color: #221714;
 line-height: 1.55;
}
.footer_right {
 width: min(38.5rem, calc(385vw / 12));
}
.share_menu {
 display: flex;
 align-items: center;
 gap: 0 min(2rem, calc(20vw / 12));
 justify-content: flex-end;
}
.fb-share-button {
 font-size: 0;
}
.footer_logo {
 width: min(26.5rem, calc(265vw / 12));
 margin: min(5rem, calc(50vw / 12)) 0 min(2rem, calc(20vw / 12));
 margin-left: auto;
}
.copy {
 font-size: 1.4rem;
 color: #221714;
 letter-spacing: 0.02em;
 text-align: right;
}

.share_menu iframe {
 -ms-overflow-style: none;
 scrollbar-width: none;
 overflow: hidden;
}

.share_menu iframe::-webkit-scrollbar {
 display: none; /* Chrome, Safari */
}

@media screen and (max-width: 767px) {
 .footer_inner {
  width: 100%;
  padding: 3rem 0 1.5rem;
  margin-bottom: 5rem;
 }
 .footer_flex {
  flex-direction: column;
  align-items: center;
  gap: 3rem 0;
 }

 .footer_left {
  width: 100%;
  text-align: center;
 }
 .footer_contact p {
  font-size: 1.5rem;
  line-height: 1.66;
 }
 .footer_contact span {
  font-size: 1.2rem;
  margin-bottom: 1rem;
 }
 .footer_contact_btn {
  width: 23.5rem;
  margin: 1.5rem auto;
 }
 .footer_contact_btn a {
  border: 0.1rem solid #cb0000;
  border-radius: 1.3rem;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
 }
 .footer_contact_btn a::after {
  width: 0.8rem;
  height: 1.1rem;
  right: 1.5rem;
 }
 .footer_contact_btn a::before {
  content: none;
 }
 .footer_txt {
  font-size: 1.3rem;
  text-align: center;
 }
 .footer_right {
  width: 100%;
 }
 .share_menu {
  gap: 0 1rem;
  justify-content: center;
 }
 .footer_logo {
  width: 13.6rem;
  margin: 2.3rem auto 1.5rem;
 }
 .copy {
  font-size: 1rem;
  text-align: center;
 }
}

/*                              page                            */
.page_contents {
 padding-top: min(12rem, calc(120vw / 12));
 position: relative;
}
.breadcrumb {
 width: min(106rem, calc(1060vw / 12));
 margin: 0 auto;
 display: flex;
 justify-content: flex-start;
 gap: 0 min(2rem, calc(20vw / 12));
}
.breadcrumb li,
.breadcrumb li a {
 font-size: 1.2rem;
 color: #505050;
}
.breadcrumb li a {
 text-decoration: underline;
}
.page_bg {
 width: min(101rem, calc(1010vw / 12));
 position: absolute;
 top: min(16rem, calc(160vw / 12));
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: -1;
}

.page_top {
 margin-top: min(13.5rem, calc(135vw / 12));
}
.page_txt {
 font-size: 1.8rem;
 letter-spacing: 0.14em;
 margin-top: min(4rem, calc(40vw / 12));
}
.anchor_item,
.section_contents {
 margin-top: max(-12.6rem, calc(-126vw / 12));
 padding-top: min(12.6rem, calc(126vw / 12));
}

@media screen and (max-width: 767px) {
 .page_contents {
  padding-top: 4.5rem;
  margin-top: 1.5rem;
 }
 .breadcrumb {
  width: 32.5rem;
  gap: 0 1rem;
 }
 .breadcrumb li,
 .breadcrumb li a {
  font-size: 1rem;
 }
 .page_bg {
  width: 35rem;
  top: 7.5rem;
 }
 .page_top {
  margin-top: 5.5rem;
 }
 .page_ttl {
  font-size: 2.1rem;
 }
 .page_ttl span {
  border-bottom: #e65046 solid 0.2rem;
 }
 .page_txt {
  font-size: 1.3rem;
  line-height: 2.4;
  letter-spacing: 0.14em;
  margin-top: 1.5rem;
 }
 .anchor_item,
 .section_contents {
  margin-top: -6rem;
  padding-top: 6rem;
 }
}

.btn {
 width: min(30rem, calc(300vw / 12));
 margin: 0 auto;
}
.btn a {
 display: block;
 width: 100%;
 font-size: 3rem;
 background-color: #fff;
 letter-spacing: 0.06em;
 border-radius: min(1rem, calc(10vw / 12));
 box-shadow: 0 min(0.4rem, calc(4vw / 12)) 0 #cb0000;
 color: #e94d4a;
 position: relative;
 border: min(0.2rem, calc(2vw / 12)) solid #fff;
}
.btn a::before {
 content: "";
 width: min(1.5rem, calc(15vw / 12));
 height: min(3rem, calc(30vw / 12));
 background: url(../images/common/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 12));
 transition: 0.4s;
}

.btn_02 {
 width: min(38rem, calc(380vw / 12));
 margin: 0;
 margin-left: min(21rem, calc(210vw / 12));
 margin-top: min(8rem, calc(80vw / 12));
}
.btn_02 a {
 font-size: 2.3rem;
 background-color: #eb5f5c;
 color: #e65046;
 box-sizing: border-box;
 border: min(0.5rem, calc(5vw / 12)) solid #e65046;
 line-height: 1.8;
}
.btn_02.btn_red a {
 border: min(0.2rem, calc(2vw / 12)) solid #ea5553;
 color: #ea5553;
 box-shadow: 0 min(0.4rem, calc(4vw / 12)) 0 #ea5553;
}
.btn_02.btn_pink a {
 border: min(0.2rem, calc(2vw / 12)) solid #eb335c;
 color: #eb335c;
 box-shadow: 0 min(0.4rem, calc(4vw / 12)) 0 #eb335c;
}
.btn_02.btn_orange a {
 border: min(0.2rem, calc(2vw / 12)) solid #f05000;
 color: #f05000;
 box-shadow: 0 min(0.4rem, calc(4vw / 12)) 0 #f05000;
}

.btn_02 a p {
 background: #fce8e8;
 background: #fff;
 /* background: linear-gradient(0deg,#FCE8E8 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%); */
 border-radius: min(0.7rem, calc(7vw / 12));
 padding: min(0.5rem, calc(5vw / 12));
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 box-sizing: border-box;
}
.btn_02.btn_red a p {
 background: #ffffff;
 /* background: linear-gradient(180deg, rgba(255, 255, 255, 1) 80%,#FBF2EE 100%); */
 font-weight: 600;
}
.btn_02.btn_pink a p {
 background: #ffffff;
 /* background: linear-gradient(180deg, rgba(255, 255, 255, 1) 80%,#FBE0EB 100%); */
 font-weight: 600;
}
.btn_02.btn_orange a p {
 background: #ffffff;
 /* background: linear-gradient(180deg, rgba(255, 255, 255, 1) 80%,#FFEBE0 100%); */
 font-weight: 600;
}
.btn_02 a p span {
 display: block;
 box-sizing: border-box;
 width: 100%;
 border: min(0.1rem, calc(1vw / 12)) solid #eb5f5c;
 border-radius: min(0.5rem, calc(5vw / 12));
}

.btn_02 a::before {
 content: none;
}
.btn_02.btn_red a p::after {
 content: "";
 width: min(2.1rem, calc(21vw / 12));
 height: min(2.2rem, calc(22vw / 12));
 background: url(../images/common/blank_icon_red.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
 margin-left: min(1.8rem, calc(18vw / 12));
}
.btn_02.btn_pink a p::after {
 content: "";
 width: min(2.1rem, calc(21vw / 12));
 height: min(2.2rem, calc(22vw / 12));
 background: url(../images/common/blank_icon_pink.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
 margin-left: min(1.8rem, calc(18vw / 12));
}
.btn_02.btn_02.btn_orange a p::after {
 content: "";
 width: min(2.1rem, calc(21vw / 12));
 height: min(2.2rem, calc(22vw / 12));
 background: url(../images/common/blank_icon_orange.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
 margin-left: min(1.8rem, calc(18vw / 12));
}

@media (hover: hover) and (pointer: fine) {
 .btn_01 a:where(:any-link, :enabled, summary):hover {
  background-color: #e94d4a;
  color: #fff;
 }
 .btn_01 a:where(:any-link, :enabled, summary):hover::before {
  filter: brightness(0) invert(100%);
 }

 .btn_02 a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.05);
 }
}

@media screen and (max-width: 767px) {
 .section_inner {
  width: 100%;
 }

 .btn {
  width: 26.5rem;
 }
 .btn a {
  font-size: 1.9rem;
  letter-spacing: 0.02em;
  border-radius: 0.5rem;
  box-shadow: 0 0.3rem 0 #cb0000;
  border: none;
  padding: 0.6rem 0;
 }
 .btn a::before {
  width: 1rem;
  height: 1.8rem;
  right: 1rem;
 }

 .btn_02 {
  width: 26.5rem;
  margin: 0 auto;
  margin-top: 20.5rem;
 }
 .btn_02 a {
  border: 0.3rem solid #e65046;
  line-height: 1.8;
  padding: 0;
  font-size: 1.9rem;
 }

 .btn_02.btn_red a {
  border: 0.2rem solid #eb5f5c;
  box-shadow: 0 0.2rem 0 #eb5f5c;
 }
 .btn_02.btn_pink a {
  border: 0.2rem solid #eb335c;
  box-shadow: 0 0.2rem 0 #eb335c;
 }
 .btn_02.btn_orange a {
  border: 0.2rem solid #ff5500;
  box-shadow: 0 0.2rem 0 #ff5500;
 }

 .btn_02 a p {
  border-radius: 0.3rem;
  padding: 0.4rem;
 }
 .btn_02 a p span {
  border: 0.1rem solid #eb5f5c;
  border-radius: 0.2rem;
 }

 .btn_02.btn_red a p::after {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.5rem;
 }
 .btn_02.btn_pink a p::after {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.5rem;
 }
 .btn_02.btn_02.btn_orange a p::after {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.5rem;
 }
}

.page_flex {
 width: min(107rem, calc(1070vw / 12));
 margin: min(26rem, calc(260vw / 12)) auto min(20rem, calc(200vw / 12));
 display: flex;
 justify-content: space-between;
}
.page_side {
 width: min(24rem, calc(240vw / 12));
 position: sticky;
 top: min(17rem, calc(170vw / 12));
 height: 100%;
}

.page_side_menu {
 box-sizing: border-box;
 border: #eb5f5c solid min(0.1rem, calc(1vw / 12));
 border-radius: min(1rem, calc(10vw / 12));
 background-color: #fff;
 padding: 0 min(1rem, calc(10vw / 12));
 box-shadow: min(0.4rem, calc(4vw / 12)) min(0.4rem, calc(4vw / 12)) 0 #eb5f5c;
}
.page_side_menu::before {
 content: "";
 width: min(6rem, calc(60vw / 12));
 height: min(3.3rem, calc(33vw / 12));
 background: url(../images/common/side_ttl.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: max(-2.5rem, calc(-25vw / 12));
 left: max(-1rem, calc(-10vw / 12));
}
.page_side ul li a {
 display: block;
 width: 100%;
 color: #cb0000;
 text-align: justify;
 font-size: 1.5rem;
 line-height: 1.53;
 letter-spacing: 0.08em;
 padding: min(1rem, calc(10vw / 12)) 0;
 border-bottom: min(0.1rem, calc(1vw / 12)) solid #cb0000;
 box-sizing: border-box;
 padding-left: min(1rem, calc(10vw / 12));
}
.page_side ul li:last-of-type a {
 border-bottom: none;
}

.page_main {
 width: min(78rem, calc(780vw / 12));
}

@media screen and (max-width: 767px) {
 .page_flex {
  width: 32.5rem;
  margin: 18rem auto 10rem;
 }

 .page_side {
  position: fixed;
  width: 16.8rem;
  top: 5rem;
  transform: none;
  left: 0;
  height: auto;
  z-index: 10;
 }
 .page_side_btn {
  width: 3.2rem;
  z-index: 15;
  position: absolute;
  top: 3.5rem;
  left: 0;
  font-size: 0;
 }
 .page_side_btn::before,
 .page_side_btn::after {
  content: "";
  width: 1.2rem;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  bottom: 1.8rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: 0.4s;
 }
 .page_side_btn::after {
  bottom: 1.3rem;
 }
 .page_side_btn.show::before {
  transform: rotate(45deg);
  bottom: 1.5rem;
 }
 .page_side_btn.show::after {
  transform: rotate(-45deg);
  bottom: 1.5rem;
 }

 .page_side_menu {
  border: #eb5f5c solid 0.1rem;
  border-radius: 0 0.5rem 0.5rem 0;
  border-left: none;
  padding: 1rem 1.5rem;
  box-shadow: 0.2rem 0.2rem 0 #eb5f5c;
  display: none;
  position: absolute;
  top: 8.5rem;
  left: 0;
 }
 .page_side_menu::before {
  content: none;
 }
 .page_side ul li a {
  font-size: 1.2rem;
  padding: 0.8rem 0;
  border-bottom: 0.1rem solid #eb5f5c;
  padding-left: 0;
 }

 .page_main {
  width: 100%;
 }
}
