@charset "utf-8";

*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)){
all:unset;display:revert}
*,*::before,*::after{box-sizing:border-box;font-style:normal}
a,button{cursor:revert}
ol,ul,menu{list-style:none}
main img{width: 100%; height: auto;}
table{border-collapse:collapse}
textarea{white-space:revert}
meter{-webkit-appearance:revert;appearance:revert}
::placeholder{color:unset}
:where([hidden]){display:none}
:where([contenteditable]){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space}
:where([draggable="true"]){-webkit-user-drag:element}
ul,dl,ol,li,dt,dd{margin:0;padding:0}

html{font-size:62.5%;line-height:1.6;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;word-break:break-all;font-feature-settings:"palt"; scroll-behavior: smooth;scroll-padding-top: 10rem;}

html:focus-within { scroll-behavior: smooth;}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}

body{
  margin:0;
  padding:0;
  background-color:#fff;
  color:#333;
  font-size: 1.6rem;
  font-family: Meiryo,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,sans-serif;
  font-weight: 400;
  line-height: 1.6;
}

strong{ font-weight:600;}
a,area,button,input,label,select,summary,textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

a {
  color: #0068b7;
  text-decoration: none;
  cursor: pointer;
}

a:visited,
a:hover,
a:focus,
a:active { color: #inherit;}

@media (hover: hover) {
a { transition: opacity .5s ease;}
a:hover { opacity: 0.8;}
}
/* End hover */

/* accordion */

details > summary {
  list-style: none;
  cursor: pointer;
  display: inline-block;
  outline: none;
}

details summary::-webkit-details-marker { display: none;}

.serif{
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-display: swap;
  font-weight: 500;
}

.noto-serif{
  font-family: "Noto Serif JP", serif;
  font-display: swap;
  font-weight: 500;
}


.en-sans-serif{
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-display: swap;
  font-weight: 400;
}

.no-wrap{ white-space: nowrap;}

#WRAP{
  position: relative;
  width: 100%;
  display: block;
  padding-top: 12rem;
}

:target {
  scroll-margin-top: 2rem;
}

@media screen and (max-width: 940px) {

#WRAP{ padding-top: 15rem;}

}/* End max 940 */

.inner {
  position: relative;
  width: calc(100% - 4rem);
  max-width: 120rem;
  margin: 0 auto;
  overflow: hidden;
  z-index: 10;
}

/* HEADER */

header{
  position: fixed;
  top: 0;
  width: 100%;
  height: 12rem;  
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  z-index: 998;
}

.header-inner {
  width: calc(100% - 4rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 2rem;
}

header .head-logo { width: 40%; max-width: 37rem; min-width: 28rem;}

header .head-logo img {
  width: 100%;
  display: block;
  aspect-ratio: 370 / 28;
}

header .head-logo span {
  padding: 1rem 0 0;
  display: block;
  font-size: min(max(1rem, calc(1.4rem + ((1vw - 0.48rem) * 0.3846))), 1.2rem);
  line-height: 1.4;
  white-space: nowrap;
}


header .head-logo a{ position: relative;}

header .head-logo a::before{
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 21.08%;
  max-width: 7.8rem;
  display: block;
  background: url(/smileup/img/new/daiken.avif) no-repeat;
  background-size: contain;
  aspect-ratio: 78 / 28;  
  content: "";  
}

header #NAV{
  margin: 0 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 1em;
}


@media screen and (max-width: 940px) {

header{
  position: fixed;
  top: 0;
  height: 12rem;
}

.header-inner {
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  column-gap: 0;
}

header .head-logo {
  margin-left: 2rem;
  width: 30rem;
  height: 7rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

header .head-logo span {
  padding: 0.4rem 0 0;
  /* font-size: 1rem; */
  line-height: 1.4;
}

header #NAV{
  margin: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0;
}


}/* End max 940 */


/* burger-menu */

.burger-menu-trigger-button{
  position: relative;
  right: 0;
  margin: 0;
  width: 5.4rem;
  height: 5.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #eee;
  border-radius: 4em;
  color: #333;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  z-index: 5000;
}

@media screen and (max-width: 940px) {

.burger-menu-trigger-button{
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 5rem;
  height: 5rem;
}

}/* End max 940 */



@media screen and (min-width: 1340px) {

.burger-menu-trigger-button{ display: none;}

}/* End min 1340 */



.burger-menu-trigger-button span{
  position: absolute;
  bottom: 1rem;
}

.burger-menu-trigger-button em{
  position: relative;
  margin: -1.4rem 0 0;
  padding: 0;
  width: 2rem;
  height: 0.2rem;
  display:flex;
  justify-content: center;
  align-items: center;
  background-color: #333;
  cursor:pointer;
  outline: 0;
  transition: background-color 0.3s ease;
}

.burger-menu-trigger-button em::before,
.burger-menu-trigger-button em::after {  
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333;
  transition: transform 0.3s ease, background-color .3s ease;
  content: "";
}

.burger-menu-trigger-button em::before { transform: translateY(-0.6rem);}
.burger-menu-trigger-button em::after { transform: translateY(0.6rem);}
.burger-menu-trigger-button.active em { background-color: transparent;}
.burger-menu-trigger-button.active em::before { transform: rotate(45deg);}
.burger-menu-trigger-button.active em::after { transform: rotate(-45deg);}


@media screen and (max-width: 1339px) {

.burger-menu-body{
  position: absolute;
  top: 12rem;
  left: 0;
  margin: 0;
  padding: 1em;
  width: 100%;
  display: block;
  transition: opacity 0.5s ease;
  background: #eee;
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
}


/* burger-menu */

.burger-menu-body.active{
  top: 12rem;
  left: 0;
  z-index: 1000;
  pointer-events: all;
  opacity: 1;
  overscroll-behavior: contain;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: none;
}


}/* End max-1339 */


@media screen and (max-width: 940px) {

.burger-menu-body{ top: 7rem;}
.burger-menu-body.active{ top: 7rem;}

}/* End max 940 */



/* global menu */

.global-menu-summary{
  position: relative;
  padding: 0.4rem;
  width: 22rem;
  height: 5.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 3em;
  z-index: 10;
}

.global-menu-summary::before{
  position: absolute;
  top: 2.3rem;
  left: 0;
  padding: 0.4rem;
  width: 100%;
  height: 6.4rem;
  display: block;
  content: "";
  z-index: -1;
  transform: scale(1, 0);
  transform-origin: top bottom;
  transition: transform .1s;
}

.global-menu-summary.bg-orange::before{background-color: #e5dfc9;}
.global-menu-summary.bg-blue::before{background-color: #d3e4ee;}

details.global-menu-details[open] summary.global-menu-summary::before { transform: scale(1, 1);}

.global-menu-summary span{
  width: 4.6rem;
  height: 4.6rem;
  display: block;
  overflow: hidden;
  border-radius: 3em;  
  background-color: #fff;
  aspect-ratio: 1 / 1;
}

.global-menu-summary span img{
  width: 100%;
  display: block;
  aspect-ratio: 1 / 1;
}

.global-menu-summary p{
  padding: 0.3rem 0 0;
  width: calc(100% - 5.6rem);
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}

.global-menu-summary p em{
  display: block;
  color: #333 !important;
  font-size: 1.2rem;
  font-weight: 400;
}

.global-menu-content{
  position: absolute;
  top: 12rem;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media screen and (max-width: 940px) {

.global-menu-details{ width: 50%;}

.global-menu-summary{
  padding: 0 1rem;
  width: 100%;
  height: 5rem;
  border-radius: 0;
}

.global-menu-summary::before{ display: none;}

.global-menu-summary span{ width: 4rem; height: 4rem;}

.global-menu-summary p{
  width: calc(100% - 5rem);
  font-size: 1.6rem;
}

.global-menu-summary p em{ font-size: 1.1rem;}

.global-menu-content{
  position: absolute;
  top: 12rem;
  left: 0;
  width: 100%;
  overflow: hidden;
}


}/* End max 940 */


.global-menu-content .global-menu-content-inner{
  position: relative;
  margin: 2rem 0;
  width: calc(100% - 4rem);
  max-width: 120rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;  
}

.global-menu-content-inner .inner-menu-list{
  margin: 0;
  width: calc(50% - 1rem);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem; 
}

.global-menu-content-inner .inner-menu-banner{
  margin: 0;
  padding: 1rem;
  width: calc(50% - 1rem);
  display: block;
  background-color: #fff;
  border-radius: 1rem;
}

@media screen and (max-width: 940px) {

.global-menu-content .global-menu-content-inner{
  flex-direction: column;
  align-items: center;
  gap: 2rem;  
}

.global-menu-content-inner .inner-menu-list{
  width: 100%;
  max-width: 64rem;
}

.global-menu-content-inner .inner-menu-banner{
  width: 100%;
  max-width: 50rem;
  order: -1;
}

}/* End max 940 */



@media screen and (max-width: 480px) {

.global-menu-content {
  position: fixed;
  top: 12rem;
  width: 100%;
  height: calc(100vh - 12rem);
  height: calc(100dvh - 12rem);  
  padding: 0 0 5rem;
  align-items: flex-start;
  pointer-events: all;
  opacity: 1;
  overscroll-behavior: contain;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: none;
}

.global-menu-content .global-menu-content-inner::before{
  position: absolute;
  width: 0.1rem;
  height: calc(100vh + 0.1rem);
  display: flex;
  content: "";
}

}/* End max 480 */



.global-menu-content-inner .inner-menu-list li{ width: calc(50% - 0.2rem); display: flex; align-items: stretch; align-self: stretch;}
.global-menu-content-inner .inner-menu-list li:first-child{ width: 100%;}

.global-menu-content-inner .inner-menu-list a{
  position: relative;
  margin: 0;
  padding: 1rem 2rem 1rem 1rem;
  width: 100%;
  display: flex;
  align-self: stretch;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1rem;  
  background-color: #fff;
  color: #333;
  font-weight: 600;
  line-height: 1.4;
}

.global-menu-content-inner .inner-menu-list a::after{
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 1rem;
  height: 1rem;
  display: block;
  border: solid 0.2rem #979797;
  border-width: 0.2rem 0.2rem 0 0;
  transform: rotate(45deg);
  content: "";
}


.global-menu-content-inner .inner-menu-list li:first-child a{ padding: 1.5rem 2rem 1.5rem 1rem; border-radius: 1rem 1rem 0 0;}
.global-menu-content-inner .inner-menu-list li:nth-child(4) a{ border-radius: 0 0 0 1rem;}
.global-menu-content-inner .inner-menu-list li:last-child a{ border-radius: 0 0 1rem 0;}


.bg-blue .global-menu-content-inner .inner-menu-list li:nth-child(4) a{ border-radius: 0;}
.bg-blue .global-menu-content-inner .inner-menu-list li:nth-child(10) a{ border-radius: 0 0 0 1rem;}

@media screen and (max-width: 480px) {

.global-menu-content-inner .inner-menu-list li,
.global-menu-content-inner .inner-menu-list li:first-child{ width: 100%;}
.global-menu-content-inner .inner-menu-list li:nth-child(4) a,
.bg-blue .global-menu-content-inner .inner-menu-list li:nth-child(10) a{ border-radius: 0;}
.global-menu-content-inner .inner-menu-list li:last-child a{ border-radius: 0 0 1rem 1rem;}

}/* End max 480 */

.global-menu-content-inner .icon-image{
  margin: 0;
  width: 4rem;
  height: 4rem;
  display: block;
  overflow: hidden;
  border-radius: 3em;
  aspect-ratio: 1 / 1;
}

.global-menu-content-inner .inner-menu-list strong{ display: block; font-size: 2.2rem; line-height: 1.2;}

.global-menu-content-inner .inner-menu-list p{ min-height: 4rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;}


.global-menu-content-inner .icon-image img{
  width: 100%;
  display: block;
  object-fit: cover;
}

.global-menu-content-inner .inner-menu-banner .menu-slider{ display: block;}
.global-menu-content-inner .inner-menu-banner img{
  width: 100%;
  display: block;
}

.aspect-500-172{ aspect-ratio: 500 / 172;}

.menu-slider .splide__arrows {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5rem;
  margin: auto;
  padding: 0;
  width: 100%;
  pointer-events: none;
}


.splide .splide__arrows .splide__arrow--prev,
.splide .splide__arrows .splide__arrow--next{
  width: 4rem;
  height: 4rem;
  background: #fff;
  pointer-events: all;
  opacity: 1;
}

.splide .splide__arrows .splide__arrow--prev{ left: 0;}
.splide .splide__arrows .splide__arrow--next{ right: 0;}

.splide .splide__arrows .splide__arrow--prev.prev::after{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 1rem;
  height: 1rem;
  display: block;
  border: solid 0.2rem #979797;
  border-width: 0.2rem 0 0 0.2rem;
  transform: rotate(-45deg);
  content: "";
}
.splide .splide__arrows .splide__arrow--next.next::after{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 1rem;
  height: 1rem;
  display: block;
  border: solid 0.2rem #979797;
  border-width: 0.2rem 0.2rem 0 0;
  transform: rotate(45deg);
  content: "";
}

.splide .splide__pagination { column-gap: 0.5rem; position: relative; width: auto; margin-top: 2.5rem;}
.splide .splide__pagination__page { width: 1rem; height: 1rem; opacity: 1; background-color: #ccc;}
.splide .splide__pagination__page.is-active { background: #b18839; opacity: 1; transform: scale(1);}




#NAV .link-menu{
  position: relative;
  padding: 0 2rem;
  height: 5.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
  border-radius: 3em;
}

@media screen and (max-width: 1340px) {

#NAV .link-menu.bg-gray{ background-color: #fff !important;}

}/* End max 1340 */


#NAV li.arrow a {
  position: relative;
  padding: 0.5rem 2.5rem 0.5rem 0;
  color: #333;
  font-weight: 600;
}

#NAV li.arrow a::after{
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 0.8rem;
  height: 0.8rem;
  display: block;
  border: solid 0.2rem #979797;
  border-width: 0.2rem 0.2rem 0 0;
  transform: rotate(45deg);
  content: "";
}

@media screen and (max-width: 580px) {

#NAV .link-menu{
  position: relative;
  padding: 2rem;
  height: auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
  border-radius: 1em;
}

#NAV .link-menu li{
  padding: 0.5rem 0;
  width: 100%;
  display: block;
  border-bottom: 0.1rem dotted #ccc;
}

#NAV li.arrow a { display: block;}

}/* End max 580 */





/* margin-top */
.mt-10{margin-top: 10rem;}


/* bg-color */
.bg-orange{background-color: #e5dfc8;}
.bg-blue{background-color: #d3e4ee;}
.bg-gray{background-color: #f7f7f7;}
.bg-clear{background-color: rgba(255, 255, 255, 0.9);}
.bg-white{background-color: #fff;}

/* aspect比 */
.aspect-7-4{ aspect-ratio: 7 / 4;}



.foot-aside{
  position: sticky;
  position: -webkit-sticky;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  pointer-events: none;
  z-index: 500;
}

.foot-aside .foot-info-button{
  position: absolute;
  right: 1em;
  bottom: 0;
  padding: 0;
  width: 16rem;
  height: 11.4rem;
  display: block;
  pointer-events: all;
  cursor: pointer;
  z-index: 10;
}

@media (hover: hover) {

.foot-aside .foot-info-button{ transform: translate(0,0); transition: transform .3s ease;}
.foot-aside .foot-info-button:hover {transform: translate(0, 0.5rem);}

}/* End hover */

.foot-aside details summary.foot-info-button::after{
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  padding: 0.5rem 1rem 0.5rem 2.4rem;
  display: block;
  background: url(/smileup/img/new/icon_close.svg) left 0.5rem center no-repeat #fff;
  background-size: 0.8rem;
  border-radius: 2em;
  font-size: 1.4rem;
  line-height: 1.4rem;
  transition: opacity 0.3s ease;
  content: "\9589\3058\308B";
  opacity: 0;
}

.foot-aside details[open] summary.foot-info-button::after { opacity: 1;}


.foot-aside .accordion-content{
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  width: 100%;
  display: block;
  pointer-events: all;
  cursor: pointer;
  z-index: 1;  
  background-color: #e4e4e4;
}

.foot-aside .foot-info-links{
  padding: 1.5rem 2rem;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.foot-aside .foot-info-links li{
  padding: 0 0;
  width: calc(100% / 3 - 2rem / 3);
  max-width: 32rem;
  display: block;
  border-radius: 0.4rem;
  overflow: hidden;
}

@media screen and (max-width: 1200px) {

.foot-aside .foot-info-links{ padding: 1.5rem 14rem 1.5rem 2rem;}

}/* End max 1200 */

@media screen and (max-width: 900px) {

.foot-aside .foot-info-links{ padding: 1.5rem 2rem 5rem 2rem; flex-wrap: wrap;}

.foot-aside .foot-info-links li{
  width: calc(50% - 0.5rem);
  max-width: 36rem;
}

.foot-aside .foot-info-links li:nth-child(1){ order: 3;}
.foot-aside .foot-info-links li:nth-child(2){ order: 2;}
.foot-aside .foot-info-links li:nth-child(3){ order: 1;}

}/* End max 900 */

@media screen and (max-width: 580px) {

.foot-aside .foot-info-links{ padding: 1.5rem 2rem 10rem 2rem; flex-wrap: wrap;}
.foot-aside .foot-info-links li{ width: 100%;  max-width: 36rem;}

}/* End max 580 */

.foot-aside .foot-info-links li a{
  padding: 0 1rem 0 5rem;
  width: 100%;
  min-height: 5.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  column-gap: 1rem;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.3;
}

.foot-aside .foot-info-links li a strong{ display: block;}
.foot-aside .foot-info-links li:nth-child(1),
.foot-aside .foot-info-links li:nth-child(2){ flex-shrink: 3;}
.foot-aside .foot-info-links li:nth-child(3){ flex-shrink: 0; min-width: 26rem;}

.foot-aside .foot-info-links li:nth-child(1) a{
  background: url(/smileup/img/new/icon_tel.svg) left 1rem center no-repeat #0081cc;
  background-size: 3rem;
}

.foot-aside .foot-info-links li:nth-child(2) a{
  background: url(/smileup/img/new/icon_mail.svg) left 1rem center no-repeat #b1883a;
  background-size: 3rem;
}
.foot-aside .foot-info-links li:nth-child(3) a{
  background: url(/smileup/img/new/icon_mail.svg) left 1rem center no-repeat #59c4ed;
  background-size: 3rem;
}
