@charset "utf-8";
@import url("drawer.min.css");

/*TAG再設定*/
* { box-sizing:border-box; outline:none; }
html { width:100%; height:100%; scroll-behavior: smooth; scroll-padding-top: 61px; }
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings:"palt";
	-webkit-font-feature-settings:"palt";
	-webkit-text-size-adjust:100%;
	font-size:14px;
	line-height:1.6;
	letter-spacing:.1em;
	color:#333;
	margin:0;
	padding:61px 0 0;
	border:none 0;
	width:100%;
	height:100%;
}
header, footer, nav, article, section, aside { display:block; }
h1,h2,h3,h4 {font-size:max(1.4vw,14px); line-height:normal; padding:0; margin:0;}
p,address,cite { margin:0; padding:0; font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; }
ul,ol,menu { list-style:none; padding:0; margin:0; }
li { padding:0; margin:0; }
dl,dt,dd { margin:0; padding:0; font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; }
form { margin:0; padding:0; }
video { margin:0; padding:0; vertical-align:bottom; filter: drop-shadow(0px 0px rgba(0,0,0,0)); outline: none; border: none; }
img { height:auto; max-width:100%; margin:0; padding:0; border:none 0; text-align:center; vertical-align:bottom; -webkit-backface-visibility:hidden; }
iframe { vertical-align:bottom; outline:none; border:none; }

/*TAGカスタム*/
p.p { margin-bottom:1em; }
ul.ul { list-style-type:disc; list-style-position:outside; margin-left:1.5em;}
ol.ol { list-style:decimal; list-style-position:outside; margin-left:1.75em; }
ul.ul li:not(:last-child), ol.ol li:not(:last-child) { margin-bottom:1em;}


/*リンク共通*/
a { color:rgba(84,143,242,1); text-decoration:none; }
a.bt-txt {
	display:block;
	width:calc(100% - 40px);
	color:#333;
	text-align:center;
	background-color:rgba(255,255,255,0);
	padding:.5rem 2rem .5rem 1rem;
	border:solid 1px #3333;
	background-image:url(../images/icon_next-bk.svg);
	background-repeat:no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	margin:auto;
}

/*外部サービス埋め込み*/
#fb-root, .fb-page { font-family:sans-serif; }
#twitter iframe{ width: 100% !important; }


/*Icon*/
.icon_instagram,.icon_facebook,.icon_line,.icon_twitter,.icon_phone-mobil {}
.icon_instagram {}
.icon_facebook {}
.icon_line {}
.icon_twitter {}
/*Icon+Text*/


/*アイコン*/
.freecall {
	display:inline-block;
	padding-left:1.4em;
	background:url(../images/ico_freecall.svg) no-repeat left center;
	background-size:1em 1em;
}
.freecall_w {
	display:inline-block;
	padding-left:1.4em;
	background:url(../images/ico_freecall_w.svg) no-repeat left center;
	background-size:1em 1em;
}


/*PC・Tab用コンテンツ*/
.pc { display:none !important; }

/*横縦コンテンツ切換*/
/*横向き*/
@media (orientation: landscape){
.portrait { display:none !important; }
}
/*縦向き*/
@media (orientation: portrait){
.landscape { display:none !important; }
}


/* --------Font-------- */

/*Font Size*/
.font_xxxxl { font-size:max(4.0vw,40px); }
.font_xxxl { font-size:max(3.2vw,32px); }
.font_xxl { font-size:max(2.4vw,24px); }
.font_xl { font-size:max(1.8vw,18px); }
.font_l { font-size:max(1.6vw,16px); }
.font_m { font-size:max(1.4vw,14px); }
.font_s { font-size:max(1.2vw,12px); }
.font_xs { font-size:max(1vw,10px); }

/*Text Color*/
.fcolor_r {color: #F00;}
.fcolor_bl {color: #00F;}
.fcolor_gray {color: #999;}
/*Marker Color*/
.marker_p {background: linear-gradient(transparent 60%, rgba(255,136,220,.4) 40%);}
.marker_v {background: linear-gradient(transparent 60%, rgba(197,97,248,.4) 40%);}
.marker_bl {background: linear-gradient(transparent 60%, rgba(59,110,255,.4) 40%);}
.marker_sbl {background: linear-gradient(transparent 60%, rgba(58,209,255,.4) 40%);}
.marker_gr {background: linear-gradient(transparent 60%, rgba(0,204,0,.4) 40%);}
.marker_ygr {background: linear-gradient(transparent 60%, rgba(125,204,0,.4) 40%);}
.marker_y {background: linear-gradient(transparent 60%, rgba(255,234,0,.4) 40%);}
.marker_or {background: linear-gradient(transparent 60%, rgba(255,144,0,.4) 40%);}
.marker_r {background: linear-gradient(transparent 60%, rgba(255,0,0,.4) 40%);}
/*Text Outline*/
.txt-outline { text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff; }



/* --------MainkLayout-------- */

/*HEADER*/
#header {
	display:block;
	width:100%;
	height:61px;
	background-color:rgba(255,255,255,1);
	position:fixed;
	top:0 !important;
	left:0;
	z-index:10;
	border-bottom:solid 1px #CCC;
	transform:none !important;
}
#header .site-title {
	background-color:rgba(255,255,255,1);
	width:calc(100% - 60px);
	height:60px;
	padding:0 20px;
	display:flex;
	flex-flow: row nowrap;
	justify-content:flex-start;
	align-items:center;
	gap:0px 10px;
	position:absolute;
	z-index:50;
}
#header h1.logo {
}
#header h1.logo img {
	width:auto;
	height:32px;
}
#header .catchphrase {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:10px;
	letter-spacing:normal;
	color:#333;
}
#header .company-name {
	display:none;
	font-size:10px;
	letter-spacing:normal;
	color:#666;
}


/*MAIN*/
/* ---MAIN--- */
/*Bloc Box*/
main { display:flex; flex-direction:column; max-width:767px; margin:auto; }
main .container { padding: 4rem 1.5rem; }
/*Title*/
main h1 .en { display:block; font-family: "Acme", sans-serif; font-size:max(3.2vw,32px); }
main h1 .ja { display:block; font-family: 'Noto Serif JP', serif; font-size:max(1.6vw,16px); font-weight:600; letter-spacing:.1em; }
main h1.title { font-size:max(3.2vw,32px); margin-bottom:1em;}
main h1.title .en:first-letter { color:rgba(0,173,201,1); }
main h1 img[src*="title.svg"] { width:auto; height:48px;}
main h2.title { font-size:max(1.8vw,18px); margin-bottom:1em;}
main .line-on { display:flex; align-items: center; justify-content: center; gap:1em; }
main .line-on::before, main .line-on::after { content: ""; flex-grow:1; border-top:1px solid #999; }
main .line-on-r { display:flex; align-items: center; justify-content: center; gap:1em; }
main .line-on-r::after { content: ""; flex-grow:1; border-top:1px solid #999; }

/* ---FOOTER--- */
footer {
	color:#333;
	background-color: rgba(255,255,255,1);
}
footer #signature {
	border-top:solid 1px #999;
}
footer #signature .profile {
	text-align:center;
	padding:2rem 1rem;
}
footer #signature .profile h1 {
	padding-bottom:1rem;
}
footer #signature .profile h1 img {
	width:200px;
}
footer #signature .maps {
	width:100%;
	background-color:#FFF;
}
footer #signature .maps > iframe {
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	max-height:80vh;
}
footer #signature .group {
	width:calc(100%);
	padding:2rem 1rem;
	background-color:rgba(1,175,212,.5);
}
footer #signature .group h2.title {
	display:flex;
	flex-flow:column-reverse wrap;
	justify-content:center;
	align-items:center;
	gap:0 0;
	margin-bottom:1rem;
}
footer #signature .group h2.title .en {
	display:block;
	font-size:max(2.4vw,24px);
	letter-spacing:.1em;
}
footer #signature .group h2.title .ja {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:max(1.4vw,14px);
	letter-spacing:.2em;
}
footer #signature .group h2.title .en:first-letter {
	color: rgba(0,55,194,1);
}
footer #signature .group ul.group-list {
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:1rem;
	width:100%;
}
footer #signature .group ul.group-list li:nth-child(odd) {
	text-align:right;
}
footer #signature .group  ul.group-list li a img {
	width:100%;
	max-width:240px;
	border-radius:6px;
}

footer #signature .partner {
	width:calc(100%);
	padding:2rem 1rem;
	background-color:rgba(1,175,212,.2);
}
footer #signature .partner h2.title {
	display:flex;
	flex-flow:column-reverse wrap;
	justify-content:center;
	align-items:center;
	gap:0 0;
	margin-bottom:1rem;
}
footer #signature .partner h2.title .en {
	display:block;
	font-size:max(2.4vw,24px);
	letter-spacing:.1em;
}
footer #signature .partner h2.title .ja {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:max(1.4vw,14px);
	letter-spacing:.2em;
}
footer #signature .partner h2.title .en:first-letter {
	color: rgba(0,55,194,1);
}
footer #signature .partner ul.partner-list {
	display:grid;
	grid-template-columns: 1fr;
	gap:1rem;
	width:50%;
	margin:auto;
}
footer #signature .partner ul.partner-list li {
	text-align: center;
}
footer #signature .partner  ul.partner-list li a img {
	width:100%;
	max-width:240px;
	border-radius:6px;
}

footer .copyright {
	font-size:10px;
	text-align:center;
	color:#FFF;
	background-color: rgba(0,55,194,1);
	padding:1rem 0;
}


/* ---CIBTENTS--- */

/*Key Visual*/
.keyvisual {
	display:flex;
	flex-direction:column-reverse;
	flex-wrap:wrap;
	width:100%;
}
.keyvisual > .frame  {
	display:block;
	width:100%;
	aspect-ratio:1920 / 440;
	position:relative;
}
.keyvisual > .frame img {
	display:block;
	width:100%;
	aspect-ratio:1920 / 400;
	pointer-events:none;
	position:absolute;
	bottom:0;
}
.keyvisual .title-box {
	width:100%;
	padding:0 1.5rem;
}
.keyvisual h1 {
	display:flex;
	flex-direction:column-reverse;
	flex-wrap:nowrap;
	align-items:flex-start;
	justify-content:flex-end;
	gap:.5em 1em;
	letter-spacing:normal;
}
.keyvisual .title-box h1 .en,
.keyvisual .title-box h1 .ja {
	display:block;
	line-height:1;
}
.keyvisual .title-box h1 .en {
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size:max(3.2vw,32px);
}
.keyvisual .title-box h1 .ja {
	font-family:"Kosugi Maru", sans-serif;
	font-weight:400;
}
.keyvisual .title-box p {
	font-size:max(1.4vw,14px);
	letter-spacing:.05em;
	padding:1em 0 0;
}

/*Scrol box*/
.scroll_x {
	display:block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.scroll_x > tbody {
	width: 100%;
	display:table;
}

.scroll_x > tbody th {
	position: sticky;
	white-space:nowrap;
	top:0;
	left:0;
	z-index:2;
}
.scroll_x > tbody td {
	white-space:nowrap;
}
.scroll_x > img{
	width:auto !important;
	max-width: none !important;
	margin-bottom:0.5em;
}
.scroll_x::-webkit-scrollbar {
  height: 10px;
}
.scroll_x::-webkit-scrollbar-track {
  border-radius: 6px;
  background: rgba(0,0,0,1);
}
.scroll_x::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: rgba(187,0,0,1);
}

/* --------Navigation-------- */

/*Content*/
menu.content-nav {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1.5rem;
	padding:2rem 1.5rem;
}
menu.content-nav li {
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	overflow:hidden;
	border-radius:50%;
}
menu.content-nav li > a {
	display:block;
	text-align:center;
}


/*その他ナビゲーション*/
main article.nav-sub.sp {
	position: -webkit-sticky;
	position: sticky;
	bottom:0;
	left:0;
	z-index:5;
	width:100%;
}
main article.nav-sub aside.contact ul {
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	gap:0px 0px;
}
main article.nav-sub aside.contact ul li {
	width:calc(100% / 2);
}
main article.nav-sub aside.contact ul li.contact-line {
	background-color:rgba(6,199,85,1);
}
main article.nav-sub aside.contact ul li.contact-instagram {
	background-color:rgba(224,169,203,1);
}
main article.nav-sub aside.contact ul li.contact-mail {
	background-color:rgba(84,143,242,1);
}
main article.nav-sub aside.contact ul li.contact-tel {
	background-color:rgba(255,255,255,1);
}
main article.nav-sub aside.contact ul li a {
	display:block;
	text-align:center;
	padding:10px 0;
}
main article.nav-sub aside.contact ul li img {
	width:40px;
}



.insta_list li{
    position: relative;
	overflow:hidden;
	margin:20px;
}
@media screen and (max-width: 750px){
    .insta_list li{
        width: calc((100% - 20px)/2);
    }
}
.insta_list li::before{
	content: "";
	display: block;
	padding-top: 100%;
}

.insta_list a{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.insta_list a::before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url(../images/filter_bk080.png);
	background-color:rgba(0,0,0,.8);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}

.insta_list img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.insta_list li p.caption {
	display:block;
	color:rgba(255,255,255,1);
	text-align:justify;
	width:100%;
	padding:1rem;
	position:absolute;
	top:0;
    left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}
.insta_list li:hover a::before,
.insta_list li:hover p.caption {
	opacity:1;
}
.insta_list li p.like {
	display:block;
	color:rgba(229,76,166,1);
	background-color:rgba(255,255,255,1);
	text-align:right;
	padding:.5em;
	position:absolute;
	bottom:1rem;
	right:1rem;
	z-index:1;
	border-radius:50%;
	transition:opacity ease .4s;
	opacity:1;
}
.insta_list li:hover p.like {
	opacity:0;
}


.insta_btn{
    background-color: #000;
    padding: .5em 1em;
    width: fit-content;
    margin: 0 auto;
    cursor: pointer;
    transition: .3s
}
.insta_btn a{
    color: #fff;
    text-decoration: none;
}