/* CSS Document */

/*
 * Globals
 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Shippori+Mincho:wght@400;600;800&display=swap');
@font-face {font-family: "Yu Mincho Demibold";src: local(Yu Mincho Demibold)}

html,body {
	-webkit-text-size-adjust: 100%;
    width: 100%;
    height: 100%;
}
*{
	margin: 0;
	padding: 0;
}
img { vertical-align: bottom;max-width: 100%;height: auto; }

@media (max-width: 768px) {
  html {
    font-size: 12px;
  }
}

body {
  padding-top: 0;
  padding-bottom: 0;
  background: #E4E0D8;
  font: 13px/1.231 'Noto Sans JP', Meiryo, "Hiragino Kaku Gothic Pro", sans-serif;
  *font-size: small;
  *font: x-small;
  overflow-x: hidden;
  position: relative;
}
body.preload .wow.fadeInLeft,
body.preload .wow.fadeInRight,
body.preload .wow.fadeInDown{
	opacity: 0 !important;
}
.wrap{
    overflow: hidden;
    height: 100%;
    opacity: 0;
    transition: opacity 1s;
    position: relative;
}
h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form,
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 13px;
	*font-size: small;
	*font: x-small;
	font-style: normal;
	font-weight: normal;
 	text-align: left;
	list-style-type: none;
}

.br-pc { display:none; }
.br-sp { display:block; }
@media (min-width: 601px){
.br-pc { display:block; }
.br-sp { display:none; }
}



.pc-only{
	display:block;
}
.sp-only{
	display:none;
}
/* Google Map */
#googlemap-region {
	height:200px;
	max-width:auto;
}

/* Bootstrap grid examples */

.row {
  margin-bottom: 1rem;
}
.row .row {
  margin-top: 1rem;
  margin-bottom: 0;
}
/*[class*="col-"] {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: rgba(86,61,124,.15);
  border: 1px solid rgba(86,61,124,.2);
}*/

hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* default */
.tb-rl{
	font-family:"Shippori Mincho", serif;
	font-size:2vw;
    font-weight: 600;
	letter-spacing:0px;
	line-height:200%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
    font-feature-settings: "palt";
}
.tb-rl span{
	font-size:300%;
    line-height: 120%;
}
.link-btn a{
	border:1px solid #e5e5e5;
	color:#666;
	display:inline-block;
	font-family:"Arial Black", Gadget, sans-serif;
	font-weight:bold;
	font-size:10px;
	padding:6px 12px;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;	
}
.align-right{
	text-align:right!important;
}
.swiper-slide {
    display: block;
    height: 400px;
    width: fit-content;
    box-sizing: border-box;
}

#logo{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    padding: 0;
    width: 800px;
    z-index: 100;
    
}
#logo.active{
    top: 50px;
    left: 60px;
    transform: translate(0%, 0%);
    padding: 0;
    width: 200px;
    transition: all 1s cubic-bezier(.55,-0.01,.47,1);
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(200%) contrast(101%);
}
nav p{
	display:inline;
	margin-left:42px;
}
nav p:before{
	content:"\025cf";
	color:#CCC;
	margin-right:4px;
}
nav{
	position:absolute;
	top:0;
	right:0;
}
	nav a{
		color:#666;
		transition: all 0.5s ease;
		-webkit-transition: all 0.5s ease;
		-moz-transition: all 0.5s ease;	
	}

.sp-nav{
	display:none;
}

.main-gra{
	height:0;
	margin-bottom:50px;
	padding-top:100vh;
	position:relative;
	width:100%;
}
.main-gra .tb-rl{
	position:absolute;
	top: 50px;
	right:60px;
    line-height: 250%;
    color: white;
    text-shadow: 0 0 20px rgba(0,0,0,1);
}
.main-gra .tb-rl span{
    line-height: 100%;
}
.main-gra .text-box{
	position:absolute;
	bottom:60px;
	left:60px;
	text-align: justify;
	width:80%;
}

.main-gra .text-box h1,
.catch1 .text-box h2,
.catch1 .text-box h3{
    font-family:"Shippori Mincho", serif;
    font-weight: 800;
	font-size: 24px;
	margin-bottom:1em;
	letter-spacing:0px;
    line-height: 1.8;
    font-feature-settings: "palt";
}
.main-gra .text-box h1{
    font-size: 24px;
    color: white;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(0,0,0,1);
}
.catch1 .text-box h2,
.catch1 .text-box h3{
    font-size: 30px;
}
.catch1{
    
	margin-bottom:18%;
	position:relative;
}
.catch1 .text-box{
    position: relative;
    z-index: 2;
    text-align: justify;
}
.text-box p{
    line-height: 2;
    font-size: 17px;
    margin-bottom: 1.5em;
    text-align: justify;
}
.catch1 .phs{
	box-sizing:border-box!important;
	-webkit-box-sizing:border-box!important;
	-moz-box-sizing:border-box!important;
    position: relative;
    top: 0;
    right: 0;
    z-index: 1;
}
.catch1 .phs li{
    position: absolute;
}
.catch1 .phs li.ph1{
    right: 0;
    top: 0;
    width: 130px;
}
.catch1 .phs li.ph2{
    right: 80px;
    top: 160px;
    width: 300px;
}
.catch1 .phs li.ph3{
    right: -80px;
    top: 380px;
    width: 300px;
}
.catch1 .phs li.ph4{
    right: 50px;
    top: 600px;
    width: 300px;
}
.catch1 .tb-rl{
	position:absolute;
	bottom:-30px;
	right:60px;
}
@media all and (-ms-high-contrast: none){
	.catch1 .tb-rl{
		position:absolute;
		top:400px;
		right:60px;
	}
}
.swiper-container-outer{
    position: relative;
    
}
.swiper-container-outer .bridge{
    position: absolute;
    bottom: 50px;
    right: 20%;
    z-index: 10;
    padding: 20px 20px;
    background-color: #E4E0D8;
}
.swiper-container-outer .illust{
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 10;
    width: 100%;
}
.swiper-container-outer .illust img{
    width: 250px;
    height: auto;
}
.swiper-container-outer.item2-slide .bridge{
    position: absolute;
    right: auto;
    left: 20%;
    z-index: 10;
    padding: 20px 20px;
    background-color: #E4E0D8;
}
.swiper-container-outer.item2-slide .illust{
    top: 0;
    text-align: right;
}

.item-info{
    position: relative;
    padding-top: 80px;
    margin-bottom: 150px;
}
.swiper-container-outer .tb-rl{
    font-size: 1.6vw;
}

.swiper-container-outer h3{
    color: #000;
    background: -webkit-linear-gradient(90deg, #1A6600, #000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.swiper-container-outer h3 span{
    font-size: 200%;
}
.swiper-container-outer h3 span.copy{
    font-size: 122%;
}
.swiper-container{
    overflow: hidden;
}
.item-info h4{
    font-family:"Shippori Mincho", serif;
    font-weight: 800;
	font-size: 24px;
	margin-bottom:1em;
	letter-spacing:0px;
    line-height: 1.8;
    font-feature-settings: "palt";
    margin-bottom: 15px;
}
.item-info table{
    border-collapse: collapse;
    margin-bottom: 20px;
    width: 100%;
    table-layout: fixed;
}
.item-info table td{
    font-size: 20px;
    padding: 5px 10px;
    border: 1px solid #000;
    text-align: center;
}
.item-info table td.available{
    background-color: #F4B183;
}
.item-info table td.probably{
    background-color: #FBE5D6;
}
.item-info p.notice{
    line-height: 1.8;
}
.item-info .examples {
    padding:50px 50px 0;
}
.item-info .examples img{
    margin-bottom: 10px;
}
.item-info .examples p{
    font-family:"Shippori Mincho", serif;
    font-weight: 600;
	font-size: 24px;
    text-align: center;
	margin-bottom:1em;
	letter-spacing:0px;
    line-height: 1.8;
    font-feature-settings: "palt";
}
.item2-slide{
    padding-top: 150px;
}

.ph-aboutus{
    height: 500px;
}
#aboutus{
    padding-bottom: 100px;
}

footer{
	margin:0 auto 24px;
	position:relative;
    padding-bottom: 50px;
}
footer .name{
	font-weight:bold;
	margin-bottom:1em;
	text-align:center;
}
footer .name img{
        width: 200px;
    }
address{
	margin-bottom:32px;
	text-align:center;
}
address span{
	font-size:16px;
	font-weight:bold;
}

.copy{
	text-align:center;
}

img {
    max-width: 100%;
    height: auto;
}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 1200px) {
    .phs{
        opacity: 0.5;
    }
    .main-gra .text-box h1 {
        font-size: 18px;
    }
    .catch1 .text-box h2, .catch1 .text-box h3 {
        font-size: 20px;
    }
    .text-box p {
        font-size: 14px;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 991px) {
    .catch1 {
        margin-bottom: 30%;
    }
    .swiper-container-outer .tb-rl {
        font-size: 2.2vw;
    }
    .item-info table td {
        font-size: 15px;
        padding: 5px;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 767px) {
    p, li{
        font-size:12px;
    }
    #logo{
        position: absolute;
        top: 50%;
        right: 50%;
        left:auto;
        transform: translate(50%, -50%);
        transform-origin: center;
        width: 300px;
    }
    #logo.active{
        top: 20px;
        right: 20px;
        left: auto;
        transform: translate(0%, 0%);
        padding: 10px;
        width: 150px;
    }
    .logo{
        
    }
    .main-gra{
        margin-bottom: 0;
        padding-top: 90vh;
    }
    .spfb{
        margin-bottom: 20px;
    }
    .main-gra .tb-rl {
        position: absolute;
        top: auto;
        right: auto;
        font-size: 3.5vw;
        writing-mode: horizontal-tb;
        bottom: 130px;
        left: 20px;
        line-height: 1.8;
    }
    .main-gra .text-box{
        width: 90%;
        bottom: 30px;
        left: 20px;
    }
    .main-gra .text-box h1 {
        font-size: 15px;
        margin-bottom: 0;
    }
    .pc-only{
        display:none;
    }
    .sp-only{
        display:block;
    }
    .swiper-slide {
        display: block;
        height: 150px;
        width: fit-content;
        box-sizing: border-box;
    }
    .swiper-container-outer .bridge{
        right: 5%;
        bottom: 20px;
        padding: 10px;
    }
    .swiper-container-outer.item2-slide .bridge{
        right: auto;
        left: 5%;
        bottom: 20px;
        padding: 10px;
    }
    .swiper-container-outer .bridge .tb-rl{
        font-size: 13px;
    }
    .swiper-slide img{
        height: 100%;
        width: auto;
    }
    .swiper-container-outer .illust{
        position: absolute;
        top: -50px;
        left: 0;
        z-index: 10;
        width: 100%;
    }
    .swiper-container-outer.item2-slide .illust{
        top: 50px;
    }
    .swiper-container-outer .illust img{
        width: 120px;
        height: auto;
    }
    .ph-aboutus{
        height: 300px;
    }
    .phs{
        display: none;
    }
    .container{
        padding: 0 20px 20px;
    }
    .text-box p {
        font-size: 12px;
    }
    .item-info {
        padding-top: 40px;
        margin-bottom: 0;
    }
    .item-info h4{
        font-size: 20px;
    }
    .item-info p.notice{
        line-height: 1.8;
    }
    .item-info table td {
        font-size: 11px;
        padding: 5px;
    }
    .item-info .examples {
        padding: 20px 0 30px;
    }
    .item-info .examples .row{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }
    .item-info .examples .row p{
        font-size: 14px;
    }
    .item2-slide{
        padding-top: 120px;
    }
    #aboutus {
        padding-bottom: 0;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {


}




/* pace css */

.pace {
	-webkit-pointer-events: none;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.pace-inactive {
	display: none;
}

.pace .pace-progress {
	background: #00a69a;
	position: fixed;
	z-index: 2000;
	top: 0;
	right: 100%;
	width: 100%;
	height: 2px;
}

.pace .pace-progress-inner {
	display: block;
	position: absolute;
	right: 0px;
	width: 100px;
	height: 100%;
	box-shadow: 0 0 10px #00a69a, 0 0 5px #00a69a;
	opacity: 1.0;
	-webkit-transform: rotate(3deg) translate(0px, -4px);
	-moz-transform: rotate(3deg) translate(0px, -4px);
	-ms-transform: rotate(3deg) translate(0px, -4px);
	-o-transform: rotate(3deg) translate(0px, -4px);
	transform: rotate(3deg) translate(0px, -4px);
}

.pace .pace-activity {
	display: block;
	position: fixed;
	z-index: 2000;
	top: 15px;
	right: 15px;
	width: 14px;
	height: 14px;
	border: solid 2px transparent;
	border-top-color: #00a69a;
	border-left-color: #00a69a;
	border-radius: 10px;
	-webkit-animation: pace-spinner 400ms linear infinite;
	-moz-animation: pace-spinner 400ms linear infinite;
	-ms-animation: pace-spinner 400ms linear infinite;
	-o-animation: pace-spinner 400ms linear infinite;
	animation: pace-spinner 400ms linear infinite;
}

@-webkit-keyframes pace-spinner {
	0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-moz-keyframes pace-spinner {
	0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
	100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
}
@-o-keyframes pace-spinner {
	0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
	100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
}
@-ms-keyframes pace-spinner {
	0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
	100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes pace-spinner {
	0% { transform: rotate(0deg); transform: rotate(0deg); }
	100% { transform: rotate(360deg); transform: rotate(360deg); }
}


.loadpane{
    pointer-events: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 1s;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    img{
        width: 70%;
        display: block;
        @include tablet{
            width: 30%;
        }
    }
}