﻿@charset "utf-8";

/* ------------------------------------------------------------------------
    Setting
------------------------------------------------------------------------  */
:root{
    /* color */
    --base-color: #000000;
    --main-color :#323232;
    --sub-color:#00A1E9;
    --sub1-color:#3A7287;
    --sub2-color:#B3B0A8;
    --sub3-color:#707070;
    --sub4-color:#F5F5F5;
    
    --btn-color:#EF5B66;
    --color-green:rgba(90,190,130,.5);
    --color-gray:#E3E3E3;
    --color-white:#fff;
    
    --color-mask:rgba(0,0,0,.3);
    
    /* padding margin */
    --container-side:5%;
    --space-10:10px;
    --space-15:15px;
    --space-20:20px;
    --space-25:25px;
    --space-30:30px;
    --space-40:40px;
    --space-50:50px;
    --space-60:60px;
    --space-70:70px;
    
    /* border-rudius */
    --border-r:10px;
    
    /* Wide */
    --site-width:1420px;
    --site-width-s:1000px;
}
@media screen and (min-width:769px){
    :root{
        /* padding margin */
        --container-side:25px;
        --space-10:20px;
        --space-15:20px;
        --space-20:40px;
        --space-25:50px;
        --space-30:60px;
        --space-40:80px;
        --space-50:100px;
        --space-60:120px;
        --space-70:140px;
    }
}



/* ------------------------------------------------------------------------
    BASE
------------------------------------------------------------------------  */
html{
    text-size-adjust: 100%;
}
body{
	margin:0;
	padding:0;
	color:var(--main-color);
	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:var(--main-color);
	transition: all .3s;
    vertical-align:top;
}
a.link {
    color: #2539B4;
}
@media screen and (min-width:769px){
	a:focus, *:focus { outline:none; }
	a:active{
		text-decoration:	none;
	}
	a.hov:hover{
		opacity:.7;
	}
    a.link:hover {
		opacity:.5;
	}
}


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: keep-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:top;
	
	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
------------------------------------------------------------------------  */
/* h1 - 2 */
h1 ,h2 ,h3 {}
@media screen and (min-width:769px){
}
@media only screen and (min-width: 769px) and (max-width: 1520px) {
}
@media screen and (min-width:1521px){
}

/* font family */
.min {
	font-family: 'Noto Serif JP', serif;
}
.beyond {
    font-family: 'Beyond Infinity - Demo', sans-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;}
.flex_center {
    display: flex;
    justify-content: center;
}
.flex_center > * {
    display: inline-block;
}

/* Message */
.Message.A {
}

/* ------------------------------------------------------------------------
    Title
------------------------------------------------------------------------  */  
/* Base */
.Title{
}
.Title p{
    line-height: 1.3em;
    font-size: 30px;
    color: var(--sub-color);
}
@media screen and (min-width:769px){
    .Title p{
        font-size: 40px;
    }
}

/* SubTitle */
/* A */
.SubTitle_A{
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
}
/* B */
.SubTitle_B {
    position: relative;
    padding-left: 2em;
    line-height: 1.3em;
    margin-bottom: .75em;
}
.SubTitle_B:before {
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    width: 1.5em;
    height: 1px;
    background: var(--base-color);
}
/* C */
.SubTitle_C{
    padding-left: 1.5em;
    line-height: 1.5em;
    border-left: 5px solid var(--sub4-color);
    font-size: 1.125em;
    font-weight: 500;
    margin-bottom: var(--space-20);
}
.SubTitle_C span{
    font-size: .875em;
}
/* D */
.SubTitle_D {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: .5em;
}
@media screen and (min-width:769px){
    .SubTitle_A {
        font-size: 26px;
    }
    .SubTitle_B {
        font-size: 18px;
    }
    .SubTitle_D {
        font-size: 22px;
    }
}
/* E */
.SubTitle_E {
    display: inline-block;
    font-size: 1.125em;
    font-weight: 500;
    padding: .3em 2em;
    background: var(--btn-color);
    color: #fff;
    margin-top: .5em;
    margin-bottom: .5em;
    letter-spacing: .15em;
}

/* ------------------------------------------------------------------------
    Loading
------------------------------------------------------------------------  */      
.loadingWrap {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 9999;
}

/* ------------------------------------------------------------------------
    layout
------------------------------------------------------------------------  */
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}


/* ------------------------------------------------------------------------
    LIST
------------------------------------------------------------------------  */
/* Table */
#TABLE_LIST {
    border: 1px solid var(--sub2-color);
}
#TABLE_LIST.s {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}
#TABLE_LIST .Item{
    display: flex;
    flex-wrap: wrap;
}
#TABLE_LIST .Item > *{
    width: 100%;
    box-sizing: border-box;
    padding: .7em 1em;
}
#TABLE_LIST .Item .Name{
    background: var(--sub4-color);
}
#TABLE_LIST .Item .Name span{
    font-size: 1.3rem;
}
#TABLE_LIST .Item .Content{}
@media screen and (max-width:768px){
    #TABLE_LIST .Item .Name{
        border-bottom: 1px solid var(--sub2-color);
    }
    #TABLE_LIST .Item:not(:first-child) .Name{
        border-top: 1px solid var(--sub2-color);
    }
}
@media screen and (min-width:769px){
    #TABLE_LIST.s .Item > *{
        text-align: center;
    }
    
    #TABLE_LIST .Item:not(:last-child){
        border-bottom: 1px solid var(--sub2-color);
    }
    #TABLE_LIST .Item .Name{
        border-right: 1px solid var(--sub2-color);
    }
    #TABLE_LIST .Item .Name{
        max-width: 240px;
    }
    #TABLE_LIST .Item .Contents{
        max-width: calc(100% - 240px);
    }
}
/* option */
#TABLE_LIST .Item .Contents .Google_Map_Link{
    margin-top: 10px;
}

/* ------------------------------------------------------------------------
    section / block
------------------------------------------------------------------------  */
section {
    margin-top: var(--space-25);
    margin-bottom: var(--space-25);
}
section#MV ,
section#PAGE_TITLE {
    margin-top: 0;
}
.Block {
    margin-top: var(--space-20);
    margin-bottom: var(--space-20);
}


/* ------------------------------------------------------------------------
    container
------------------------------------------------------------------------  */
.container{
	width:100%;
	margin-left: 	auto;
	margin-right: 	auto;
	padding-left:var(--container-side);
    padding-right:var(--container-side);

	box-sizing:border-box;
}
.Site-Wide {
	max-width: var(--site-width);
}

/* ------------------------------------------------------------------------
    ul / ol
------------------------------------------------------------------------  */
/* middle dots */
ol.M-Dots {
	counter-reset: count 0;
}
ol.M-Dots > li {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
ol.M-Dots > 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;
}

/* ------------------------------------------------------------------------
    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; }
}