@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Zen+Kaku+Gothic+New&display=swap');
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none}ins{text-decoration:none}ins,mark{background-color:#ff9;color:#000}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

.nosp { display: block; }
.forsp { display: none; }
@media (max-width:900px) {
    .nosp { display: none; }
    .forsp { display: block; }
}

html { scroll-behavior: smooth; }
body { font-size:14px; line-height: 1.6; color:#333333; font-family: "Hina Mincho", serif; font-weight: 400; font-style: normal; }


h1 { font-size:28px; font-weight: normal; letter-spacing: 2px; margin:auto; margin-top:60px; margin-bottom:60px; text-align:center; padding-top:60px; position:relative; }
h1::before { content: ""; display: block; position: absolute; width:58px; height:64px; top:-10px; left:50%; transform: translateX(-100%); background:url("../img/icon_yatagarasu.svg"); background-repeat: no-repeat; background-size: contain; }
h1::after { content: ""; display: block; position: absolute; width:42px; height:42px; top:0; left:50%; transform: translateX(50%); background:url("../img/icon_mitsudomoe.svg"); background-repeat: no-repeat; background-size: contain; }

div#main_img { width:100%; height:640px; position:relative; z-index: 10; }
div#main_img::after { content: ""; display: block; position:relative; width:100%; height: 20px; background: linear-gradient(to right, #cdf4f4, #99c2c4); }
div#main_img > img { width:100%; height:640px; object-fit: cover; object-position: center 50%; vertical-align: bottom; }


div#map_block { width:100%; }
div#map_block > iframe { width:100%; height:400px; vertical-align: bottom; }
div#map_block > a { font-size:13px; color:#fefefe; display: block; text-align:center; height:44px; line-height: 40px; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 400; font-style: normal; background: linear-gradient(to right,#fefefe, #cdf4f4, #99c2c4); background-size: 200% 100%; background-position: right top; transition:all 1s ease-in-out; }
div#map_block > a:hover { color:#16a0a8; background-position: left top; }


footer { padding-top:60px; padding-bottom:60px; margin:auto; text-align:center; background:url('../img/texture01.png') #f5eee0; }
footer > h5 { font-size:21px; letter-spacing: 0.1em; font-weight: normal; }
footer > h5::before { padding-right: 8px;; content: ""; display: inline-block; width:26px; height:26px; vertical-align:text-bottom; background:url("../img/icon_mitsudomoe.svg"); background-repeat: no-repeat; background-size: contain; }
footer > p { font-size:13px; letter-spacing: 2px; }
footer > small { font-size:10px; text-align:center; }

div#footer_sns { margin:auto; width:26px; height:26px; margin-top:15px; margin-bottom:10px; }
div#footer_sns img { width:100%; object-fit: contain; }

div#footer_contact { display: flex; justify-content: center; gap:30px; }
div#footer_contact > p { font-size:28px; letter-spacing: 1px; }
div#footer_contact > p a { color:#333; }
div#footer_contact > p > span { font-size:21px; padding-right:5px; letter-spacing: 0; }

div#reception_time { display: flex; justify-content: center; align-items: center; gap:20px; margin-top:15px; }
div#reception_time > p:first-child { font-size:18px; letter-spacing: 0.15em; background-color:#f9f1e2; padding:0 20px 1px; mix-blend-mode:multiply;   }
div#reception_time > p:last-child { font-size:24px; letter-spacing: 0.1em; }
div#reception_time > p:last-child > span { font-size:16px; }
div#reception_info { margin-top:5px; margin-bottom:20px; letter-spacing:0; }
@media (max-width:900px) {
    footer { padding-top:40px; padding-bottom:40px; }
    footer > h5 { font-size:18px; letter-spacing: 0.2em; }
    footer > h5::before { width:23px; height:23px; }
    footer > p { font-size:11px; letter-spacing: 2px; }
    footer > small { font-size:9px; }

    div#footer_contact { flex-direction: column; gap:0; }
    div#footer_contact > p { font-size:21px; line-height: 1.4; }
    div#footer_contact > p > span { font-size:16px; }

    div#reception_time { flex-direction: column; gap:0; margin-top:20px; }
    div#reception_time > p:first-child { font-size:13px; letter-spacing: 0.1em; }
    div#reception_time > p:last-child { font-size:21px; }
    div#reception_time > p:last-child > span { font-size:15px; }
    div#reception_info { font-size:12px; }
}

@media(min-width: 900px){
    a[href^="tel:"]{
        pointer-events: none;
    }
}

.scroll_up { opacity: 0; position:relative;  transform: translateY(30px); animation:scrollDown 0.7s ease-in-out forwards; }
.scroll_up.up_effect { animation:scrollUp 1s ease-in-out forwards; }
@keyframes scrollUp {
	0% { opacity: 0; transform: translateY(30px); }
	100% { opacity:100%; transform: translateY(0); }
}
@keyframes scrollDown {
	0% { opacity: 100%; transform: translateY(0); }
	100% { opacity:0; transform: translateY(30px); }
}


button { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; vertical-align: middle; text-align: inherit; font: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

nav#g_nav { position: fixed; right: -60%; top: 0; z-index: 10001; width: 60%; padding:0 15%; height: 100vh; margin-left: auto; display: flex; flex-direction: column; color: #efefef; background: linear-gradient(to bottom, #cdf4f4, #99c2c4); transition: 0.3s; padding-top: 50px; box-sizing: border-box; }

nav#g_nav ul li#navTitle { width:100%; margin:auto; text-align:center; padding-top:40px; padding-bottom:30px; }
nav#g_nav ul li#navTitle > img { width:80%; max-width:300px; }
nav#g_nav ul li.nav_list { width: 100%; display: flex; justify-content: center; align-items: center; margin-top: 20px; margin-bottom: 30px; }
nav#g_nav ul li.nav_list a { font-size: 16px; color: #020202; width: 100%; display: inline-block; text-align: center; letter-spacing: 2px; line-height: 1.3; position:relative; }
nav#g_nav ul li.nav_list a::after { content:""; position:absolute; width:100%; height: 1px; left:0; bottom:-8px; background-color:#020202; }
nav#g_nav ul li.nav_list a span { font-size: 12px; line-height: 1.2; letter-spacing: 1px; color: #80a1c3; }
nav#g_nav ul li.nav_sns { text-align: center; margin-top: 40px; }
nav#g_nav ul li.nav_sns img { width: 36px; }
nav#g_nav ul li.nav_language {
  width: 100%;
  display: flex;
  justify-content: center;
  color: black;
  align-items: center;
  margin-top: 30px;
  text-align: center;
}
nav#g_nav ul li.nav_language a {
  font-size: 14px;
  color: black;
  text-align: center;
  line-height: 30px;
  font-weight: bold;
}
nav#g_nav ul li.nav_logo {
  width: 60%;
  max-width: 180px;
  margin: auto;
}
nav#g_nav ul li.nav_logo img {
  width: 100%;
}

nav#g_nav.open { right: 0; }

nav#g_nav div#nav_logo { margin:auto; text-align:center; }
nav#g_nav div#nav_logo a img { max-width:40px; max-height: 40px; }

@media(max-width: 900px){
  nav#g_nav { width:100%; right: -100%; padding:40px 10% 0; }
  nav#g_nav ul li#navTitle > img { width:80%; }
  nav#g_nav ul li.nav_list a { font-size:15px; }
}


.btn {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 52px;
  height: 52px;
  z-index: 10002;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 26px;
}

.btn:hover {
  cursor: pointer;
}

.btn-line {
  display: block;
  position: relative;
  width: 60%;
  height: 1px;
  background-color: #020202;
  transition: 0.5s;
  margin: auto;
}

.btn-line::before, .btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #020202;
  transition: 0.5s;
}

.btn-line::before {
  transform: translateY(-10px);
}

.btn-line::after {
  transform: translateY(10px);
}

.btn-line.open {
  background-color: transparent;
}

.btn-line.open::before, .btn-line.open::after {
  content: "";
  background-color: #020202;
  transition: 0.5s;
}

.btn-line.open::before {
  transform: rotate(45deg);
}

.btn-line.open::after {
  transform: rotate(-45deg);
}

@media(max-width: 900px){
  .btn { top: 15px; right: 15px; width: 42px; height: 42px; border-radius: 26px; }
  .btn-line::before { transform: translateY(-7px); }
  .btn-line::after { transform: translateY(7px); }
}





