@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville');
@import url('https://fonts.googleapis.com/css2?family=Ephesis&display=swap');

/* CSS Document */

* {
	margin: 0;
	padding: 0;
	font-size: 14px;
	box-sizing: border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
}
img {
	width: 100%;
	display: block;
}
body {
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans Japanese', sans-serif;
	font-weight: 200;
	line-height: 1.75em;
	margin: 0 auto;
	position: relative;
}
article {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
p {
	text-align: justify;
}

/*====================================

	loader

====================================*/

.loader-wrap {
	position: fixed;
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #411600;
    z-index: 99999;
}
.loader-wrap .loader {
	width: 200px;
	position: relative;
}
.loader-wrap .loader img {
	width: 100%;
}
.loader-wrap .loader span {
	position: absolute;
	top: 0;
	left: 0;
	animation: clock-s 5s infinite steps(60);
}
@keyframes clock-s {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(270deg);
	}
}

/*====================================

	font

====================================*/

h2 {
    width: 100%;
    font-family: 'Ephesis', cursive;
    font-size: 500%;
    line-height: 1em;
    display: block;
    color: #411600;
    text-align: left;
    margin-bottom: 10px;
    padding: 0 20px;
}
h3 {
	width: 100%;
	font-family: 'Ephesis', cursive;
	font-size: 300%;
	line-height: 1em;
	display: block;
	color: #411600;
    margin-bottom: 20px;
}
h3 span {
	font-family: 'Noto Sans Japanese', sans-serif;
	font-size: 30%;
	color: #411600;
    display: block;
    line-height: 1em;
}

/*====================================

	btn_m,btn_s

====================================*/

.btn_m,.btn_s {
	width: 100%;
	text-align: center;
}
.btn_m a,
.btn_s a {
    display: inline-block;
    line-height: 1em;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    font-family: 'Libre Baskerville', serif;
    -webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
.btn_m a {
	padding: 1.5em 6em;
	font-size: 90%;
}
.btn_s a {
	padding: 1.2em 5em;
	font-size: 80%;
}
.btn_m a:hover,
.btn_s a:hover {
	filter: alpha(opacity=60);
 	-moz-opacity:0.6;
 	opacity:0.6;
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.6;
	-khtml-opacity: 0.6;
	zoom:1;
}
.btn_m a .top_left,
.btn_m a .top_right,
.btn_m a .bottom_left,
.btn_m a .bottom_right,
.btn_s a .top_left,
.btn_s a .top_right,
.btn_s a .bottom_left,
.btn_s a .bottom_right {
    position: absolute;
    width: 50%;
    height: 50%;
    z-index: -1;
    display: inline-block;
}
.btn_m a .top_left {
    top: 0;
    left: 0;
    background: url(/common/images/btn_bg_top_left.svg) no-repeat;
    background-size: 200px;
    background-position: top 0 left 0;
}
.btn_m a .top_right {
    top: 0;
    right: 0;
    background: url(/common/images/btn_bg_top_right.svg) no-repeat;
    background-size: 200px;
    background-position: top 0 right 0;
}
.btn_m a .bottom_left {
    bottom: 0;
    left: 0;
    background: url(/common/images/btn_bg_bottom_left.svg) no-repeat;
    background-size: 200px;
    background-position: bottom 0 left 0;
}
.btn_m a .bottom_right {
    bottom: 0;
    right: 0;
    background: url(/common/images/btn_bg_bottom_right.svg) no-repeat;
    background-size: 200px;
    background-position: bottom 0 right 0;
}
.btn_s a .top_left {
    top: 0;
    left: 0;
    background: url(/common/images/btn_bg_top_left.svg) no-repeat;
    background-size: 100px;
    background-position: top 0 left 0;
}
.btn_s a .top_right {
    top: 0;
    right: 0;
    background: url(/common/images/btn_bg_top_right.svg) no-repeat;
    background-size: 100px;
    background-position: top 0 right 0;
}
.btn_s a .bottom_left {
    bottom: 0;
    left: 0;
    background: url(/common/images/btn_bg_bottom_left.svg) no-repeat;
    background-size: 100px;
    background-position: bottom 0 left 0;
}
.btn_s a .bottom_right {
    bottom: 0;
    right: 0;
    background: url(/common/images/btn_bg_bottom_right.svg) no-repeat;
    background-size: 100px;
    background-position: bottom 0 right 0;
}
.btn_out a {
	position: relative;
}
.btn_out a:after {
	content: '';
	position: absolute;
	top: 40%;
	right: 20px;
	width: 12px;
	height: 10px;
	display: inline-block;
	background: url(/common/images/out.svg) no-repeat;
	background-size: 12px;
}

/*====================================

	#wrap_body

====================================*/

#wrap_body {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
#wrap_body:before {
	content: '';
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -999;
}
.p_t_100 {
	padding-top: 60px;
}

/*====================================

	#logo

====================================*/

#logo {
	position: fixed;
	top: 10px;
	left: 10px;
	width: 140px;
	z-index: 11;
}

/*====================================

	#header

====================================*/

#header,
#gnav {
	display: none;
}

/*====================================

    #header_sp

====================================*/

#header_sp {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background: #fff;
}

/* =======================================

    bread

======================================= */

.bread {
	width: 100%;
	padding: 0 20px;
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
}
.bread ul {
}
.bread ul li {
	float: left;
	margin-right: 10px;
}
.bread ul li:after {
	content: '>';
	font-size: 80%;
	display: inline-block;
	padding-left: 10px;
}
.bread ul li:last-child:after {
	content: '';
}
.bread ul li a {
	font-size: 80%;
	color: #000;
	text-decoration: underline;
}
.bread ul li a:hover {
	text-decoration: none;
}
.bread ul li p {
	font-size: 80%;
	line-height: 1em;
	display: inline-block;
}

/*====================================

    effect-fade

====================================*/

.effect-fade {
	opacity : 0;
	transform : translate(0, 40px);
	transition : all 1600ms;
}
.effect-fade.effect-scroll {
	opacity : 1;
	transform : translate(0, 0);
}

/*====================================

    news_list

====================================*/

.news_list {
    width: 100%;
    margin-bottom: 60px;
}
.news_list ul {
}
.news_list ul li {
    border-bottom: 1px solid rgba(0, 0, 0, .2);
}
.news_list ul li:first-child {
    border-top: 1px solid rgba(0, 0, 0, .2);
}
.news_list ul li a {
    display: block;
    text-decoration: none;
    color: #000;
    padding: 10px 0;
}
.news_list ul li a dl {
    display: table;
    width: 100%;
}
.news_list ul li a dl dt {
    display: table-cell;
    width: 100px;
    vertical-align: top;
}
.news_list ul li a dl dd {
    display: table-cell;
    vertical-align: top;
    padding-left: 20px;
}
.news_list ul li a dl dd .cate {
	margin-bottom: 10px;
}
.news_list ul li a dl dd .cate span {
	line-height: 1em;
	font-size: 70%;
	background: #411600;
	color: #fff;
	line-height: 1em;
	padding: .4em 1em;
}
.news_list ul li a dl dd .day {
    font-family: 'Libre Baskerville', serif;
    font-size: 90%;
    color: #411600;
}
.news_list ul li a dl dd p {
    font-size: 90%;
}

/*====================================

    pager

====================================*/

.pager {
    margin-bottom: 100px;
}
.pager .pagination {
    text-align: center;
}
.pager .pagination li {
    display: inline;
    margin: 0 2px;
    padding: 0;
    display: inline-block;
    width: 50px;
    height: 50px;
    text-align: center;
    position: relative;
    border-radius: 50px;
}
.pager .pagination li.pre,
.pager .pagination li.next{
    background: #411600;
    color: #fff;
}
.pager .pagination li a{
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    display:table;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    color: #000;
}
.pager .pagination li.pre a,
.pager .pagination li.next a{
    color: #fff;
}
.pager .pagination li a span{
    display: table-cell;
    vertical-align: middle;
}
.pager .pagination li a:hover,
.pager .pagination li a.active{
    color: #fff;
    background: #F29600;
    border-radius: 10px;
    border-radius: 50px;
    animation: animScale 0.4s ease-out;
    transform-origin: 50% 50%;
    -webkit-animation: animScale 0.4s ease-out;
    -webkit-transform-origin: 50% 50%;
    -moz-animation: animScale 0.4s ease-out;
    -moz-transform-origin: 50% 50%;
}
@keyframes animScale {
    0% { transform: scale(0.8, 0.8); }
    40% { transform: scale(1.2, 1.2); }
    60% { transform: scale(1, 1); }
    80% { transform: scale(1.1, 1.1); }
    100% { transform: scale(1, 1); }
}
@-webkit-keyframes animScale {
    0% { -webkit-transform: scale(0.8, 0.8); }
    40% { -webkit-transform: scale(1.2, 1.2); }
    60% { -webkit-transform: scale(1, 1); }
    80% { -webkit-transform: scale(1.1, 1.1); }
    100% { -webkit-transform: scale(1, 1); }
}
@-moz-keyframes animScale {
    0% { -moz-transform: scale(0.8, 0.8); }
    40% { -moz-transform: scale(1.2, 1.2); }
    60% { -moz-transform: scale(1, 1); }
    80% { -moz-transform: scale(1.1, 1.1); }
    100% { -moz-transform: scale(1, 1); }
}
@media only screen and (max-width: 767px){
    .pager .pagination li{
        display: none;
    }
    .pager .pagination li.pre,
    .pager .pagination li.next{
        display: inline-block;
        width: 40%;
        height: 50px;
        text-align: center;
    }
    .pager .pagination li.pre a,
    .pager .pagination li.next a{
        width: 100%;
        text-align: center;
    }
    .pager .pagination li.pre span::after{
        content: "　前の10件へ";
    }
    .pager .pagination li.next span::before{
        content: "次の10件へ　";
    }
}

/*====================================

	jojo-ni

====================================*/

/*{
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}*/

/*====================================

	opacity

====================================*/	

/*.opacity a:hover {
	filter: alpha(opacity=80);
 	-moz-opacity:0.8;
 	opacity:0.8;
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity:0.8;
	-khtml-opacity: 0.8;
	zoom:1;
}*/

/*====================================

    btm_contact

====================================*/

.btm_contact {
    padding: 0 20px;
    margin-bottom: 60px;
}
.btm_contact .inner {
    border: 2px solid #F39602;
    padding: 20px;
}
.btm_contact .inner .btm_contact_ttl {
    border-bottom: 2px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px; 
}
.btm_contact .inner .btm_contact_ttl p {
    font-size: 100%;
    font-weight: 400;
}
.btm_contact .inner .btn_contact_content {
}
.btm_contact .inner .btn_contact_content .bc_cell {
    margin-bottom: 20px;
}
.btm_contact .inner .btn_contact_content .bc_cell:last-child {
    margin-bottom: 0px;
}
.btm_contact .inner .btn_contact_content .bc_cell .bc_cell_ttl {
    border-left: 4px solid #F39602;
    line-height: 1em;
    padding: .5em 0 .5em .5em;
    font-size: 110%;
    margin-bottom: 20px;
    font-weight: 400;
}
.btm_contact .inner .btn_contact_content .bc_cell .tel {
    font-size: 200%;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    line-height: 1em;
}
.btm_contact .inner .btn_contact_content .bc_cell .tel span {
    font-family: 'Noto Sans Japanese', sans-serif;
    font-size: 40%;
    font-weight: 200;
    display: inline-block;
    line-height: 1.5em;
    padding-top: 10px;
}
.btm_contact .inner .btn_contact_content .bc_cell .form {
    margin-bottom: 60px;
}
.btm_contact .inner .btn_contact_content .bc_cell .form dl {
    width: 100%;
    margin-bottom: 10px;
}
.btm_contact .inner .btn_contact_content .bc_cell .form dl:last-child {
    margin-bottom: 0px;
}
.btm_contact .inner .btn_contact_content .bc_cell .form dl dt {
    width: 100%;
    margin-bottom: 4px;
}
.btm_contact .inner .btn_contact_content .bc_cell .form dl dd {
    width: 100%;
}

/*====================================

    doi

====================================*/

.doi {
	border: 1px solid #ccc;
	height: 300px;
	padding: 20px;
	overflow: scroll;
	margin-bottom: 30px;
}
.doi .doi_inner {
}
.doi .doi_inner dl {
	margin-bottom: 10px;
}
.doi .doi_inner dl dt {
	font-size: 90%;
	font-weight: 400;
}
.doi .doi_inner dl dd {
	font-size: 80%;
	font-weight: 200;
}

/*====================================

    form

====================================*/

input[type="submit"],
input[type="text"],
input[type="file"],
select,
textarea,
button {
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    border: none;
    background: #eee;
}
input::placeholder {
    color: #ccc;
}
input[type="file"] {
    padding: 10px;
    cursor: pointer;
}
label {
    padding: 10px 40px;
    cursor: pointer;
    display: inline-block;
}
input[type="file"] {
    display: none;
}
.input_text_short,
.input_text_middle,
.input_text_long,
.input_text_long_height {
    border: 0;
    padding: 10px;
    font-size: 1.1em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
.input_text_short {
    width: 100%;
}
.input_text_middle {
    width: 100%;
}
.input_text_long {
    width: 100%;
}
.input_text_long_height {
    width: 100%;
    height: 200px;
}
.form-radio {
}
.form-radio li {
    float: left;
}
.form-radio li label {
    padding: 0 30px 0 6px;
}

/*====================================

    wrap_clock

====================================*/

.wrap_clock {
    position: fixed;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none;
    mix-blend-mode: multiply; 
}
.wrap_clock .inner {
    max-width: 1480px;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

/*====================================

    map

====================================*/

#map {
    width: 100%;
    padding: 0;
    margin-bottom: -20px;
    position: relative;
    z-index: 1;
}
#map iframe {
    -webkit-filter:grayscale(100%);
    -moz-filter:grayscale(100%);
    -ms-filter:grayscale(100%);
    filter:grayscale(100%);
    width: 100%;
    height: 400px;
}

/*====================================

    btn_online

====================================*/

.btn_online {
	position: fixed;
	left: 10px;
	bottom: 10px;
	display: block;
	z-index: 9;
}
.btn_online a {
	display: inline-block;
	line-height: 1em;
	font-size: 80%;
	color: #fff;
	text-decoration: none;
	padding: .8em 3em .8em 2em;
	background: url(/common/images/btn_online_arrow.svg) no-repeat top 50% right 20px #F39602;
	background-size: 8px;
}

/*====================================

    footer

====================================*/

#footer {
    background: #411600;
    padding: 40px 20px 80px;
    z-index: 1;
    position: relative;
}
#footer .inner {
    margin: 0 auto;
}
#footer .inner h1 {
    margin-bottom: 30px;
    width: 160px;
}
#footer .inner h1 img {
    width: 100%;
}
#footer .inner .main_list {
    padding-bottom: 20px;
}
#footer .inner .main_list ul {
    margin-bottom: 20px;
}
#footer .inner .main_list ul li {
    width: 100%;
    margin-bottom: 16px;
}
#footer .inner .main_list ul li:first-child {
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    padding-bottom: 14px;
    margin-bottom: 14px;
}
#footer .inner .main_list ul li:first-child a {
	font-weight: 400;
	font-size: 100%;
}
#footer .inner .main_list ul li a {
    text-decoration: none;
    color: #fff;
    font-family: 'Noto Sans Japanese', sans-serif;
    line-height: 1em;
    font-size: 90%;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
    display: block;
}
#footer .inner .main_list ul li a span {
    display: block;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    line-height: 1em;
    font-size: 90%;
    padding: .5em 0 0 0;
    letter-spacing: .1em;
}
#footer .inner .main_list ul li a:hover {
    color: #f29600;
}
#footer .inner .sub_list {
}
#footer .inner .sub_list {
    margin-bottom: 40px;
}
#footer .inner .sub_list ul {
}
#footer .inner .sub_list ul li {
    width: 100%;
    margin-bottom: 10px;
}
#footer .inner .sub_list ul li a {
    display: block;
    border: 1px solid rgba(255, 255, 255, .4);
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 1em 0;
}
#footer .inner .copy {
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 80%;
    letter-spacing: .1em;
}

/* =======================================

	cf

======================================= */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}