﻿@charset "utf-8";


/* ------------------------------------------------------------------------
    BASE
------------------------------------------------------------------------  */
html{
  text-size-adjust: 100%;
}
body{
	margin:0;
	padding:0;
	color:#333;
	font-weight:300;
	line-height:1.875em;
	font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: .0em;
	
}
body {
	min-height: 100%;
	overflow-x: hidden;
}
/*
@media all and (-ms-high-contrast:none) {
	body {
	}
}
*/

html {
  font-size: 62.5%;
}
body {font-size: 1.4em;}
@media screen and (min-width:769px){
	body {font-size: 1.6em;}
}
html,body{
}
a{
	display:inline-block;
	text-decoration:	none;
	cursor: pointer;
	color:#333;
	transition: all .6s;
}
@media screen and (min-width:769px){
	a:focus, *:focus { outline:none; }
	a:active{
		text-decoration:	none;
	}
	a.hov:hover{
		opacity:.7;
	}
}


li {
	list-style:none;
}
li a {
	text-decoration:none;
}
address, div, form, fieldset, legend, h1, h2, h3, h4, h5, h6, img, ol, ul, li, dl, dt, dd, p, img, strong, em, span, blockquote, q {
	margin: 			0;
	padding:			0;
	border:				none;
	font-size: 			1em;
	font-style: 		normal;
	font-weight: 		normal;
	vertical-align:		top;
}

table, tr, th, td{
	font-size: 			1em;
	margin:				0;
	padding:			0;
	border:				0 none;
	border-spacing:		0;
	border-collapse:	collapse;
}
object, embed{
	vertical-align: top;
}
p{
	word-break:break-all;
}
sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
	font-size:.8em;
	padding-left:.5em;
     
}
span {vertical-align: baseline;}
sup {
    bottom: 1ex;
	padding-left:.3em;
}
 
sub {
    top: .1ex;
	padding-left:0;
}
img {
	width:100%;
	max-width:100%;
	display: block;
	height:auto;
	vertical-align: bottom;
	
	pointer-events: none;
}
img[src$=".svg"] {
	width: 100%;
	height:100%;
	max-width:100%;
	max-height:100%;
}
img.auto {
	width: auto;
}
video{
	vertical-align: bottom;
	width: 100%;
}

/* ------------------------------------------------------------------------
    text
------------------------------------------------------------------------  */
/* font family */
.min {
	font-family: 'Noto Serif JP', serif;
}

/* font weight */
.fw5 {font-weight: 500;}
.fwb {font-weight: 700;}

/* indent */
.ti1{
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}
.ti2{
	display: inline-block;
	text-indent: -2em;
	padding-left: 2em;
}

/* text-align */
.tac {text-align: center;}
.tar {text-align: right;}

/* ------------------------------------------------------------------------
    BG_Color
------------------------------------------------------------------------  */
.Bg_Color {
    position: relative;
}
.Bg_Color:before {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    content: '';
    z-index: -5;
}
/* Base color */
.Bg_Color.beach:before {
    background: #F6F2EE;
}
.Bg_Color.herbs:before {
    background: #82996B;
}
.Bg_Color.water:before {
    background: #77A0AF;
}
.Bg_Color.fire:before {
    background: #B37566;
}
.Bg_Color.earth:before {
    background: #A59380;
}
/* Wave */
.Bg_Color:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    height: 0;
    width: 100%;
    z-index: -3;
}

/* ------------------------------------------------------------------------
    Format
------------------------------------------------------------------------  */
/* Title */
@media screen and (min-width:769px){
}

/* SubTitle */
.SubTitle_A {
    font-weight: 500;
}
@media screen and (min-width:769px){
    .SubTitle_A {
        font-family: 'Noto Serif JP', serif;
    }
}

.SubTitle_B {
}
.SubTitle_B .category{
    color: #fff;
    font-weight: 500;
    padding-top: .5em;
    padding-bottom: .5em;
    text-align: center;
    margin-bottom: 20px;
    
    width: 100%;
}
.SubTitle_B .Main{
    line-height: 1.5em;
}
@media screen and (min-width:769px){
    .SubTitle_B {
        display: flex;
        align-items: center;
    }
    .SubTitle_B .category{
        max-width: 160px;
        margin-right: 20px;
        margin-bottom: 0;
    }
    .SubTitle_B .Main{
        font-family: 'Noto Serif JP', serif;
    }
}
/* Font-size */
@media screen and (max-width:768px){
    .SubTitle_A ,
    .SubTitle_B .Main{
        font-size: calc(22px + 6 * (100vw - 370px)/398);
    }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
    .SubTitle_A ,
    .SubTitle_B .Main{
        font-size: calc(22px + 6 * (100vw - 769px)/431);
    }
}
@media screen and (min-width:1201px){
    .SubTitle_A ,
    .SubTitle_B .Main{
        font-size: 28px;
    }
}

/* Contents Title */
.Contents_Title {
    border-left: 1px solid #B3B0A8;
    padding-left: 15px;
    padding-bottom: 10px;
}
.Contents_Title h2{
    line-height: 1.5em;
}
.Contents_Title img{
    width: auto;
}
@media screen and (min-width:769px){
    .Contents_Title {
        padding-left: 35px;
        padding-bottom: 25px;
    }
}

/* Contents SubTitle */
.Contents_SubTitle {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #B3B0A8;
    
    font-size: 1.285em;
}
@media screen and (min-width:769px){
    .Contents_SubTitle {
        font-size: 1.375em;
    }
}

.Contents_SubTitle_B ,
.Contents_SubTitle_B_2 {
    padding-left: 10px;
    border-left: 4px solid #B3B0A8;
    font-size: 1.285em;
    
    font-weight: 500;
}
.Contents_SubTitle_B_2 {
    border-left: none;
    padding-left: 14px;
}
@media screen and (min-width:769px){
    .Contents_SubTitle_B ,
    .Contents_SubTitle_B_2 {
        padding-left: 14px;
        border-left-width: 6px;
        font-size: 1.5em;
        font-family: 'Noto Serif JP', serif;
    }
    .Contents_SubTitle_B_2 {
        padding-left: 20px;
    }
}

.Contents_SubTitle_C {
    padding-left: 10px;
    border-left: 4px solid #B3B0A8;
    font-size: 1.142em;
    line-height: 1.3em;
    
    font-weight: 500;
}
@media screen and (min-width:769px){
    .Contents_SubTitle_C {
        padding-left: 14px;
        border-left-width: 6px;
        font-size: 1.125em;
    }
}


/* ------------------------------------------------------------------------
    Font-Size
------------------------------------------------------------------------  */
.Note1 {
    font-size: 1.57em;
}
@media screen and (min-width:769px){
    .Note1 {
        font-size: 1.75em;
    }
}


/* ------------------------------------------------------------------------
    layout
------------------------------------------------------------------------  */
/* fit */
.fit{
	width: 100%;
}
.fit--fixed{
	max-width: 100%;
}
.is--hidden{
/*	display:none;*/
	visibility:hidden;
	position:fixed;
}
.is-fixed {
	position: fixed !important;
	top: 0;
	left:0;
	width: 100%;
	z-index:999;
	
	display: none;
}

.body_fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

/* flex */
.fx_al_c {
	align-items: center;
}
.fx_c {
	display: flex;
	justify-content: center;
}

/* flex set */
.Flex_A {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.Flex_A .Item{
	width: 100%;
}

/* ------------------------------------------------------------------------
    ICON
------------------------------------------------------------------------  */


/* ------------------------------------------------------------------------
    Horizon Scroll
------------------------------------------------------------------------  */
.H_Scrl {
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

/* ------------------------------------------------------------------------
    hr
------------------------------------------------------------------------  */
hr {
	height: 0;
	padding: 0;
	margin: 0;
	border: 0;
}
@media screen and (min-width:769px){
}

/* ------------------------------------------------------------------------
    container
------------------------------------------------------------------------  */
.container{
	width:100%;
	margin-left: 	auto;
	margin-right: 	auto;
	padding-left:25px;
    padding-right:25px;

	box-sizing:border-box;
}
.Site-Wide {
	max-width: 1250px;
}
@media screen and (min-width:769px){
	.container{
	}
}

/* ------------------------------------------------------------------------
    Button / Arrow
------------------------------------------------------------------------  */
/********** Button Area **********/
.Btm_Btn {
    max-width: 378px;
    margin-left: auto;
    margin-right: auto;
}

/********* Button **********/
/* Type-A */
.Btn_Type_A {
    width: 100%;
    text-align: center;
    padding-top: 7px;
    padding-bottom: 7px;
    background: #CE5D51;
    color: #fff;
    
    border-radius: 5px;
}

.Btn_Type_A span{
    position: relative;
    display: inline-block;
    text-align: left;
    line-height: 1.3em;
}
.Btn_Type_A span:before{
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    transform: translateY(-50%);
}
/* Close */
.Btn_Type_A.Close {
    pointer-events: none;
    background: #9D9D9D;
}

/* Calendar */
.Btn_Type_A span.Calendar{
    padding-left: 40px;
}
.Btn_Type_A span.Calendar:before{
    width: 21px;
    height: 22px;
    background-image: url("../images/icon_calendar.svg");
    background-repeat: repeat;
    background-size: cover;
}

/* Arrow */
.Btn_Arrow {
    width: 100%;
    max-width: 465px;
    padding-right: 15px;
}
.Btn_Arrow a{
    position: relative;
    width: 100%;
    border:1px solid #B3B0A8;
    text-align: center;
    padding-top: .5em;
    padding-bottom: .5em;
    box-sizing: border-box;
    border-radius: 5px;
    
    font-size: 1.4rem;
    background: #fff;
}
.Btn_Arrow a:after{
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    width: 31.5px;
    height: 7px;
    background-repeat: no-repeat;
    background-position: 50%;
    background-image: url("../images/btn_arrow.svg");
    background-size: cover;
}
@media screen and (min-width:769px){
    .Btn_Arrow a:after{
        transition: .3s;
    }
    .Btn_Arrow a:hover:after{
        transform: translateY(-50%) translateX(-25px);
    }
}

/* ------------------------------------------------------------------------
    LIST
------------------------------------------------------------------------  */
/********** table **********/
/* Detail List */
.Detail_List table{
    width: 100%;
    border-top: 1px solid #ccc;
}
.Detail_List table tr{
    border-bottom: 1px solid #ccc;
}
.Detail_List table td,
.Detail_List table th{
    box-sizing: border-box;
    padding-top: .5em;
    padding-bottom: .5em;
    padding-left: 1em;
    padding-right: 1em;
    
    font-size: 1.3rem;
}
.Detail_List table th{
    background: #F6F2EE;
    text-align: center;
}
@media screen and (min-width:769px){
    .Detail_List table th{
        width: 140px;
    }
    .Detail_List table td,
    .Detail_List table th{
        padding-left: 2em;
        padding-right: 2em;
        
        font-size: .875em;
    }
}

/********** ul / ol **********/
ol li:not(:last-child){
	margin-bottom: .35em;
}
/* Text */
@media screen and (min-width:769px){
	ol.Text li,
	ol.Text li:before{
		font-weight: 300;
	}
}

/* Num */
ol.Num {
	counter-reset: count 0;
}
ol.Num > li {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
ol.Num > li:before {
	content: counter(count) ". ";
	counter-increment: count 1;
}
/* Bracket */
ol.Bracket {
	counter-reset: count 0;
}
ol.Bracket > li {
	display: block;
	padding-left: 1.5em;
	text-indent: -1.5em;
}
ol.Bracket > li:before {
	content: "(" counter(count) ") ";
	counter-increment: count 1;
}
/* Bracket Half */
ol.Bracket_Half {
	counter-reset: count 0;
}
ol.Bracket_Half > li {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
ol.Bracket_Half > li:before {
	content: counter(count) ") ";
	counter-increment: count 1;
}
/* point */
ol.Point {
	counter-reset: count 0;
}
ol.Point > li {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
ol.Point > li:before {
	content: "・";
}
/* circle Num */
ol.Normal {
	counter-reset: count 0;
}
ol.Normal > li{
	list-style: none;
	padding-left: 1.3em;
	text-indent: -1.3em;
}

/* ------------------------------------------------------------------------
    TABLE Layout
------------------------------------------------------------------------  */

/* Table */
th {
	font-weight: normal;
}
th,td {
	padding-bottom: 1.25em;
	padding-top: 1.25em;
	padding-left: 1em;
	padding-right: 1em;
}
table.Blue{
	width: 100%;
}
table.Blue th:not(.no) ,
table.Blue td:not(.no) {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
table.Blue tr:first-child td ,
table.Blue tr:first-child th {
	border-top: none;
}
table.Blue tr:last-child td ,
table.Blue tr:last-child th {
	border-bottom: none;
}
table.Blue th {
	background: #3e86de;
	color: #fff;
}
table.Blue td {
	position: relative;
	
}
table.Blue td:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: #ebf3fc;
	z-index: -1;
}


/* ------------------------------------------------------------------------
    switch
------------------------------------------------------------------------  */
.for--pc{}
.for--sp{}
@media screen and (max-width: 768px){
.for--pc{ display: none !important; }
}
@media screen and (min-width:769px){
.for--sp{ display: none !important; }
}