@charset "UTF-8";
/**/
html {
  /*
    @include mq(pc) {
      font-size: divceil(10, $pcBreakPoint, vw);
    }
    @include mq(mx) {
      font-size: 10px;
    }*/ }
  @media screen and (max-width: 660px) {
    html {
      font-size: 1.334vw; } }

@media screen and (max-width: 660px) {
  .brandSiteFooter .link .policy li {
    font-size: 14px !important; } }

@media screen and (max-width: 660px) {
  .brandSiteFooter .link .copyright {
    font-size: 10px !important;
    padding: 10px !important; } }

body {
  position: relative;
  line-height: 0;
  margin: 0;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; }

html {
  height: -webkit-fill-available; }

body {
  min-height: 100vh;
  min-height: -webkit-fill-available; }

img {
  vertical-align: bottom;
  will-change: transform; }

img, svg {
  width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: inherit;
  color: #982235; }

h1, h2, h3, h4, h5, p, dl, dt, dd, ul, ol, li, figure {
  margin: 0;
  padding: 0; }

ul, ol {
  list-style: none; }

@media screen and (max-width: 660px) {
  .pcv {
    display: none !important; } }

@media screen and (min-width: 661px) {
  .spv {
    display: none !important; } }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/*common*/
.slider,
.slider div {
  width: 100%;
  height: 100%; }

section,
main {
  position: relative;
  width: 100%; }

.general_txt {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .general_txt {
      line-height: 2em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    .general_txt {
      line-height: 1.847em;
      font-size: 2.6rem; } }

.general_txt_m {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .general_txt_m {
      line-height: 2em;
      font-size: 0.875rem; } }
  @media screen and (max-width: 660px) {
    .general_txt_m {
      line-height: 1.847em;
      font-size: 2.6rem; } }

.general_txt_s {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .general_txt_s {
      line-height: 2em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    .general_txt_s {
      line-height: 2em;
      font-size: 2.4rem; } }

.general_txt_ss {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .general_txt_ss {
      line-height: 2em;
      font-size: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .general_txt_ss {
      line-height: 2em;
      font-size: 2rem; } }

main {
  background: #fff; }
  @media screen and (min-width: 661px) {
    main {
      padding-top: 3.125rem;
      padding-bottom: 6.25rem; } }
  @media screen and (max-width: 660px) {
    main {
      padding-top: 7.8rem;
      padding-bottom: 8rem;
      overflow-x: hidden; } }

@media screen and (min-width: 661px) {
  #local_nav {
    position: absolute;
    top: 94px;
    right: 0;
    width: 100%;
    height: 3.125rem;
    z-index: 9910;
    background: #fff4bf;
    display: block !important; } }
@media screen and (max-width: 660px) {
  #local_nav {
    position: fixed;
    display: none;
    background: #b81c22;
    top: 0;
    left: 0;
    width: 100%;
    padding: 17.5rem 0 4rem;
    z-index: 9910;
    height: 100lvh; } }

@media screen and (min-width: 661px) {
  .fixed {
    position: fixed !important;
    top: 0 !important; } }

#local_nav .inner {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    #local_nav .inner {
      width: 67.5rem;
      height: 3.125rem;
      margin: 0 auto;
      align-items: center;
      justify-content: space-between;
      padding: 0 3.125rem; } }
  @media screen and (max-width: 660px) {
    #local_nav .inner {
      flex-direction: column;
      justify-content: flex-start;
      padding-left: 7.5rem; } }

@media screen and (max-width: 660px) {
  #local_nav .inner::after {
    content: "旅の宿 メニュー";
    display: block;
    position: absolute;
    transition: ease-out .6s all;
    top: 0;
    left: 0;
    height: 39rem;
    width: 7.5rem;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
    line-height: 3.125em;
    font-size: 2.4rem;
    border-right: #f8d849 0.5rem solid;
    padding-top: 1.5rem; } }

#local_nav ul {
  position: relative;
  display: flex;
  transition: ease-out 0.4s all; }
  @media screen and (min-width: 661px) {
    #local_nav ul {
      align-items: center; } }
  @media screen and (max-width: 660px) {
    #local_nav ul {
      flex-direction: column;
      padding-left: 3.5rem;
      gap: 0.5rem; } }

#local_nav ul li {
  position: relative; }
  @media screen and (min-width: 661px) {
    #local_nav ul li {
      display: flex;
      align-items: center;
      white-space: nowrap; } }

#local_nav li > a,
#local_nav li dt {
  position: relative;
  display: block;
  font-weight: 400; }
  @media screen and (min-width: 661px) {
    #local_nav li > a,
    #local_nav li dt {
      color: #000000;
      letter-spacing: 0.15em;
      text-align: center;
      line-height: 3.572em;
      font-size: 0.875rem;
      padding: 0 1.063rem;
      height: 3.125rem;
      transition: .6s ease-out; } }
  @media screen and (max-width: 660px) {
    #local_nav li > a,
    #local_nav li dt {
      color: #FFFFFF;
      letter-spacing: 0.2em;
      text-align: left;
      padding: 1.5rem 0;
      line-height: 1em;
      font-size: 2.4rem; } }

@media screen and (min-width: 661px) {
  #local_nav ul li > a:hover,
  #local_nav ul li:hover dt {
    color: #000000;
    background: #FFFFFF; } }

#local_nav ul li dl {
  position: relative;
  width: 100%; }
  @media screen and (min-width: 661px) {
    #local_nav ul li dl {
      display: flex;
      align-items: center;
      cursor: pointer; } }

#local_nav ul li dl dd {
  display: flex;
  justify-content: flex-start;
  flex-direction: column; }
  @media screen and (min-width: 661px) {
    #local_nav ul li dl dd {
      position: absolute !important;
      left: 0;
      text-align: left;
      padding: 0;
      top: 3.125rem;
      transition: .6s ease-out;
      opacity: 0;
      pointer-events: none;
      transform: translateY(0);
      width: 100%; } }
  @media screen and (max-width: 660px) {
    #local_nav ul li dl dd {
      position: relative !important;
      width: 100%; } }

/*
#local_nav ul li dl dd a:nth-of-type(1){
    @include mq(pc) {
	background: #c4503b;	
	}
}
#local_nav ul li dl dd a:nth-of-type(2){
    @include mq(pc) {
	background: #da9376;	
	}
}
*/
@media screen and (min-width: 661px) {
  #local_nav ul li dl:hover dd {
    opacity: 1;
    pointer-events: auto !important;
    transform: translateY(0); } }

#local_nav ul li dl dd a {
  position: relative;
  display: block;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #local_nav ul li dl dd a {
      width: 100%;
      text-align: center;
      line-height: 3.572em;
      font-size: 0.875rem;
      padding: 0 1.063rem;
      height: 3.125rem;
      transition: .6s ease-out;
      background: #FFFFFF;
      margin-top: 1px !important; } }
  @media screen and (max-width: 660px) {
    #local_nav ul li dl dd a {
      color: #FFFFFF;
      letter-spacing: 0.2em;
      text-align: left;
      padding: 1.5rem 0 1.5rem 4rem;
      line-height: 1em;
      font-size: 2.4rem; } }

@media screen and (max-width: 660px) {
  #local_nav ul li dl dd a::before {
    content: "";
    display: block;
    position: absolute;
    transition: ease-out .6s all;
    top: 2.8rem;
    left: 0;
    height: 100%;
    width: 1.9rem;
    height: 0.4rem;
    background: #f8d849; } }

@media screen and (min-width: 661px) {
  #local_nav ul li dl dd a:hover {
    background: #f8d849; } }

#local_nav .inner div {
  position: relative;
  display: flex;
  transition: ease-out 0.4s all; }
  @media screen and (min-width: 661px) {
    #local_nav .inner div {
      align-items: center;
      height: 3.125rem;
      gap: 0.625rem; } }
  @media screen and (max-width: 660px) {
    #local_nav .inner div {
      flex-direction: column;
      justify-content: flex-start;
      padding-top: 5rem;
      gap: 3rem; } }

#local_nav .inner div a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  transition: ease-out 0.4s all; }
  @media screen and (min-width: 661px) {
    #local_nav .inner div a {
      height: 1.5rem;
      border-radius: 0.188rem; } }
  @media screen and (max-width: 660px) {
    #local_nav .inner div a {
      width: 36rem;
      height: 6rem;
      border-radius: 0.6rem; } }

@media screen and (min-width: 661px) {
  #local_nav .inner div a.sns_x {
    width: 6.125rem; } }

#local_nav .inner div a.sns_x p {
  position: relative;
  display: inline-block;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #local_nav .inner div a.sns_x p {
      text-align: left;
      line-height: 2em;
      font-size: 0.75rem;
      padding-left: 1.75rem;
      transition: .6s ease-out; } }
  @media screen and (max-width: 660px) {
    #local_nav .inner div a.sns_x p {
      text-align: center;
      width: 100%;
      line-height: 1em;
      font-size: 2.4rem; } }

#local_nav .inner div a.sns_x p::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_x.svg") center center no-repeat;
  background-size: 100% auto;
  left: 0; }
  @media screen and (min-width: 661px) {
    #local_nav .inner div a.sns_x p::after {
      width: 1.25rem; } }
  @media screen and (max-width: 660px) {
    #local_nav .inner div a.sns_x p::after {
      left: 2.5rem;
      width: 3.5rem; } }

/*
#local_nav .inner div a.sns_x img{
	position:relative;
	display: block;
	transition:.6s ease-out;
  @include mq(pc) {
	width:divceil(24*$pc_ratio, 10, rem) !important;
  }
  @include mq(sp) {
	width:divceil(16*$sp_ratio, 10, rem) !important;
  }
}
*/
#local_nav #onlineshop_btn {
  position: relative;
  transition: .6s ease-out;
  cursor: pointer; }
  @media screen and (min-width: 661px) {
    #local_nav #onlineshop_btn {
      width: 10rem; } }

#local_nav #onlineshop_btn p {
  position: relative;
  display: inline-block;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #local_nav #onlineshop_btn p {
      text-align: left;
      line-height: 2em;
      font-size: 0.75rem;
      padding-left: 1.75rem;
      transition: .6s ease-out; } }
  @media screen and (max-width: 660px) {
    #local_nav #onlineshop_btn p {
      text-align: center;
      width: 100%;
      line-height: 1em;
      font-size: 2.4rem; } }

#local_nav #onlineshop_btn p::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  left: 0;
  height: 100%;
  background: url("../img/top/icon_shop.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #local_nav #onlineshop_btn p::after {
      width: 1.25rem; } }
  @media screen and (max-width: 660px) {
    #local_nav #onlineshop_btn p::after {
      left: 2.5rem;
      width: 3.5rem; } }

@media screen and (min-width: 661px) {
  #local_nav .inner div a:hover {
    background: #f8d849; } }

/*
#onlineshop_tgl{
	position: relative;
	@include mq(pc) {
	width:divceil(160*$pc_ratio, 10, rem);
  }
  @include mq(sp) {
  }
}
#onlineshop_banner{
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
    @include mq(pc) {
    position:absolute !important;
	left: 0;
	text-align: left;
	padding:0;
	top: divceil(55*$pc_ratio, 10, rem);
	transition:.6s ease-out;
	opacity: 0;
	pointer-events: none;
	width:divceil(160*$pc_ratio, 10, rem);
	gap:1px;
        }
    @include mq(sp) {
	}
}
#onlineshop_tgl:hover #onlineshop_banner{
    @include mq(pc) {
	opacity: 1;
	pointer-events: auto !important;
	}
}
#onlineshop_banner a{
    position: relative;
	display:block;
	width: 100% !important;
    @include mq(pc) {
	transition:.6s ease-out;
	}
    @include mq(sp) {
    }
}
#onlineshop_banner a:hover{
    @include mq(pc) {
		opacity: .7;
	}
}
*/
/**/
@media screen and (max-width: 660px) {
  header {
    position: fixed !important;
    z-index: 9908 !important; } }

@media screen and (min-width: 661px) {
  .nav_btn {
    display: none; } }
@media screen and (max-width: 660px) {
  .nav_btn {
    display: inline-block;
    position: fixed;
    top: 7.8rem;
    left: 0;
    width: 8rem;
    height: 8rem;
    z-index: 9920;
    cursor: pointer;
    transition: .3s;
    display: block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background: #fffadf;
    border: none; } }

@media screen and (min-width: 661px) {
  #onlineshop_btn_sp {
    display: none; } }
@media screen and (max-width: 660px) {
  #onlineshop_btn_sp {
    display: inline-block;
    position: fixed;
    top: 7.8rem;
    left: 8.1rem;
    width: 8rem;
    height: 8rem;
    z-index: 9909;
    cursor: pointer;
    transition: .3s;
    display: block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background: #fffadf url("../img/top/onlineshop_sp.svg") center center no-repeat;
    background-size: 6.5rem auto;
    border: none; } }

.nav_btn > span {
  display: block;
  position: absolute;
  top: 3.8rem;
  left: 2rem;
  width: 4rem;
  height: 2px;
  margin: 0;
  background: #000000;
  transition: .4s ease-in-out;
  border-radius: 0.2rem; }

.nav_btn > span:before,
.nav_btn > span:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4rem;
  height: 2px;
  background: #000000;
  transition: .4s ease-in-out; }

.nav_btn > span:before {
  width: 4rem;
  margin-top: -7px; }

.nav_btn > span:after {
  width: 4rem;
  margin-top: 8px; }

.nav_btn.close,
.nav_btn.close > span {
  background: transparent !important; }

.nav_btn.close > span:before, .nav_btn.close > span:after {
  margin-top: 0;
  background: #FFFFFF !important; }

.nav_btn.close > span:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg); }

.nav_btn.close > span:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg); }

#tabi_footer {
  position: relative;
  width: 100%;
  background: #FFFFFF; }

#tabi_footer .inner {
  position: relative;
  display: flex;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner {
      width: 53.375rem;
      padding-bottom: 1.875rem;
      align-items: stretch;
      justify-content: space-between; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner {
      flex-direction: column;
      width: 67rem;
      padding-bottom: 6rem;
      gap: 3rem; } }

#tabi_footer .inner a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffea80;
  transition: .6s ease-out;
  overflow: hidden;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner a {
      width: 25rem;
      height: 3.75rem;
      border-radius: 1.875rem; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner a {
      width: 100%;
      height: 8rem;
      border-radius: 4rem; } }

#tabi_footer .inner a p {
  position: relative;
  font-weight: 400;
  color: #000000 !important; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner a p {
      letter-spacing: 0.20em;
      line-height: 2em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner a p {
      letter-spacing: 0.15em;
      line-height: 1.459em;
      font-size: 2.4rem; } }

@media screen and (min-width: 661px) {
  #tabi_footer .inner a:hover {
    background: #f8d849; } }

#tabi_footer .inner a.faq_link::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_arrow_k.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner a.faq_link::after {
      right: 1.875rem;
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner a.faq_link::after {
      right: 4rem;
      width: 4rem; } }

@media screen and (min-width: 661px) {
  #tabi_footer .inner a.sns_x p {
    padding-left: 2.5rem; } }
@media screen and (max-width: 660px) {
  #tabi_footer .inner a.sns_x p {
    padding-left: 6rem; } }

#tabi_footer .inner a.sns_x p::before {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  left: 0;
  height: 100%;
  background: url("../img/top/icon_x.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner a.sns_x p::before {
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner a.sns_x p::before {
      width: 4.8rem; } }

#tabi_footer .inner a.sns_x::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_window_k.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #tabi_footer .inner a.sns_x::after {
      right: 1.875rem;
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    #tabi_footer .inner a.sns_x::after {
      right: 4rem;
      width: 4rem; } }

/*kv*/
#kv {
  position: relative;
  width: 100%;
  background: #ffea80;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #kv {
      height: 36.875rem; } }
  @media screen and (max-width: 660px) {
    #kv {
      height: 95rem; } }

#kv .inner {
  position: relative;
  height: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #kv .inner {
      background: url("../img/top/kv_bg.png") center center no-repeat;
      background-size: 100% auto;
      width: 67.5rem; } }
  @media screen and (max-width: 660px) {
    #kv .inner {
      width: 100%;
      background: url("../img/top/kv_bg_sp.png") center center no-repeat;
      background-size: 100% auto; } }

#kv h1,
#kv .slider_set {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

#kv h1 {
  pointer-events: none; }

#kv .slick-prev,
#kv .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 5 !important;
  transition: ease-out 0.6s all; }
  @media screen and (min-width: 661px) {
    #kv .slick-prev,
    #kv .slick-next {
      width: 1.25rem;
      height: 3.75rem; } }
  @media screen and (max-width: 660px) {
    #kv .slick-prev,
    #kv .slick-next {
      width: 2rem;
      height: 6rem; } }

#kv .slick-prev {
  transform: translateY(-50%) scale(-1, 1);
  background: url("../img/top/kv_arrow.png") center center no-repeat !important;
  background-size: contain !important; }
  @media screen and (min-width: 661px) {
    #kv .slick-prev {
      left: 3.125rem; } }
  @media screen and (max-width: 660px) {
    #kv .slick-prev {
      left: 8rem; } }

#kv .slick-next {
  transform: translateY(-50%);
  background: url("../img/top/kv_arrow.png") center center no-repeat !important;
  background-size: contain !important; }
  @media screen and (min-width: 661px) {
    #kv .slick-next {
      right: 3.125rem; } }
  @media screen and (max-width: 660px) {
    #kv .slick-next {
      right: 8rem; } }

/*main_section*/
.main_section .inner {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .main_section .inner {
      width: 67.5rem; } }
  @media screen and (max-width: 660px) {
    .main_section .inner {
      width: 70rem; } }

.main_section hgroup h2,
.h3_img h3 {
  position: relative;
  font-weight: 600;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    .main_section hgroup h2,
    .h3_img h3 {
      line-height: 2.215em;
      font-size: 1.75rem; } }
  @media screen and (max-width: 660px) {
    .main_section hgroup h2,
    .h3_img h3 {
      line-height: 1.895em;
      font-size: 3.8rem; } }

.read_txt {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .read_txt {
      line-height: 2em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    .read_txt {
      line-height: 2.25em;
      font-size: 2.4rem; } }

.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #982235;
  transition: .6s ease-out;
  overflow: hidden;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .btn {
      width: 16.125rem;
      height: 2.5rem;
      border-radius: 1.25rem;
      margin-top: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .btn {
      width: 64rem;
      height: 8rem;
      border-radius: 4rem;
      margin-top: 4rem; } }

.btn p {
  position: relative;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .btn p {
      line-height: 1.5em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    .btn p {
      line-height: 1.334em;
      font-size: 2.4rem; } }

@media screen and (min-width: 661px) {
  .btn:hover {
    background: #f8d849; } }

/*world*/
#world hgroup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #world hgroup {
      margin: 0 auto;
      width: 67.5rem;
      height: 20rem;
      background: url("../img/top/world_ttl_img.png") 37.125rem 11.875rem no-repeat;
      background-size: 15.125rem auto; } }
  @media screen and (max-width: 660px) {
    #world hgroup {
      width: 100%;
      height: 32rem;
      background: url("../img/top/world_ttl_img.png") 42rem 19rem no-repeat;
      background-size: 24.2rem auto; } }

#world_block_1 {
  position: relative;
  background: #fffadf;
  width: 100%;
  overflow: hidden; }

#world_block_1 .inner {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    #world_block_1 .inner {
      justify-content: space-between;
      align-items: stretch;
      margin: 0 auto;
      width: 67.5rem; } }
  @media screen and (max-width: 660px) {
    #world_block_1 .inner {
      flex-direction: column;
      width: 100% !important; } }

#world_block_1 figure {
  position: relative; }
  @media screen and (min-width: 661px) {
    #world_block_1 figure {
      width: 50%;
      height: 28.75rem; } }
  @media screen and (max-width: 660px) {
    #world_block_1 figure {
      width: 100%; } }

#world_block_1 .inner div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (min-width: 661px) {
    #world_block_1 .inner div {
      width: 50%;
      height: 28.75rem; } }
  @media screen and (max-width: 660px) {
    #world_block_1 .inner div {
      width: 100%;
      padding: 8rem 0 6rem; } }

#world_block_1 div .rl_txt {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    #world_block_1 div .rl_txt {
      line-height: 2.625em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    #world_block_1 div .rl_txt {
      line-height: 2.231em;
      font-size: 2.6rem; } }

#world_block_2 {
  position: relative;
  background: #000000;
  width: 100%;
  overflow: hidden; }

#world_block_2 .inner {
  position: relative; }
  @media screen and (min-width: 661px) {
    #world_block_2 .inner {
      margin: 0 auto;
      width: 67.5rem; } }
  @media screen and (max-width: 660px) {
    #world_block_2 .inner {
      flex-direction: column;
      width: 100% !important; } }

#world_block_2 figure {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#world_block_2 .inner div {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column; }
  @media screen and (min-width: 661px) {
    #world_block_2 .inner div {
      width: 33.75rem;
      height: 28.75rem;
      padding: 4.375rem 0 0 0; } }
  @media screen and (max-width: 660px) {
    #world_block_2 .inner div {
      width: 100%;
      height: 95rem;
      padding: 33rem 0 0rem; } }

#world_block_2 div .rl_txt {
  position: relative;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    #world_block_2 div .rl_txt {
      line-height: 3.125em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    #world_block_2 div .rl_txt {
      line-height: 2.693em;
      font-size: 2.6rem; } }

#world .modal_btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_window_r.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #world .modal_btn::after {
      right: 1.25rem;
      width: 1.25rem; } }
  @media screen and (max-width: 660px) {
    #world .modal_btn::after {
      right: 3rem;
      width: 3.6rem; } }

#world .modal_btn p {
  color: #982235; }
  @media screen and (max-width: 660px) {
    #world .modal_btn p {
      line-height: 1.524em;
      font-size: 2.1rem; } }

#world .modal_btn {
  cursor: pointer;
  background: #FFFFFF; }
  @media screen and (min-width: 661px) {
    #world .modal_btn {
      margin-top: 1.875rem; } }
  @media screen and (max-width: 660px) {
    #world .modal_btn {
      width: 51.8rem;
      margin-top: 3rem; } }

@media screen and (min-width: 661px) {
  #world .modal_btn:hover {
    background: #f8d849; } }

/*product*/
#product hgroup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 5; }
  @media screen and (min-width: 661px) {
    #product hgroup {
      margin: 0 auto;
      width: 67.5rem;
      padding-top: 3.75rem;
      background: url("../img/top/product_ttl_img.png") 13.125rem 5.25rem no-repeat;
      background-size: 12.813rem auto; } }
  @media screen and (max-width: 660px) {
    #product hgroup {
      width: 100%;
      height: 35rem;
      background: url("../img/top/product_ttl_img.png") 54rem 11rem no-repeat;
      background-size: 24.4rem auto; } }

#product_tab {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  background: #FFFFFF;
  z-index: 2; }
  @media screen and (min-width: 661px) {
    #product_tab {
      margin: -3.125rem auto 0;
      width: 67.5rem; } }
  @media screen and (max-width: 660px) {
    #product_tab {
      width: 100%;
      transform: translateY(2px); } }

#product_tab a {
  position: relative;
  display: block;
  cursor: pointer; }
  @media screen and (min-width: 661px) {
    #product_tab a {
      width: 33.125rem; } }
  @media screen and (max-width: 660px) {
    #product_tab a {
      width: 36.6rem; } }

.product_block {
  text-align: center;
  z-index: 3; }
  @media screen and (min-width: 661px) {
    .product_block {
      width: 67.5rem;
      margin: 0 auto; } }
  @media screen and (max-width: 660px) {
    .product_block {
      width: 100%; } }

.package_block {
  text-align: center; }

#powder .cover {
  position: relative;
  background: #fff4bf;
  width: 100%;
  color: #000000;
  padding: 6.25rem 0; }

#salt .cover {
  background: #e85506;
  width: 100%;
  color: #FFFFFF;
  padding: 10rem 0; }

.package_block h3 {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .package_block h3 {
      line-height: 1em;
      font-size: 1.75rem; } }
  @media screen and (max-width: 660px) {
    .package_block h3 {
      line-height: 1em;
      font-size: 3.8rem; } }

.package_block .under_ttl {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #FFFFFF; }
  @media screen and (min-width: 661px) {
    .package_block .under_ttl {
      margin-top: 1.25rem;
      line-height: 1em;
      font-size: 1.438rem; } }
  @media screen and (max-width: 660px) {
    .package_block .under_ttl {
      margin-top: 3rem;
      line-height: 1em;
      font-size: 3.1rem; } }

.package {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    .package {
      justify-content: center;
      align-items: flex-start;
      width: 62.5rem;
      margin: 0 auto;
      margin-top: 3.125rem;
      padding-bottom: 2.5rem; } }
  @media screen and (max-width: 660px) {
    .package {
      flex-direction: column;
      justify-content: center;
      margin-top: 4rem;
      gap: 4rem;
      width: 100%; } }

.package#powder_package li {
  position: relative; }
  @media screen and (min-width: 661px) {
    .package#powder_package li {
      width: 28.125rem; } }
  @media screen and (max-width: 660px) {
    .package#powder_package li {
      width: 65rem;
      margin: 0 auto;
      text-align: center; } }

.package#salt_package li.li_info {
  position: relative; }
  @media screen and (min-width: 661px) {
    .package#salt_package li.li_info {
      width: 25rem;
      padding-top: 6.25rem; } }
  @media screen and (max-width: 660px) {
    .package#salt_package li.li_info {
      width: 65rem;
      margin: 0 auto;
      text-align: center;
      order: 2; } }

.package#salt_package li.li_img {
  position: relative; }
  @media screen and (min-width: 661px) {
    .package#salt_package li.li_img {
      width: 30.75rem !important; } }
  @media screen and (max-width: 660px) {
    .package#salt_package li.li_img {
      order: 1;
      width: 65rem;
      margin: 0 auto;
      text-align: center; } }

.package#salt_package li .cap {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .package#salt_package li .cap {
      text-align: right;
      line-height: 1em;
      font-size: 0.625rem;
      margin-top: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .package#salt_package li .cap {
      line-height: 1em;
      font-size: 2rem;
      margin-top: 2rem; } }

.package li p.sub {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .package li p.sub {
      line-height: 1em;
      font-size: 1rem;
      margin-top: 1.563rem; } }
  @media screen and (max-width: 660px) {
    .package li p.sub {
      line-height: 1em;
      font-size: 2.8rem;
      margin-top: 3rem; } }

.package li h4 {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .package li h4 {
      line-height: 1.5em;
      font-size: 1.5rem;
      margin-top: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .package li h4 {
      line-height: 1.556em;
      font-size: 3.6rem;
      margin-top: 1.5rem; } }

.package li span {
  position: relative;
  display: inline-block;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .package li span {
      width: 5.688rem;
      margin-top: 0.938rem; } }
  @media screen and (max-width: 660px) {
    .package li span {
      width: 15rem;
      margin-top: 2.5rem; } }

@media screen and (min-width: 661px) {
  #salt_package li span {
    transform: translateY(-0.5rem) !important;
    margin-left: 0.625rem !important;
    margin-top: 0 !important; } }
@media screen and (max-width: 660px) {
  #salt_package li span {
    transform: translateY(-1.5rem) !important;
    margin-left: 0.938rem !important;
    margin-top: 0 !important; } }

.package .btn {
  position: relative; }
  @media screen and (max-width: 660px) {
    .package .btn {
      width: 51.8rem; } }

.package .btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_arrow_w.svg") center center no-repeat;
  background-size: 100% auto;
  transform: rotate(90deg); }
  @media screen and (min-width: 661px) {
    .package .btn::after {
      right: 1.25rem;
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    .package .btn::after {
      width: 4rem;
      right: 4rem; } }

.package#salt_package .btn {
  background: #FFFFFF; }

.package#salt_package .btn p {
  color: #b81c22; }

.package#salt_package .btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_arrow_r.svg") center center no-repeat;
  background-size: 100% auto;
  transform: rotate(90deg); }
  @media screen and (min-width: 661px) {
    .package#salt_package .btn::after {
      right: 1.25rem;
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    .package#salt_package .btn::after {
      width: 4rem;
      right: 4rem; } }

@media screen and (min-width: 661px) {
  .package#salt_package .btn:hover {
    background: #f8d849; } }

.commitment_block,
.medicine_block,
.efficacy_block {
  position: relative;
  background: #FFFFFF; }
  @media screen and (min-width: 661px) {
    .commitment_block,
    .medicine_block,
    .efficacy_block {
      width: 62.5rem;
      border-radius: 5rem;
      margin: 2.5rem auto 0;
      padding-bottom: 5rem; } }
  @media screen and (max-width: 660px) {
    .commitment_block,
    .medicine_block,
    .efficacy_block {
      width: 65rem;
      border-radius: 8rem;
      margin: 8rem auto 0;
      padding-bottom: 8rem; } }

.commitment_block ul,
.medicine_block ul {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    .commitment_block ul,
    .medicine_block ul {
      justify-content: center;
      align-items: flex-start;
      width: 56.25rem;
      margin: 0 auto; } }
  @media screen and (max-width: 660px) {
    .commitment_block ul,
    .medicine_block ul {
      flex-direction: column;
      justify-content: center;
      gap: 6rem;
      width: 100%; } }

.commitment_block ul li {
  position: relative; }
  @media screen and (min-width: 661px) {
    .commitment_block ul li {
      width: 19.875rem; } }
  @media screen and (max-width: 660px) {
    .commitment_block ul li {
      width: 51.8rem;
      margin: 0 auto;
      text-align: center; } }

.commitment_block ul li:nth-of-type(2) {
  position: relative; }
  @media screen and (min-width: 661px) {
    .commitment_block ul li:nth-of-type(2) {
      border-right: #000000 1px solid;
      border-left: #000000 1px solid; } }

.commitment_block ul li:nth-of-type(1),
.commitment_block ul li:nth-of-type(2) {
  position: relative; }
  @media screen and (max-width: 660px) {
    .commitment_block ul li:nth-of-type(1),
    .commitment_block ul li:nth-of-type(2) {
      padding-bottom: 5rem;
      border-bottom: #f8d849 1px solid; } }

.commitment_block .h3_img {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  text-align: left; }
  @media screen and (min-width: 661px) {
    .commitment_block .h3_img {
      height: 17.5rem;
      background: url("../img/top/commitment_ttl_img.png") 36.875rem 6.25rem no-repeat;
      background-size: 10.875rem auto; } }
  @media screen and (max-width: 660px) {
    .commitment_block .h3_img {
      height: 37rem;
      background: url("../img/top/commitment_ttl_img.png") 6.5rem 19rem no-repeat;
      background-size: 19.1rem auto; } }

.commitment_block .sub {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .commitment_block .sub {
      line-height: 1em;
      font-size: 1.75rem;
      margin-bottom: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .commitment_block .sub {
      line-height: 1em;
      font-size: 3.8rem;
      margin-bottom: 3rem; } }

.ttl_box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-weight: 400;
  letter-spacing: 0.15em;
  background: #000000;
  color: #FFFFFF;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .ttl_box {
      line-height: 1.5em;
      font-size: 1rem;
      width: 16.125rem;
      height: 4.375rem; } }
  @media screen and (max-width: 660px) {
    .ttl_box {
      line-height: 1.616em;
      font-size: 2.6rem;
      width: 51.8rem;
      height: 12rem; } }

#salt .ttl_box {
  background: #e85506; }
  @media screen and (min-width: 661px) {
    #salt .ttl_box {
      width: 18.625rem; } }

.ttl_box span {
  position: relative;
  display: inline-block; }
  @media screen and (min-width: 661px) {
    .ttl_box span {
      line-height: 1.667em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    .ttl_box span {
      line-height: 1.546em;
      font-size: 2.2rem; } }

.commitment_block .general_txt_m,
.effect_block .general_txt_m {
  position: relative; }
  @media screen and (min-width: 661px) {
    .commitment_block .general_txt_m,
    .effect_block .general_txt_m {
      padding: 0.938rem 0 0.313rem; } }
  @media screen and (max-width: 660px) {
    .commitment_block .general_txt_m,
    .effect_block .general_txt_m {
      padding: 3rem 0 1rem; } }

.commitment_block .modal_btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_window_w.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    .commitment_block .modal_btn::after {
      right: 1.25rem;
      width: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .commitment_block .modal_btn::after {
      right: 3rem;
      width: 3.6rem; } }

@media screen and (max-width: 660px) {
  .commitment_block .modal_btn p {
    line-height: 1.524em;
    font-size: 2.1rem; } }

.commitment_block .modal_btn {
  position: relative;
  cursor: pointer; }
  @media screen and (max-width: 660px) {
    .commitment_block .modal_btn {
      width: 51.8rem; } }

.medicine_block ul li {
  position: relative; }
  @media screen and (min-width: 661px) {
    .medicine_block ul li {
      width: 23.125rem; } }
  @media screen and (max-width: 660px) {
    .medicine_block ul li {
      width: 54rem;
      margin: 0 auto;
      text-align: center; } }

.medicine_block ul li:nth-of-type(1) {
  position: relative; }
  @media screen and (max-width: 660px) {
    .medicine_block ul li:nth-of-type(1) {
      padding-bottom: 6rem;
      border-bottom: #f8d849 1px solid; } }

.medicine_block .h3_img,
.efficacy_block .h3_img {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  text-align: left; }
  @media screen and (min-width: 661px) {
    .medicine_block .h3_img,
    .efficacy_block .h3_img {
      height: 12.5rem; } }
  @media screen and (max-width: 660px) {
    .medicine_block .h3_img,
    .efficacy_block .h3_img {
      height: 28rem; } }

.medicine_block .ttl {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .medicine_block .ttl {
      line-height: 1em;
      font-size: 1.75rem;
      margin-bottom: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .medicine_block .ttl {
      line-height: 1em;
      font-size: 3.8rem;
      margin-bottom: 3rem; } }

.medicine_block .general_txt_m {
  position: relative; }
  @media screen and (min-width: 661px) {
    .medicine_block .general_txt_m {
      padding: 0 0 1.25rem; } }
  @media screen and (max-width: 660px) {
    .medicine_block .general_txt_m {
      padding: 0 0 3rem; } }

.medicine_block figure {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .medicine_block figure {
      width: 16.125rem; } }
  @media screen and (max-width: 660px) {
    .medicine_block figure {
      width: 54rem; } }

.efficacy_block ul {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .efficacy_block ul {
      justify-content: flex-start;
      width: 46.375rem;
      gap: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .efficacy_block ul {
      justify-content: space-between;
      width: 55rem;
      gap: 2rem; } }

.efficacy_block ul li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (min-width: 661px) {
    .efficacy_block ul li {
      width: 11.125rem;
      height: 2.5rem;
      border-radius: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .efficacy_block ul li {
      width: 25.8rem;
      height: 6rem;
      border-radius: 3rem; } }

.efficacy_block ul li p {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #000000; }
  @media screen and (min-width: 661px) {
    .efficacy_block ul li p {
      line-height: 1em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    .efficacy_block ul li p {
      line-height: 1em;
      font-size: 2.4rem; } }

#powder .efficacy_block ul li {
  background: #ffea80; }

#salt .efficacy_block ul li {
  background: #f2d5c5; }

.effect_block {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .effect_block {
      width: 62.5rem; } }
  @media screen and (max-width: 660px) {
    .effect_block {
      width: 65rem;
      margin-top: 8rem; } }

.effect_block ul {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    .effect_block ul {
      justify-content: space-between;
      align-items: stretch;
      width: 62.5rem;
      margin: 0 auto; } }
  @media screen and (max-width: 660px) {
    .effect_block ul {
      flex-direction: column;
      justify-content: center;
      gap: 6rem;
      width: 100%; } }

.effect_block ul li {
  position: relative;
  color: #000000;
  text-align: center; }
  @media screen and (min-width: 661px) {
    .effect_block ul li {
      width: 30rem;
      padding: 5rem 0; } }
  @media screen and (max-width: 660px) {
    .effect_block ul li {
      width: 100%;
      padding: 8rem 0; } }

#salt .efficacy_block {
  background: none; }

#salt .efficacy_block::before,
.effect_block ul li::before {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFFFFF; }
  @media screen and (min-width: 661px) {
    #salt .efficacy_block::before,
    .effect_block ul li::before {
      filter: blur(0.313rem);
      border-radius: 5rem; } }
  @media screen and (max-width: 660px) {
    #salt .efficacy_block::before,
    .effect_block ul li::before {
      filter: blur(1rem);
      border-radius: 8rem; } }

.effect_block figure {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .effect_block figure {
      width: 18.625rem;
      padding: 0.625rem 0 1.25rem; } }
  @media screen and (max-width: 660px) {
    .effect_block figure {
      width: 51.8rem;
      padding: 1rem 0 2rem; } }

@media screen and (min-width: 661px) {
  .effect_block ul li:nth-of-type(1) figure {
    padding: 1.875rem 0 2.188rem; } }

.effect_block .cap {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .effect_block .cap {
      line-height: 1em;
      font-size: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .effect_block .cap {
      line-height: 1em;
      font-size: 2rem; } }

@media screen and (min-width: 661px) {
  #powder .overview_block hgroup {
    padding-top: 0;
    height: 20rem;
    background: url("../img/top/overview_ttl_img_1.png") 15.938rem 8.75rem no-repeat;
    background-size: 14.063rem auto; } }
@media screen and (max-width: 660px) {
  #powder .overview_block hgroup {
    background: url("../img/top/overview_ttl_img_1.png") -3rem 5rem no-repeat;
    background-size: 31rem auto; } }

@media screen and (min-width: 661px) {
  #salt .overview_block hgroup {
    padding-top: 0;
    height: 20rem;
    background: url("../img/top/overview_ttl_img_2.png") 37.5rem 8.438rem no-repeat;
    background-size: 8.125rem auto; } }
@media screen and (max-width: 660px) {
  #salt .overview_block hgroup {
    background: url("../img/top/overview_ttl_img_2.png") 42.5rem 15rem no-repeat;
    background-size: 13rem auto; } }

.overview_block {
  position: relative; }
  @media screen and (min-width: 661px) {
    .overview_block {
      padding: 0 0 5rem; } }
  @media screen and (max-width: 660px) {
    .overview_block {
      padding: 0 0 8rem; } }

.information {
  position: relative;
  margin: 0 auto;
  display: flex; }
  @media screen and (min-width: 661px) {
    .information {
      justify-content: center;
      width: 55rem;
      gap: 3.125rem; } }
  @media screen and (max-width: 660px) {
    .information {
      flex-direction: column;
      width: 100%; } }

@media screen and (min-width: 661px) {
  #salt .information {
    width: 47.5rem;
    gap: 0; } }

.information .info_box {
  position: relative;
  margin: 0; }
  @media screen and (min-width: 661px) {
    .information .info_box {
      width: 24.375rem;
      padding-top: 2.5rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box {
      width: 100%; } }

@media screen and (min-width: 661px) {
  #salt .information .info_box {
    text-align: left;
    width: 23.75rem !important;
    padding-top: 0rem !important; } }

.information .info_box h3 {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.14em; }
  @media screen and (min-width: 661px) {
    .information .info_box h3 {
      line-height: 1.5em;
      font-size: 2.25rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box h3 {
      line-height: 1.482em;
      font-size: 5.4rem; } }

.information .info_box .medical_set {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (min-width: 661px) {
    .information .info_box .medical_set {
      margin-top: 0.625rem;
      gap: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box .medical_set {
      margin-top: 0.5rem;
      gap: 1.5rem; } }

.information .info_box .sub {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .information .info_box .sub {
      line-height: 1.5em;
      font-size: 1.5rem;
      margin-top: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box .sub {
      line-height: 1.867em;
      font-size: 3rem;
      padding-top: 4rem; } }

.information .info_box span {
  position: relative;
  display: inline-block;
  margin: 0; }
  @media screen and (min-width: 661px) {
    .information .info_box span {
      width: 5.688rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box span {
      width: 15rem; } }

@media screen and (min-width: 661px) {
  #salt .information .info_box span {
    transform: translateY(-0.5rem) !important;
    margin-left: 0rem !important;
    margin-top: 0 !important; } }
@media screen and (max-width: 660px) {
  #salt .information .info_box span {
    transform: translateY(-1.5rem) !important;
    margin-left: 0.938rem !important;
    margin-top: 0 !important; } }

.information .info_box .general_txt_s {
  position: relative; }
  @media screen and (min-width: 661px) {
    .information .info_box .general_txt_s {
      margin-top: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box .general_txt_s {
      margin-top: 1.25rem; } }

.information .info_box .type {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: .6s ease-out;
  overflow: hidden;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.15em;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .information .info_box .type {
      line-height: 1.5em;
      font-size: 0.75rem;
      width: 7.5rem;
      height: 2.25rem;
      border-radius: 0.25rem;
      margin-top: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .information .info_box .type {
      line-height: 1.334em;
      font-size: 2.4rem;
      width: 20.4rem;
      height: 5.8rem;
      border-radius: 0.4rem;
      margin-top: 3rem; } }

#powder .information .info_box .type {
  background: #b81c22; }

#salt .information .info_box .type {
  background: #e85506; }

.information figure {
  position: relative; }
  @media screen and (min-width: 661px) {
    .information figure {
      width: 27.5rem; } }
  @media screen and (max-width: 660px) {
    .information figure {
      width: 65rem;
      margin: 0 auto; } }

#salt .information figure {
  position: relative; }
  @media screen and (min-width: 661px) {
    #salt .information figure {
      width: 23.75rem; } }
  @media screen and (max-width: 660px) {
    #salt .information figure {
      width: 65rem;
      margin: 0 auto; } }

#powder .information figure img {
  position: relative; }
  @media screen and (max-width: 660px) {
    #powder .information figure img {
      display: block;
      width: 55rem;
      height: auto;
      margin: 0 0 0 auto !important; } }

@media screen and (max-width: 660px) {
  #salt .information figure img {
    display: block;
    width: 47rem;
    height: auto;
    margin: 0 auto !important;
    padding: 3rem 0 2rem; } }

.information .cap {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .information .cap {
      text-align: right;
      line-height: 1em;
      font-size: 0.625rem;
      padding-top: 1.25rem;
      padding-right: 7.5rem; } }
  @media screen and (max-width: 660px) {
    .information .cap {
      line-height: 1em;
      font-size: 2rem;
      padding-top: 2rem;
      text-align: center; } }

@media screen and (min-width: 661px) {
  #salt .information .cap {
    padding-right: 0.625rem !important; } }

.product_list {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .product_list {
      width: 62.5rem;
      border-radius: 5rem;
      margin: 5rem auto 0;
      padding: 5rem 0; } }
  @media screen and (max-width: 660px) {
    .product_list {
      width: 65rem;
      border-radius: 8rem;
      margin: 8rem auto 0;
      padding: 8rem 0; } }

@media screen and (min-width: 661px) {
  #powder_overview_2 {
    margin: 5rem auto 0; } }
@media screen and (max-width: 660px) {
  #powder_overview_2 {
    margin: 8rem auto 0; } }

#powder .product_list {
  background: #fffadf; }

#salt .product_list {
  background: #fbf2ee; }

.product_list ul {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 661px) {
    .product_list ul {
      justify-content: space-between;
      align-items: flex-start;
      width: 45rem;
      margin: 0 auto;
      gap: 5rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul {
      flex-direction: column;
      justify-content: center;
      gap: 8rem;
      width: 100%; } }

.product_list ul li {
  position: relative; }
  @media screen and (min-width: 661px) {
    .product_list ul li {
      width: 19.875rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul li {
      width: 100%;
      text-align: center; } }

.product_list ul li .ttl {
  position: relative;
  width: auto !important; }
  @media screen and (min-width: 661px) {
    .product_list ul li .ttl {
      padding-bottom: 1.25rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul li .ttl {
      padding-bottom: 2rem; } }

.product_list ul li .ttl img {
  position: relative;
  display: block;
  margin: 0 auto;
  width: auto !important; }
  @media screen and (min-width: 661px) {
    .product_list ul li .ttl img {
      height: 2.5rem !important; } }
  @media screen and (max-width: 660px) {
    .product_list ul li .ttl img {
      height: 6.7rem !important; } }

.product_list ul li figure {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    .product_list ul li figure {
      width: 15rem;
      padding: 0.625rem 0 1.25rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul li figure {
      width: 40.8rem;
      padding: 2rem 0 3rem; } }

@media screen and (min-width: 661px) {
  #salt .product_list ul li figure {
    position: absolute !important;
    top: 2.5rem;
    left: 22.5rem;
    width: 23rem; } }

#salt .product_list ul li .txt:nth-of-type(2) {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #salt .product_list ul li .txt:nth-of-type(2) {
      padding: 0 0 1.25rem; } }

.product_list ul li .txt {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .product_list ul li .txt {
      line-height: 1.667em;
      font-size: 0.75rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul li .txt {
      line-height: 2em;
      font-size: 2.4rem; } }

.product_list ul li span {
  position: relative;
  display: inline-block;
  background: #FFFFFF;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .product_list ul li span {
      line-height: 1em;
      font-size: 0.875rem;
      padding: 0.313rem 0.625rem;
      margin-top: 0.625rem; } }
  @media screen and (max-width: 660px) {
    .product_list ul li span {
      line-height: 1em;
      font-size: 2.4rem;
      padding: 1rem 2rem;
      margin-top: 1rem; } }

#salt {
  display: none; }

/*easy_to_use*/
#easy_to_use hgroup {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #easy_to_use hgroup {
      height: 20rem;
      background: #ffea80 url("../img/top/easy_to_use_ttl_img.png") 37% bottom no-repeat;
      background-size: 13.313rem auto; } }
  @media screen and (max-width: 660px) {
    #easy_to_use hgroup {
      height: 35rem;
      background: #ffea80 url("../img/top/easy_to_use_ttl_img.png") 7.5rem bottom no-repeat;
      background-size: 23rem auto; } }

.easy_to_use_block .inner {
  position: relative; }
  @media screen and (min-width: 661px) {
    .easy_to_use_block .inner {
      height: 28.75rem; } }
  @media screen and (max-width: 660px) {
    .easy_to_use_block .inner {
      width: 100% !important;
      padding: 0 0 8rem; } }

.easy_to_use_block .inner div {
  position: relative;
  display: flex;
  color: #000000; }
  @media screen and (min-width: 661px) {
    .easy_to_use_block .inner div {
      justify-content: flex-end; } }
  @media screen and (max-width: 660px) {
    .easy_to_use_block .inner div {
      justify-content: center;
      margin: 0 auto; } }

@media screen and (min-width: 661px) {
  #easy_to_use_block_1 .inner {
    padding: 6.25rem 45rem 0 0; } }

@media screen and (min-width: 661px) {
  #easy_to_use_block_2 .inner {
    padding: 7.5rem 9.375rem 0 0; } }

.easy_to_use_block h3 {
  position: relative;
  font-weight: 600;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    .easy_to_use_block h3 {
      order: 1;
      line-height: 2.215em;
      font-size: 1.75rem;
      margin-left: 0.313rem; } }
  @media screen and (max-width: 660px) {
    .easy_to_use_block h3 {
      order: 1;
      line-height: 1.867em;
      font-size: 3rem;
      margin-left: 1rem; } }

.easy_to_use_block .rl_txt {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    .easy_to_use_block .rl_txt {
      line-height: 2em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    .easy_to_use_block .rl_txt {
      line-height: 2.25em;
      font-size: 2.4rem; } }

/*
#easy_to_use_block_2 {
	background: #dddde0;
}*/
#easy_to_use_block_3 {
  background: #fff4bf; }

@media screen and (min-width: 661px) {
  .easy_to_use_block figure {
    position: absolute !important;
    inset: 0;
    margin: 0;
    width: 100%;
    height: 100%; } }
@media screen and (max-width: 660px) {
  .easy_to_use_block figure {
    position: relative;
    width: 100%;
    padding: 0 0 8rem; } }

.easy_to_use_block figure img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover; }

#easy_to_use_block_3 .inner {
  position: relative; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner {
      height: 17.5rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner {
      width: 100% !important;
      padding: 8rem 0; } }

#easy_to_use_block_3 .inner ul {
  position: relative;
  display: flex; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner ul {
      justify-content: center;
      transform: translateY(-5.625rem);
      gap: 3.75rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner ul {
      flex-direction: column;
      width: 100% !important;
      gap: 6rem; } }

#easy_to_use_block_3 .inner ul img {
  position: relative;
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner ul img {
      width: 10rem;
      margin-bottom: 0.625rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner ul img {
      width: 32rem;
      margin-bottom: 1rem; } }

#easy_to_use_block_3 .inner ul li {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
  white-space: nowrap; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner ul li {
      gap: 1.25rem;
      width: 11.25rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner ul li {
      width: 100% !important;
      gap: 2rem; } }

#easy_to_use_block_3 .inner ul li .ttl {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner ul li .ttl {
      line-height: 1em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner ul li .ttl {
      line-height: 1.867em;
      font-size: 3rem; } }

#easy_to_use_block_3 .inner ul li .cap {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #easy_to_use_block_3 .inner ul li .cap {
      line-height: 1em;
      font-size: 0.625rem; } }
  @media screen and (max-width: 660px) {
    #easy_to_use_block_3 .inner ul li .cap {
      line-height: 1em;
      font-size: 2rem; } }

/*steps*/
#steps hgroup {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #steps hgroup {
      max-width: 67.5rem;
      margin: 0 auto;
      height: 28.75rem; } }
  @media screen and (max-width: 660px) {
    #steps hgroup {
      height: 35rem; } }

#steps hgroup h2 {
  color: #FFFFFF; }

#steps hgroup figure {
  position: absolute !important;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%; }

#steps .inner {
  display: flex; }
  @media screen and (min-width: 661px) {
    #steps .inner {
      padding: 5rem 7.5rem;
      gap: 1.25rem; } }
  @media screen and (max-width: 660px) {
    #steps .inner {
      width: 100% !important; } }

@media screen and (min-width: 661px) {
  #steps .inner#steps_block_1 {
    width: 67.5rem !important;
    margin: 0 auto;
    display: block;
    gap: 0rem; } }
@media screen and (max-width: 660px) {
  #steps .inner#steps_block_1 {
    flex-direction: column;
    padding: 8rem 0;
    gap: 2rem; } }

#steps .inner#steps_block_1 div {
  position: relative; }
  @media screen and (min-width: 661px) {
    #steps .inner#steps_block_1 div {
      white-space: nowrap; } }
  @media screen and (max-width: 660px) {
    #steps .inner#steps_block_1 div {
      width: 67rem;
      margin: 0 auto;
      display: flex;
      justify-content: center; } }

@media screen and (max-width: 660px) {
  #steps .inner#steps_block_1 .line {
    border-bottom: #000000 1px solid;
    padding-bottom: 6rem;
    margin-bottom: 6rem; } }

@media screen and (min-width: 661px) {
  #steps .inner#steps_block_2 {
    justify-content: flex-end;
    background: url("../img/top/steps_bg_img2.png") 6.25rem 5.625rem no-repeat;
    background-size: 17.5rem auto; } }
@media screen and (max-width: 660px) {
  #steps .inner#steps_block_2 {
    padding: 8rem 0 30rem;
    align-items: center;
    flex-direction: column-reverse;
    gap: 8rem;
    background: url("../img/top/steps_bg_img2.png") 40rem 80rem no-repeat;
    background-size: 30rem auto; } }

@media screen and (min-width: 661px) {
  #steps .inner#steps_block_3 {
    justify-content: flex-end;
    background: url("../img/top/steps_bg_img3.png") 35rem 18.75rem no-repeat;
    background-size: 25.938rem auto; } }
@media screen and (max-width: 660px) {
  #steps .inner#steps_block_3 {
    gap: 8rem;
    padding: 8rem 0 36rem;
    align-items: center;
    flex-direction: column-reverse;
    background: url("../img/top/steps_bg_img3.png") 0 bottom no-repeat;
    background-size: 100% auto; } }

#steps h3 {
  position: relative;
  font-weight: 600;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    #steps h3 {
      order: 1;
      line-height: 1.608em;
      font-size: 1.75rem; } }
  @media screen and (max-width: 660px) {
    #steps h3 {
      order: 1;
      line-height: 1.867em;
      font-size: 3rem; } }

#steps .rl_txt {
  position: relative;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl; }
  @media screen and (min-width: 661px) {
    #steps .rl_txt {
      line-height: 3.125em;
      font-size: 1rem; } }
  @media screen and (max-width: 660px) {
    #steps .rl_txt {
      line-height: 2.584em;
      font-size: 2.4rem; } }

#steps .rl_txt span {
  position: relative;
  display: inline-block; }
  @media screen and (min-width: 661px) {
    #steps .rl_txt span {
      line-height: 5em;
      font-size: 0.625rem;
      transform: translateX(0.313rem); } }
  @media screen and (max-width: 660px) {
    #steps .rl_txt span {
      line-height: 4.834em;
      font-size: 1.2rem;
      transform: translateX(0.7rem); } }

@media screen and (min-width: 661px) {
  #steps .inner#steps_block_3 .rl_txt {
    line-height: 2.625em;
    font-size: 1rem; } }
@media screen and (max-width: 660px) {
  #steps .inner#steps_block_3 .rl_txt {
    line-height: 2.667em;
    font-size: 2.4rem; } }

.steps_bg {
  position: relative;
  width: 100%;
  background: #fff4bf; }

#steps .inner#steps_block_2 .cap {
  position: absolute !important;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    #steps .inner#steps_block_2 .cap {
      bottom: 1.25rem;
      left: 2.5rem;
      line-height: 1em;
      font-size: 0.625rem; } }
  @media screen and (max-width: 660px) {
    #steps .inner#steps_block_2 .cap {
      bottom: 4rem;
      left: 2.5rem;
      line-height: 1em;
      font-size: 2rem; } }

/*wallpaper*/
#wallpaper hgroup {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #wallpaper hgroup {
      height: 20rem;
      background: #ffea80 url("../img/top/wallpaper_ttl_img.png") 68% 11.125rem no-repeat;
      background-size: 13.75rem auto; } }
  @media screen and (max-width: 660px) {
    #wallpaper hgroup {
      height: 35rem;
      background: #ffea80 url("../img/top/wallpaper_ttl_img.png") 45rem 19rem no-repeat;
      background-size: 19.8rem auto; } }

.read_txt {
  text-align: center; }
  @media screen and (min-width: 661px) {
    .read_txt {
      padding: 3.125rem 0; } }
  @media screen and (max-width: 660px) {
    .read_txt {
      letter-spacing: 0.05em;
      padding: 5rem 0; } }

#wallpaper_set {
  position: relative;
  display: flex;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #wallpaper_set {
      width: 53.375rem;
      gap: 2.5rem;
      justify-content: space-between;
      flex-wrap: wrap; } }
  @media screen and (max-width: 660px) {
    #wallpaper_set {
      width: 64rem;
      gap: 6rem;
      flex-direction: column; } }

#wallpaper_set li {
  position: relative; }
  @media screen and (min-width: 661px) {
    #wallpaper_set li {
      width: 16.125rem; } }
  @media screen and (max-width: 660px) {
    #wallpaper_set li {
      width: 64rem; } }

#wallpaper .btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: ease-out .6s all;
  top: 0;
  height: 100%;
  background: url("../img/top/icon_arrow_w.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 661px) {
    #wallpaper .btn::after {
      right: 1.25rem;
      width: 1.5rem; } }
  @media screen and (max-width: 660px) {
    #wallpaper .btn::after {
      width: 4rem;
      right: 4rem; } }

/*modal*/
#modal_bg {
  position: fixed;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100lvh;
  z-index: 9990;
  background: rgba(0, 0, 0, 0.75);
  opacity: 0;
  pointer-events: none;
  transition: ease-out .6s all; }

.close_bg {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0; }

#modal_set {
  position: fixed;
  inset: 0;
  margin: 0;
  width: 100%;
  min-height: 100vh;
  z-index: 9999;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: ease-out .6s all; }

#modal_set.open {
  opacity: 1 !important;
  pointer-events: auto; }

#modal_set.open .close_bg {
  pointer-events: auto !important; }

#modal_bg.open {
  opacity: 1 !important;
  pointer-events: auto !important; }

.modal_outer {
  position: relative;
  margin: 0;
  width: 100%;
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none; }
  @media screen and (min-width: 661px) {
    .modal_outer {
      padding: 2.5rem 0; } }
  @media screen and (max-width: 660px) {
    .modal_outer {
      padding: 4rem 0; } }

.modal_box {
  position: relative;
  margin: 0 auto;
  pointer-events: none;
  background: #fff;
  display: none; }
  @media screen and (min-width: 661px) {
    .modal_box {
      padding: 4.688rem 4.063rem 5.313rem;
      border-radius: 2.5rem; } }
  @media screen and (max-width: 660px) {
    .modal_box {
      padding: 6.5rem 0 6rem 2.5rem;
      border-radius: 4rem; } }

@media screen and (min-width: 661px) {
  .modal_box#modal_box1 {
    width: 62.5rem; } }
@media screen and (max-width: 660px) {
  .modal_box#modal_box1 {
    width: 70rem; } }

@media screen and (min-width: 661px) {
  .modal_box#modal_box2,
  .modal_box#modal_box3,
  .modal_box#onlineshop_modal {
    width: 50rem; } }
@media screen and (max-width: 660px) {
  .modal_box#modal_box2,
  .modal_box#modal_box3,
  .modal_box#onlineshop_modal {
    width: 70rem; } }

#modal_set.open .modal_box {
  pointer-events: auto !important; }

.modal_box .btn_close {
  position: absolute;
  display: block;
  background: #ffea80 url("../img/top/close.svg") center center no-repeat;
  z-index: 99999;
  cursor: pointer;
  transition: .3s;
  border: none;
  transition: ease-out .6s all; }
  @media screen and (min-width: 661px) {
    .modal_box .btn_close {
      top: 2.5rem;
      right: 2.5rem;
      width: 2rem;
      height: 2rem;
      background-size: 1.375rem auto; } }
  @media screen and (max-width: 660px) {
    .modal_box .btn_close {
      top: 4rem;
      right: 4rem;
      width: 8rem;
      height: 8rem;
      background-size: 5.6rem auto; } }

@media screen and (min-width: 661px) {
  .modal_box .btn_close:hover {
    background: #b81c22 url("../img/top/close.svg") center center no-repeat;
    background-size: 1.375rem auto; } }

.modal_box h2 {
  position: relative;
  font-weight: 600;
  color: #000000;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 661px) {
    .modal_box h2 {
      text-align: center;
      line-height: 2.084em;
      font-size: 1.5rem;
      padding-bottom: 2.5rem; } }
  @media screen and (max-width: 660px) {
    .modal_box h2 {
      text-align: left;
      line-height: 1.867em;
      font-size: 3rem;
      padding-bottom: 3rem; } }

.modal_inner {
  position: relative;
  width: 100%; }

#modal_box1 .modal_inner {
  display: flex; }
  @media screen and (min-width: 661px) {
    #modal_box1 .modal_inner {
      justify-content: space-between; } }
  @media screen and (max-width: 660px) {
    #modal_box1 .modal_inner {
      flex-direction: column;
      gap: 2.5rem; } }

#modal_box2 .modal_inner,
#modal_box3 .modal_inner {
  display: flex; }
  @media screen and (min-width: 661px) {
    #modal_box2 .modal_inner,
    #modal_box3 .modal_inner {
      justify-content: center; } }
  @media screen and (max-width: 660px) {
    #modal_box2 .modal_inner,
    #modal_box3 .modal_inner {
      flex-direction: column; } }

.modal_inner div {
  position: relative;
  font-weight: 400;
  color: #000000; }
  @media screen and (min-width: 661px) {
    .modal_inner div {
      letter-spacing: 0.15em;
      border-left: #ffea80 0.5rem solid;
      padding-left: 1.25rem;
      line-height: 2.429em;
      font-size: 0.875rem; } }
  @media screen and (max-width: 660px) {
    .modal_inner div {
      letter-spacing: 0.2em;
      border-left: #ffea80 0.8rem solid;
      padding-left: 2rem;
      line-height: 2.7em;
      font-size: 2rem; } }

@media screen and (min-width: 661px) {
  #modal_box1 .modal_inner div {
    width: 27.188rem;
    white-space: nowrap; } }

@media screen and (min-width: 661px) {
  #modal_box1 .modal_inner div p {
    padding-left: 4.375rem;
    text-indent: -4.375rem; } }
@media screen and (max-width: 660px) {
  #modal_box1 .modal_inner div p {
    padding-left: 11rem;
    text-indent: -11rem; } }

#onlineshop_modal .modal_inner {
  position: relative;
  text-align: center;
  width: 100%; }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner {
      margin: 0 !important;
      padding: 0 !important; } }

#onlineshop_modal .modal_inner ul {
  position: relative;
  display: flex;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #onlineshop_modal .modal_inner ul {
      justify-content: center;
      align-items: flex-start;
      width: 42.188rem; } }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner ul {
      flex-direction: column;
      width: 50rem;
      margin: 0 auto !important;
      padding: 0 !important; } }

#onlineshop_modal .modal_inner ul li {
  position: relative; }
  @media screen and (min-width: 661px) {
    #onlineshop_modal .modal_inner ul li {
      width: 14.063rem; } }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner ul li {
      width: 50rem;
      padding: 1rem 0; } }

#onlineshop_modal .modal_inner ul li a {
  position: relative;
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 661px) {
    #onlineshop_modal .modal_inner ul li a {
      width: 11.563rem; } }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner ul li a {
      width: 37rem; } }

#onlineshop_modal .modal_inner ul li:nth-of-type(2) {
  position: relative; }
  @media screen and (min-width: 661px) {
    #onlineshop_modal .modal_inner ul li:nth-of-type(2) {
      border-right: #f8d849 0.125rem solid;
      border-left: #f8d849 0.125rem solid; } }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner ul li:nth-of-type(2) {
      border-top: #f8d849 0.125rem solid;
      border-bottom: #f8d849 0.125rem solid; } }

#onlineshop_modal .modal_inner p {
  position: relative; }
  @media screen and (min-width: 661px) {
    #onlineshop_modal .modal_inner p {
      padding-top: 3.75rem; } }
  @media screen and (max-width: 660px) {
    #onlineshop_modal .modal_inner p {
      padding-top: 5rem; } }

body {
  background: #FFFFFF !important; }

/*action*/
.slide_in {
  opacity: 0;
  /*transform: translateY(10%);*/ }

.slide_in.active {
  transition: all 1200ms cubic-bezier(0.63, 0.355, 0.155, 0.905);
  transition-timing-function: cubic-bezier(0.63, 0.355, 0.155, 0.905);
  opacity: 1;
  /*transform: translateY(0);*/ }



@media screen and (max-width: 660px) {
    main.faq_head {
        padding-top: 14rem;
    }
}

