﻿@charset "utf-8";

/* ==========================================
	top.css
	Last Up Date 2020/03/09
 --------------------------------------------
	INDEX
 --------------------------------------------
 
	1.00.00 PC_media screen
		1.01.00 #header
        1.02.00 #main_photo
            1.02.01 #news
        1.03.00 #about
        1.04.00 #day
        1.05.00 #facility
        1.06.00 #drawing
        1.07.00 #drawing02
        1.08.00 #gallery
        1.09.00 #howto
        1.10.00 #visit
        1.11.00 #access
	2.00.00 TB_media screen
		2.01.00 #header
        2.02.00 #main_photo
            2.02.01 #news
        2.03.00 #about
        2.04.00 #day
        2.05.00 #facility
        2.06.00 #drawing
        2.07.00 #drawing02
        2.08.00 #gallery
        2.09.00 #howto
        2.10.00 #visit
        2.11.00 #access
	3.00.00 SP_media screen
        3.01.00 #header
        3.02.00 #main_photo
            3.02.01 #news
        3.03.00 #about
        3.04.00 #day
        3.05.00 #facility
        3.06.00 #drawing
        3.07.00 #drawing02
        3.08.00 #gallery
        3.09.00 #howto
        3.10.00 #visit
        3.11.00 #access

========================================== */
/* ==========================================
1.00.00 PC_media screen
========================================== */
@media screen and (min-width:1024px),print {
/* ==========================================
    1.01.00 #header
========================================== */
header {
    display: flex;
    align-items: center;
    padding: 35px 40px;
    box-sizing: border-box;
    width: 100%;
}
header a:first-child {
    display: block;
    width: 220px;
    margin: 0 auto 0 0;
}
header a:not(:first-child),
header label {
    display: flex;
    flex-flow: column;
    align-items: center;
    color: #FFFFFF;
    font: 400 1.5rem rockwell, sans-serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    cursor: pointer;
}
header a:not(:first-child) span,
header label span {
    display: inline-block;
    padding: 5px 0 0;
    font: 300 1.2rem a-otf-ud-shin-go-pr6n, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
}
header > p {
    display: block;
    margin: 0 20px;
    position: relative;
    background: #71c7d5;
    width: 3px;
    height: 8px;
}
header > p::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 0;
    width: 0;
    height: 0;
    border-right: solid 4px #71c7d5;
    border-top: solid 4px transparent;
    border-bottom: solid 4px transparent;
}
header > p::after {
    content: "";
    position: absolute;
    right: -4px;
    top: 0;
    width: 0;
    height: 0;
    border-left: solid 4px #71c7d5;
    border-top: solid 4px transparent;
    border-bottom: solid 4px transparent;
}
/* ==========================================
	1.02.00 #main_photo
========================================== */
body#top div#main_photo {
    box-sizing: border-box;
    padding: 30px 40px;
    position: relative;
    min-height: 650px;
}
body#top div#main_photo > div {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    background: url("../../img/index/main_photo.jpg") no-repeat top center;
    background-size: cover;
     width: 100%;
     height: 100%;
}
body#top div#main_photo h1 {
    display: block;
    font: 700 6.0rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    color: #FFFFFF;
    text-align: center;
}
body#top div#main_photo > div > p {
    display: inline-block;
    position: absolute;
    right: 80px;
    bottom: 65px;
    font:300 1.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.1rem;
    color: #FFFFFF;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
body#top div#main_photo > div > p::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 36px;
    border-radius: 100px;
    bottom: 0;
    left: -30px;
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
body#top div#main_photo > div > p::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 10px;
    border-radius: 100px;
    bottom: 20.5px;
    left: -20px;
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
@keyframes flafla {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; }
}
body#top div#main_photo > p {
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    position: absolute;
    right: 15px;
    bottom: 30px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
/* ==========================================
	1.02.01 #news
========================================== */
body#top div#news {
    align-self: flex-start;
	margin: 0 0 30px 40px;
}
body#top div#news h3 {
	display: block;
	font:300 1.5rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	padding: 0 0 10px;
    color: #FFFFFF;
}
body#top div#news div.tc_contents {
	position: relative;
	padding: 15px 20px;
	width: 320px;
	box-sizing: border-box;
    border: solid thin rgba(255,255,255,0.50);
}
body#top div#news div.slick-list {
	position: relative;
	z-index: 5;
}
body#top div#news div.slick-list {
	position: relative;
	z-index: 5;
}
body#top div#news div.slick-list div div p:first-child {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font:300 1.5rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	color: #C4C4C4;
}
body#top div#news div.slick-list div div p:first-child span {
	font:300 1.3rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	line-height: 1.0;
	color: #FFFFFF;
	background: #595757;
	padding: 3px 10px;
}
body#top div#news div.slick-list div div p:last-child {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	padding: 5px 0 0;
    color: #FFFFFF;
}
/*.topic_dots*/
body#top div#news ul.topic_dots {
	display: flex;
	position: absolute;
	top: -37px;
	right: 0;
}
body#top div#news ul.topic_dots li {
	margin: 0 0 0 10px;
}
body#top div#news ul.topic_dots button {
	border: none;
	margin: 0;
	padding: 4px;
	font-size: 0;
	background: #dbdbdb;
}
body#top div#news ul.topic_dots li.slick-active button {
	background: #71c7d5;
}
body#top div#news ul.topic_dots button:hover {
	opacity: 0.7;
}
/* ==========================================
	1.03.00 #about
========================================== */
body#top div#about {
    display: flex;
    flex-flow: column;
    align-items: center;
    max-width: 1292px;
    margin: 50px auto 0;
    padding: 0 35px 40px;
    position: relative;
}
body#top div#about::after {
    content: "";
    position: absolute;
    left: 800px;
    top: 270px;
    width: 176px;
    height: 176px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa02 8.0s 3.0s infinite;
}
body#top div#about::before {
    content: "";
    position: absolute;
    left: 560px;
    top: 350px;
    width: 177px;
    height: 153px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa01 10.0s infinite;
}
@keyframes huwa01 {
    0% {top: 350px;}
    50%{top: 450px;}
    100% {top: 350px;}
}
@keyframes huwa02 {
    0% {top: 270px;}
    50%{top: 370px;}
    100% {top: 270px;}
}
body#top div#about h3 {
	display: flex;
    flex-flow: column;
    position: absolute;
    top: 0;
    left: 35px;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
body#top div#about h3 span {
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 0 10px 0 0;
}
body#top div#about h4 {
    display: block;
    padding: 25px 0 45px;
    font: 400 1.7rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
}
body#top div#about h4 + p img {
    display: block;
    border-radius: 300px;
}
body#top div#about div {
    display: block;
    align-self: flex-start;
    padding: 65px 0 0;
    position: relative;
    z-index: 2;
}
body#top div#about div h5 {
    display: inline-block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 0 3px;
}
body#top div#about div h5::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#about div h5 + p {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.2;
    width: 500px;
    padding: 20px 0;
}
body#top div#about div p + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    width: 550px;
}
body#top div#about div p + p span {
    display: block;
    font-size: 1.2rem;
    line-height: 2.0;
    width: 500px;
}
body#top div#about div + p {
    display: block;
    width: 410px;
    position: absolute;
    bottom: 0;
    left: 50%;
}
body#top div#about > a {
    display: block;
    position: absolute;
    right: 35px;
    bottom: 40px;
    font: 400 1.4rem rockwell, sans-serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#about > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    left: -3px;
    width: calc(100% + 6px);
    height: 6px;
    background: rgba(113,119,213,0.3);
    z-index: -1;
}
body#top div#about > a:hover::after {
    background: rgba(113,119,213,1.0);
}
/* ==========================================
	1.04.00 #day
========================================== */
body#top div#day {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../../img/index/facility_main.jpg") no-repeat top center;
    background-size: cover;
    width: 100%;
    height: 500px;
}
body#top div#day p {
    display: inline-block;
    font: 700 6.0rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    color: transparent;
}
/* ==========================================
	1.05.00 #facility
========================================== */
body#top div#facility {
    display: flex;
    align-items: center;
    margin: 55px 0 0;
    background: url("../../img/index/facility_photo01.jpg") no-repeat top center;
    min-height: 463px;
}
body#top div#facility div.in_box {
    display: flex;
    justify-content: space-between;
    width: 1024px;
    padding: 0 35px 0 280px;
}
body#top div#facility h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#facility h4 {
    display: inline-block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 15px 0 0 3px;
    z-index: 1;
}
body#top div#facility h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#facility h5 {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.4rem;
    margin: 20px 0;
}
body#top div#facility h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    width: 420px;
}
body#top div#facility p + label {
	display: block;
    width: 380px;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
    cursor: pointer;
}
body#top div#facility p + label::after {
	content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + label::before {
	content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 150px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}
body#top div#facility p + label:hover::before {
    border-right: solid 270px #FFFFFF;
    border-bottom: solid 67px transparent;
}
/*body#top div#facility p + a {
    display: block;
    width: 380px;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
}
body#top div#facility p + a::after {
    content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 150px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}
body#top div#facility p + a:hover::before {
    border-right: solid 270px #FFFFFF;
    border-bottom: solid 67px transparent;
}*/
body#top div#facility div div:last-child {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 80px 0 0;
}
body#top div#facility div div:last-child::before {
    content: "";
    position: absolute;
    height: 205px;
    width: 1px;
    left: -80px;
    top: 8px;
    background: #000000;
}
body#top div#facility div div:last-child::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 138px;
    left: -217px;
    bottom: 35px;
    background: #000000;
}
/*body#top div#facility div.in_box > div:last-child a {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#facility div.in_box > div:last-child a::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -80px;
    height: 1px;
    width: 70px;
    background: #000000;
}
body#top div#facility div.in_box > div:last-child a::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000000;
}
body#top div#facility div.in_box > div:last-child a:not(:first-child) {
    margin: 40px 0 0;
}
body#top div#facility div.in_box > div:last-child a:hover::after {
    width: 0;
}*/
body#top div#facility div div:last-child label {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    cursor: pointer;
}
body#top div#facility div div:last-child label::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -80px;
    height: 1px;
    width: 70px;
    background: #000000;
}
body#top div#facility div div:last-child label::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000000;
}
body#top div#facility div div:last-child label:not(:first-child) {
    margin: 40px 0 0;
}
body#top div#facility div div:last-child label:hover::after {
    width: 0;
}
/* ==========================================
	1.06.00 #drawing
========================================== */
body#top div#drawing {
    background: url("../../img/index/facility_photo02.jpg") no-repeat bottom center;
    min-height: 463px;
}
body#top div#drawing div.in_box {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    max-width: 1024px;
    padding: 0 35px;
    position: relative;
}
body#top div#drawing div.in_box::after {
    content: "";
    position: absolute;
    width: 205px;
    height: 205px;
    left: 80px;
    top: 30px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa03 10.0s infinite;
}
body#top div#drawing div.in_box::before {
    content: "";
    position: absolute;
    width: 177px;
    height: 153px;
    left: 35px;
    top: -60px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa04 8.0s 3.0s infinite;
}
@keyframes huwa03 {
    0% {top: 30px;}
    50%{top: 60px;}
    100% {top: 30px;}
}
@keyframes huwa04 {
    0% {top: -60px;}
    50%{top: -30px;}
    100% {top: -60px;}
}
body#top div#drawing p:first-child {
    display: block;
    width: 670px;
    align-items: flex-start;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 20px 15px;
    box-sizing: border-box;
}
body#top div#drawing p:first-child span {
    padding: 0 0 0 10px;
}
body#top div#drawing p:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing p:last-child {
    display: block;
    width: 675px;
}
/* ==========================================
	1.07.00 #drawing02
========================================== */
body#top div#drawing02 {
    margin: 130px 0 0;
    background: url("../../img/index/heimen_bg02.jpg") no-repeat bottom center;
    padding: 0 0 153px;
}
body#top div#drawing02 div.in_box {
    display: flex;
    flex-flow: column;
    max-width: 1024px;
    padding: 0 35px;
}
body#top div#drawing02 h4 {
    display: block;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 0 15px;
    margin: 0 0 0 7px;
}
body#top div#drawing02 h4::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing02 h4 + p {
    display: block;
    width: 575px;
    margin: -30px 0 0;
}
body#top div#drawing02 p + div {
    display: flex;
    justify-content: space-between;
    margin:40px 0 0;
    position: relative;
}
body#top div#drawing02 p + div::after {
    content: "";
    position: absolute;
    right: 250px;
    top: -300px;
    width: 145px;
    height: 145px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: draw 10.0s infinite;
}
body#top div#drawing02 p + div::before {
    content: "";
    position: absolute;
    right: 230px;
    top: -180px;
    width: 53px;
    height: 46px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: draw02 8.0s 3.0s infinite;
}
@keyframes draw {
    0% {top: -300px;}
    50%{top: -200px;}
    100% {top: -300px;}
}
@keyframes draw02 {
    0% {top: -180px;}
    50%{top: -100px;}
    100% {top: -180px;}
}
body#top div#drawing02 h5 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 3.0;
    width: 320px;
    padding:25px 0 0;
}
body#top div#drawing02 h5::after {
    content: "";
    position: absolute;
    left: -20px;
    top: 10px;
    width: 50px;
    height: 40px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    z-index: -1;
}
body#top div#drawing02 h5 + p {
    display: block;
    width: 535px;
}
/* ==========================================
	1.08.00 #gallery
========================================== */
body#top div#gallery div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1024px;
    padding: 80px 35px 30px;
}
body#top div#gallery div.in_box p:not(:first-child) {
    margin: 42px 0 0;
}
/* ==========================================
	1.09.00 #howto
========================================== */
body#top div#howto {
    margin: 70px 0 0;
    background: url("../../img/index/how_to_bg.jpg") no-repeat bottom center;
    background-size: cover;
}
body#top div#howto div.in_box {
    max-width: 1024px;
    padding: 0 35px;
}
body#top div#howto > div.in_box:first-child div:first-child {
    display: flex;
    align-items: center;
}
body#top div#howto h3 {
    display: flex;
    flex-flow: column;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#howto h3 span {
    display: inline-block;
    align-self: flex-start;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    z-index: 1;
}
body#top div#howto h3 span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#howto h3 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 0 0 0 20px;
}
/*div:first-child > div:nth-child(2) */
body#top div#howto > div:first-child > div:nth-child(2) {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 35px 0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:first-child {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 150px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) {
    display: flex;
    align-items: flex-end;
    font: 900 3.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 150px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) span {
    display: flex;
    align-items: flex-end;
    font: 900 1.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 3px 3px;
    line-height: 1.0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:last-child {
    display: block;
    width: calc(100% - 300px);
    font-size: 1.3rem;
    line-height: 2.0;
}
/*div:first-child ul*/
body#top div#howto > div:first-child li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 30px;
}
body#top div#howto > div:first-child li > p:first-child {
    display: block;
    width: 100%;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.5rem;
    line-height: 1.0;
    margin: 0 0 15px;
}
body#top div#howto > div:first-child li > p + p {
    display: block;
    width: 200px;
}
body#top div#howto > div:first-child li div {
    display: block;
    width: calc(100% - 200px);
    box-sizing: border-box;
    padding: 0 0 0 15px;
}
body#top div#howto > div:first-child li div p {
    display: flex;
    border: solid thin #bcc5c7;
    box-sizing: border-box;
    background: #f9fbfb;
}
body#top div#howto > div:first-child li div p:not(:first-child) {
    border-top: none;
}
body#top div#howto > div:first-child li div p span:first-child {
    display: flex;
    justify-content: center;
    width: 130px;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    padding: 13px 0;
    border-right: solid thin #bcc5c7;
}
body#top div#howto > div:first-child li div p span:last-child {
    display: block;
    width: calc(100% - 130px);
    background: #FFFFFF;
    padding: 13px;
}
/**/
body#top div#howto > div.in_box:first-child ul + p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: #f5f5f5;
    padding: 30px 0;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
}
body#top div#howto > div.in_box:first-child ul + p span {
    display: block;
    padding: 0 0 0 10px;
    font-size: 1.3rem;
    line-height: 1.0;
    letter-spacing: 0;
    color: #000000;
}
body#top div#howto > div.in_box:first-child > p:last-child {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 35px 0 25px;
}
body#top div#howto > div:nth-child(2) {
    width: 100%;
    background: #f5f5f5;
    margin: 0 0 45px;
}
body#top div#howto > div:nth-child(2) div {
    display: flex;
    justify-content: space-between;
}
body#top div#howto > div:nth-child(2) p {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    background: rgba(113,199,213,0.3);
    padding: 20px;
}
body#top div#howto > div:nth-child(3) {
    position: relative;
}
body#top div#howto > div:nth-child(3)::after {
    content: "";
    position: absolute;
    bottom: 120px;
    right: 250px;
    width: 175px;
    height: 175px;
    background: url("../../img/common/maru.svg") no-repeat;
    background-size: contain;
    animation: huwa05 8.0s infinite;
}
body#top div#howto > div:nth-child(3)::before {
    content: "";
    position: absolute;
    bottom: 230px;
    right: 205px;
    width: 115px;
    height: 100px;
    background: url(../../img/common/six_box.svg) no-repeat;
    background-size: contain;
    z-index: 2;
    animation: huwa06 8.0s 3.0s infinite;
}
@keyframes huwa05 {
    0% {bottom: 120px;}
    50%{bottom: 80px;}
    100% {bottom: 120px;}
}
@keyframes huwa06 {
    0% {bottom: 230px;}
    50%{bottom: 170px;}
    100% {bottom: 230px;}
}
body#top div#howto > div:nth-child(3) > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
body#top div#howto h4 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    z-index: 1;
}
body#top div#howto h4::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h4 + p {
    display: block;
    width: 430px;
    font-size: 1.3rem;
    line-height: 2.0;
    margin: 23px 0 0;
}
body#top div#howto > div:nth-child(3) > div > p img {
    border-radius: 10px;
}
body#top div#howto h5 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    margin: 45px 0 0;
    z-index: 1;
}
body#top div#howto h5::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 20px 0 0;
}
body#top div#howto h6 {
    display: block;
    position: relative;
    z-index: 2;
    font: 400 1.7rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.5;
    padding: 150px 0 120px;
}
/* ==========================================
	1.10.00 #visit
========================================== */
body#top div#visit {
    padding: 90px 0 0;
    background: #fbfbfb;
}
body#top div#visit div.in_box {
    display: flex;
    flex-flow: column;
    align-items: center;
    max-width: 1024px;
    padding: 0 35px;
}
body#top div#visit h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#visit h4 {
    display: block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    z-index: 1;
}
body#top div#visit h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#visit h4 +div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 45px 0 0;
}
body#top div#visit ul {
    width: 510px;
}
body#top div#visit ul li:first-child {
    display: flex;
    background: rgba(215,236,250,0.5);
    padding: 0 15px;
}
body#top div#visit ul li:first-child p {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.2rem;
    padding: 17px 15px;
    box-sizing: border-box;
}
body#top div#visit ul li:first-child p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) {
    display: flex;
    background: rgba(243,249,254,0.5);
    padding: 0 15px;
}
body#top div#visit ul li:not(:first-child) p {
    display: block;
    font:300 1.4rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 17px 15px;
    box-sizing: border-box;
}
body#top div#visit ul li:not(:first-child) p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) p:not(:first-child) {
    color: #00ace7;
}
body#top div#visit ul li:not(:first-child) p.holiday {
    color: #000000;
}
body#top div#visit ul + div {
    width: calc(100% - 510px);
    box-sizing: border-box;
    padding: 0 0 0 30px;
}
body#top div#visit ul + div p:first-child {
    display: block;
    font: 400 1.3rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.4rem;
}
body#top div#visit ul + div h5 {
    display: flex;
    align-items: center;
    font:300 2.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 15px 0;
}
body#top div#visit ul + div h5 span {
    display: block;
    width: 15px;
    padding: 0 10px 0 0;
}
body#top div#visit ul + div h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
}
body#top div#visit ul + div h5 + p span {
    display: block;
    font-size: 1.1rem;
    line-height: 2.0;
    padding: 5px 0 0;
}
body#top div#visit div.in_box > a {
    display: flex;
    justify-content: center;
    position: relative;
    width: 320px;
    font: 400 1.6rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.4rem;
    padding: 30px 0;
    margin: 80px 0 -40px;
    border: solid thin #000000;
    background: #FFFFFF;
    color: #000000;
}
body#top div#visit div.in_box > a:hover {
    background: #71c7d5;
    border: solid thin #71c7d5;
    color: #FFFFFF;
}
/* ==========================================
    1.11.00 #access
========================================== */
body#top div#access {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 100px 0 0;
}
body#top div#access h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#access h3 + h4 {
    display: block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    margin: 0 0 45px;
    z-index: 1;
}
body#top div#access h3 + h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#access > div {
    display: flex;
    width: 100%;
}
body#top div#access > div > div:first-child {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: rgba(215,236,250,0.3);
    width: 350px;
}
body#top div#access > div:last-child > div:first-child {
    background: rgba(113,199,213,0.3);
}
body#top div#access > div > div > p:first-child {
    display: block;
    width: 140px;
}
body#top div#access > div div h4 {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 15px 0 10px;
}
body#top div#access > div div h4 + p {
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
}
body#top div#access > div div p + p {
    display: block;
    font:300 1.6rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 10px 0 0;
}
body#top div#access > div > p {
    display: block;
    width: 25%;
}
body#top div#access > div > p img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body#top div#access div#map01,
body#top div#access div#map02 {
    display: block;
    width: calc(75% - 350px);
    min-height: 300px;
}
}
/* ==========================================
2.00.00 TB_media screen
========================================== */
@media screen and (max-width: 1023px) and (min-width:569px) {
/* ==========================================
    2.01.00 #header
========================================== */
header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 35px 40px;
    box-sizing: border-box;
    width: 100%;
}
header a:first-child {
    display: block;
    width: 180px;
}
header a:not(:first-child),
header label {
    display: none;
}
header > p {
    display: none;
}
/* ==========================================
	2.02.00 #main_photo
========================================== */
body#top div#main_photo {
    box-sizing: border-box;
    padding: 30px 40px;
    position: relative;
    min-height: 650px;
}
body#top div#main_photo > div {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    background: url("../../img/index/main_photo.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
    padding: 0 15px;
    width: 100%;
    height: 100%;
}
body#top div#main_photo h1 {
    display: block;
    font: 700 4.0rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    color: #FFFFFF;
    text-align: center;
}
body#top div#main_photo > div > p {
    display: inline-block;
    position: absolute;
    right: 70px;
    bottom: 65px;
    font:300 1.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.1rem;
    color: #FFFFFF;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
body#top div#main_photo > div > p::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 36px;
    border-radius: 100px;
    bottom: 0;
    left: -30px;
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
body#top div#main_photo > div > p::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 10px;
    border-radius: 100px;
    bottom: 20.5px;
    left: -20px;
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
@keyframes flafla {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; }
}
body#top div#main_photo > p {
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    position: absolute;
    right: 15px;
    bottom: 30px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
/* ==========================================
	2.02.01 #news
========================================== */
body#top div#news {
    align-self: flex-start;
	margin: 0 0 30px 20px;
}
body#top div#news h3 {
	display: block;
	font:300 1.5rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	padding: 0 0 10px;
    color: #FFFFFF;
}
body#top div#news div.tc_contents {
	position: relative;
	padding: 15px 20px;
	width: 320px;
	box-sizing: border-box;
    border: solid thin rgba(255,255,255,0.50);
}
body#top div#news div.slick-list {
	position: relative;
	z-index: 5;
}
body#top div#news div.slick-list {
	position: relative;
	z-index: 5;
}
body#top div#news div.slick-list div div p:first-child {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font:300 1.4rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	color: #C4C4C4;
}
body#top div#news div.slick-list div div p:first-child span {
	font:300 1.3rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	line-height: 1.0;
	color: #FFFFFF;
	background: #595757;
	padding: 3px 10px;
}
body#top div#news div.slick-list div div p:last-child {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	padding: 5px 0 0;
    color: #FFFFFF;
}
/*.topic_dots*/
body#top div#news ul.topic_dots {
	display: flex;
	position: absolute;
	top: -37px;
	right: 0;
}
body#top div#news ul.topic_dots li {
	margin: 0 0 0 10px;
}
body#top div#news ul.topic_dots button {
	border: none;
	margin: 0;
	padding: 4px;
	font-size: 0;
	background: #dbdbdb;
}
body#top div#news ul.topic_dots li.slick-active button {
	background: #71c7d5;
}
body#top div#news ul.topic_dots button:hover {
	opacity: 0.7;
}
/* ==========================================
	2.03.00 #about
========================================== */
body#top div#about {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    margin: 50px auto 0;
    padding: 0 35px 80px;
    box-sizing: border-box;
    position: relative;
}
body#top div#about::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 270px;
    width: 176px;
    height: 176px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa02 8.0s 3.0s infinite;
}
body#top div#about::before {
    content: "";
    position: absolute;
    right: 100px;
    top: 350px;
    width: 177px;
    height: 153px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa01 10.0s infinite;
}
@keyframes huwa01 {
    0% {top: 350px;}
    50%{top: 450px;}
    100% {top: 350px;}
}
@keyframes huwa02 {
    0% {top: 270px;}
    50%{top: 370px;}
    100% {top: 270px;}
}
body#top div#about h3 {
	display: flex;
    flex-flow: column;
    position: absolute;
    top: 0;
    left: 35px;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
body#top div#about h3 span {
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 0 10px 0 0;
}
body#top div#about h4 {
    display: block;
    width: 70%;
    margin: 0 auto;
    padding: 25px 0 45px;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    text-align: center;
}
body#top div#about h4 + p {
    width: 100%;
    max-width: 850px;
    height: 300px;
    margin: 0 auto;
}
body#top div#about h4 + p img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body#top div#about div {
    display: block;
    align-self: flex-start;
    padding: 65px 0 0;
    position: relative;
    z-index: 2;
}
body#top div#about div h5 {
    display: inline-block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 0 3px;
}
body#top div#about div h5::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#about div h5 + p {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.2;
    max-width: 500px;
    padding: 20px 0;
}
body#top div#about div p + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    max-width: 500px;
    word-break: break-all;
}
body#top div#about div p + p span {
    display: block;
    font-size: 1.2rem;
    line-height: 2.0;
    max-width: 500px;
}
body#top div#about div + p {
    display: block;
    width: 40%;
    position: absolute;
    bottom: 0;
    right: 35px;
}
body#top div#about > a {
    display: block;
    position: absolute;
    right: 35px;
    bottom: 40px;
    font: 400 1.4rem rockwell, sans-serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#about > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    left: -3px;
    width: calc(100% + 6px);
    height: 6px;
    background: rgba(113,119,213,0.3);
    z-index: -1;
}
body#top div#about > a:hover::after {
    background: rgba(113,119,213,1.0);
}
/* ==========================================
	2.04.00 #day
========================================== */
body#top div#day {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../../img/index/facility_main.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
    padding: 0 30px;
    width: 100%;
    height: 500px;
}
body#top div#day p {
    display: inline-block;
    text-align: center;
    font: 700 4.0rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    color: transparent;
}
/* ==========================================
	2.05.00 #facility
========================================== */
body#top div#facility {
    display: flex;
    align-items: center;
    margin: 55px 0 0;
    background: url("../../img/index/facility_photo01.jpg") no-repeat top center;
    min-height: 463px;
}
body#top div#facility div.in_box {
    display: flex;
    justify-content:center;
    width: 100%;
    padding: 0 35px;
}
body#top div#facility div.in_box div:first-child {
    padding: 0 40px 0 0;
}
body#top div#facility h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#facility h4 {
    display: inline-block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 15px 0 0 3px;
    z-index: 1;
}
body#top div#facility h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#facility h5 {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    margin: 20px 0;
}
body#top div#facility h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    width: 300px;
}
body#top div#facility p + label {
	display: block;
    width: 300px;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
    cursor: pointer;
}
body#top div#facility p + label::after {
	content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + label::before {
	content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 150px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}
body#top div#facility p + label:hover::before {
    border-right: solid 270px #FFFFFF;
    border-bottom: solid 67px transparent;
}
/*body#top div#facility p + a {
    display: block;
    width: 380px;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
}
body#top div#facility p + a::after {
    content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 150px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}
body#top div#facility p + a:hover::before {
    border-right: solid 270px #FFFFFF;
    border-bottom: solid 67px transparent;
}*/
body#top div#facility div div:last-child {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 80px 0 0;
}
body#top div#facility div div:last-child::before {
    content: "";
    position: absolute;
    height: 230px;
    width: 1px;
    left: -20px;
    top: 8px;
    background: #000000;
}
body#top div#facility div div:last-child::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 39px;
    left: -58px;
    bottom: 35px;
    background: #000000;
}
/*body#top div#facility div.in_box > div:last-child a {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#facility div.in_box > div:last-child a::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -80px;
    height: 1px;
    width: 70px;
    background: #000000;
}
body#top div#facility div.in_box > div:last-child a::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000000;
}
body#top div#facility div.in_box > div:last-child a:not(:first-child) {
    margin: 40px 0 0;
}
body#top div#facility div.in_box > div:last-child a:hover::after {
    width: 0;
}*/
body#top div#facility div div:last-child label {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    cursor: pointer;
}
body#top div#facility div div:last-child label::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -20px;
    height: 1px;
    width: 10px;
    background: #000000;
}
body#top div#facility div div:last-child label::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000000;
}
body#top div#facility div div:last-child label:not(:first-child) {
    margin: 40px 0 0;
}
body#top div#facility div div:last-child label:hover::after {
    width: 0;
}
/* ==========================================
	2.06.00 #drawing
========================================== */
body#top div#drawing {
    background: url("../../img/index/facility_photo02tb.jpg") no-repeat bottom center;
    min-height: 463px;
}
body#top div#drawing div.in_box {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    padding: 0 35px;
    position: relative;
}
body#top div#drawing div.in_box::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: 80px;
    bottom: -20px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa03 10.0s infinite;
}
body#top div#drawing div.in_box::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 86px;
    right: 35px;
    bottom: -60px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa04 8.0s 3.0s infinite;
}
@keyframes huwa03 {
    0% {bottom: -20px;}
    50%{bottom: -30px;}
    75%{bottom: 0;}
    100% {bottom: -20px;}
}
@keyframes huwa04 {
    0% {bottom: -60px;}
    50%{bottom: -30px;}
    100% {bottom: -60px;}
}
body#top div#drawing p:first-child {
    display: block;
    align-items: flex-start;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 20px 15px;
    box-sizing: border-box;
    max-width: 720px;
    width: 100%;
    margin: 30px 0 0;
}
body#top div#drawing p:first-child span {
    padding: 0 0 0 10px;
}
body#top div#drawing p:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing p:last-child {
    display: block;
    width: 100%;
    max-width: 720px;
}
/* ==========================================
	2.07.00 #drawing02
========================================== */
body#top div#drawing02 {
    margin: 130px 0 0;
    background: url("../../img/index/heimen_bg_tb02.jpg") no-repeat bottom 9px right;
}
body#top div#drawing02 div.in_box {
    display: flex;
    flex-flow: column;
    padding: 0 35px;
}
body#top div#drawing02 h4 {
    display: block;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 0 15px;
    margin: 0 0 0 7px;
}
body#top div#drawing02 h4::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing02 h4 + p {
    display: block;
    max-width: 550px;
    width: 100%;
    margin: -25px 0 0;
}
body#top div#drawing02 p + div {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 50px 0;
    width: 100%;
}
body#top div#drawing02 p + div::after {
    content: "";
    position: absolute;
    right: 450px;
    bottom: 0;
    width: 145px;
    height: 145px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: draw 10.0s infinite;
}
body#top div#drawing02 p + div::before {
    content: "";
    position: absolute;
    right: 430px;
    bottom: 0;
    width: 53px;
    height: 46px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: draw02 8.0s 3.0s infinite;
}
@keyframes draw {
    0% {bottom: 0;}
    50%{bottom: -20px;}
    100% {bottom: 0;}
}
@keyframes draw02 {
    0% {bottom: 0;}
    50%{bottom: -40px;}
    100% {bottom: 0;}
}
body#top div#drawing02 h5 {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 2.5;
    width: 499px;
    margin: 0 0 20px;
}
body#top div#drawing02 h5::after {
    content: "";
    position: absolute;
    left: -20px;
    top: -15px;
    width: 50px;
    height: 40px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    z-index: -1;
}
body#top div#drawing02 h5 + p {
    display: block;
    margin: 0 0 0 auto;
    max-width: 560px;
    width: 100%;
}
/* ==========================================
	2.08.00 #gallery
========================================== */
body#top div#gallery div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1024px;
    padding: 60px 35px 20px;
}
body#top div#gallery div.in_box p:not(:first-child) {
    width: calc(50% - 20px);
    margin: 42px 0 0;
}
/* ==========================================
	2.09.00 #howto
========================================== */
body#top div#howto {
    margin: 70px 0 0;
    background: url("../../img/index/how_to_bgtb.jpg") no-repeat bottom center;
}
body#top div#howto div.in_box {
    padding: 0 35px;
}
body#top div#howto > div.in_box:first-child div:first-child {
    display: flex;
    align-items: center;
}
body#top div#howto h3 {
    display: flex;
    flex-flow: column;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
    width: 200px;
}
body#top div#howto h3 span {
    display: inline-block;
    align-self: flex-start;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    z-index: 1;
}
body#top div#howto h3 span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#howto h3 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 0 0 0 20px;
    width: calc(100% -200px);
}
/*div:first-child > div:nth-child(2) */
body#top div#howto > div:first-child > div:nth-child(2) {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 35px 0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:first-child {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 150px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) {
    display: flex;
    align-items: flex-end;
    font: 900 3.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 150px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) span {
    display: flex;
    align-items: flex-end;
    font: 900 1.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 3px 3px;
    line-height: 1.0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:last-child {
    display: block;
    width: calc(100% - 300px);
    font-size: 1.3rem;
    line-height: 2.0;
}
/*div:first-child ul*/
body#top div#howto > div:first-child li {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 30px;
}
body#top div#howto > div:first-child li > p:first-child {
    display: block;
    width: 100%;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.5rem;
    line-height: 1.0;
    margin: 0 0 15px;
}
body#top div#howto > div:first-child li > p + p {
    display: block;
    width: 200px;
}
body#top div#howto > div:first-child li div {
    display: block;
    width: calc(100% - 200px);
    box-sizing: border-box;
    padding: 0 0 0 15px;
}
body#top div#howto > div:first-child li div p {
    display: flex;
    border: solid thin #bcc5c7;
    box-sizing: border-box;
    background: #f9fbfb;
}
body#top div#howto > div:first-child li div p:not(:first-child) {
    border-top: none;
}
body#top div#howto > div:first-child li div p span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    padding: 13px 0;
    border-right: solid thin #bcc5c7;
}
body#top div#howto > div:first-child li div p span:last-child {
    display: block;
    width: calc(100% - 130px);
    background: #FFFFFF;
    padding: 13px;
}
/**/
body#top div#howto > div.in_box:first-child ul + p {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #f5f5f5;
    padding: 30px;
    box-sizing: border-box;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
}
body#top div#howto > div.in_box:first-child ul + p span {
    display: block;
    padding: 0 0 0 10px;
    font-size: 1.3rem;
    line-height: 1.7;
    letter-spacing: 0;
    color: #000000;
    width: calc(100% - 70px);
}
body#top div#howto > div.in_box:first-child > p:last-child {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    padding: 35px 0 25px;
}
body#top div#howto > div:nth-child(2) {
    width: 100%;
    margin: 0 0 45px;
}
body#top div#howto > div:nth-child(2) div {
    display: flex;
    justify-content: space-between;
}
body#top div#howto > div:nth-child(2) p {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font: 400 1.3rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    background: rgba(113,199,213,0.3);
    padding: 20px 10px;
    width: 30%;
    box-sizing: border-box;
}
body#top div#howto > div:nth-child(3) {
    position: relative;
}
body#top div#howto > div:nth-child(3)::after {
    content: "";
    position: absolute;
    bottom: 120px;
    right: 60px;
    width: 175px;
    height: 175px;
    background: url("../../img/common/maru.svg") no-repeat;
    background-size: contain;
    animation: huwa05 8.0s infinite;
}
body#top div#howto > div:nth-child(3)::before {
    content: "";
    position: absolute;
    bottom: 230px;
    right: 35px;
    width: 115px;
    height: 100px;
    background: url(../../img/common/six_box.svg) no-repeat;
    background-size: contain;
    z-index: 2;
    animation: huwa06 8.0s 3.0s infinite;
}
@keyframes huwa05 {
    0% {bottom: 120px;}
    50%{bottom: 80px;}
    100% {bottom: 120px;}
}
@keyframes huwa06 {
    0% {bottom: 230px;}
    50%{bottom: 170px;}
    100% {bottom: 230px;}
}
body#top div#howto > div:nth-child(3) > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% + 35px);
    background: url("../../img/index/doctore.jpg") no-repeat right top;
    background-size: contain;

}
body#top div#howto > div:nth-child(3) > div div {
    width: 70%;
    box-sizing: border-box;
    margin: 0 0 0 -35px;
    padding: 30px;
    background: rgba(255,255,255,0.8);
}
body#top div#howto h4 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    z-index: 1;
}
body#top div#howto h4::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h4 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    margin: 23px 0 0;
}
body#top div#howto > div:nth-child(3) > div > p {
    display: none;
}
body#top div#howto h5 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    margin: 45px 0 0;
    z-index: 1;
}
body#top div#howto h5::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 20px 0 0;
}
body#top div#howto h6 {
    display: block;
    position: relative;
    z-index: 2;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.5;
    padding: 100px 0;
    max-width: 70%;
    box-sizing: border-box;
}
/* ==========================================
	2.10.00 #visit
========================================== */
body#top div#visit {
    padding: 90px 0 0;
    background: #fbfbfb;
}
body#top div#visit div.in_box {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 0 35px;
}
body#top div#visit h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#visit h4 {
    display: block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    z-index: 1;
}
body#top div#visit h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#visit h4 +div {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 45px 0 0;
}
body#top div#visit ul {
    width: 499px;
}
body#top div#visit ul li:first-child {
    display: flex;
    background: rgba(215,236,250,0.5);
    padding: 0 15px;
}
body#top div#visit ul li:first-child p {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.2rem;
    padding: 17px 15px;
    box-sizing: border-box;
}
body#top div#visit ul li:first-child p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) {
    display: flex;
    background: rgba(243,249,254,0.5);
    padding: 0 15px;
}
body#top div#visit ul li:not(:first-child) p {
    display: block;
    font:300 1.4rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 17px 15px;
    box-sizing: border-box;
}
body#top div#visit ul li:not(:first-child) p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) p:not(:first-child) {
    color: #00ace7;
}
body#top div#visit ul li:not(:first-child) p.holiday {
    color: #000000;
}
body#top div#visit ul + div {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0 0;
}
body#top div#visit ul + div p:first-child {
    display: block;
    font: 400 1.3rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.4rem;
}
body#top div#visit ul + div h5 {
    display: flex;
    align-items: center;
    font:300 2.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 15px 0;
}
body#top div#visit ul + div h5 span {
    display: block;
    width: 15px;
    padding: 0 10px 0 0;
}
body#top div#visit ul + div h5 + p {
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    font-size: 1.3rem;
    line-height: 2.0;
}
body#top div#visit ul + div h5 + p span {
    display: block;
    text-align: center;
    font-size: 1.1rem;
    line-height: 2.0;
    padding: 5px 0 0;
}
body#top div#visit div.in_box > a {
    display: flex;
    justify-content: center;
    position: relative;
    width: 320px;
    font: 400 1.6rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.4rem;
    padding: 30px 0;
    margin: 80px 0 -40px;
    border: solid thin #000000;
    background: #FFFFFF;
    color: #000000;
}
body#top div#visit div.in_box > a:hover {
    background: #71c7d5;
    border: solid thin #71c7d5;
    color: #FFFFFF;
}
/* ==========================================
    2.11.00 #access
========================================== */
body#top div#access {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 100px 0 0;
}
body#top div#access h3 {
    display: block;
    font: 400 1.8rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#access h3 + h4 {
    display: block;
    position: relative;
    font: 400 1.6rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    margin: 0 0 45px;
    z-index: 1;
}
body#top div#access h3 + h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#access > div {
    display: flex;
    width: 100%;
    position: relative;
}
body#top div#access > div > div:first-child {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: rgba(215,236,250,0.9);
    width: 50%;
    padding: 100px 0;
    z-index: 1;
}
body#top div#access > div:last-child > div:first-child {
    background: rgba(113,199,213,0.9);
}
body#top div#access > div > div > p:first-child {
    display: block;
    width: 140px;
}
body#top div#access > div div h4 {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 15px 0 10px;
}
body#top div#access > div div h4 + p {
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
}
body#top div#access > div div p + p {
    display: block;
    font:300 1.6rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 10px 0 0;
}
body#top div#access > div > p {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 50%;
    height: 327px;
}
body#top div#access > div > p img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body#top div#access div#map01,
body#top div#access div#map02 {
    display: block;
    width: 50%;
    min-height: 300px;
}
}
/* ==========================================
3.00.00 SP_media screen
========================================== */
@media screen and (max-width: 568px) {
/* ==========================================
    3.01.00 #header
========================================== */
header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 35px 40px 0;
    box-sizing: border-box;
    width: 100%;
}
header a:first-child {
    display: block;
    width: 150px;
}
header a:not(:first-child),
header label {
    display: none;
}
header > p {
    display: none;
}
/* ==========================================
	3.02.00 #main_photo
========================================== */
body#top div#main_photo {
    box-sizing: border-box;
    padding: 20px 15px;
    margin: 0 0 150px;
    position: relative;
}
body#top div#main_photo > div {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    background: url("../../img/index/main_photo.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
    padding: 0 15px;
    width: 100%;
    height: 100%;
}
body#top div#main_photo h1 {
    display: block;
    font: 700 2.8rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    color: #FFFFFF;
    text-align: center;
}
body#top div#main_photo > div > p {
    display: inline-block;
    position: relative;
    font:300 1.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.1rem;
    color: #FFFFFF;
    padding: 0 0 15px;
}
body#top div#main_photo > div > p::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 36px;
    border-radius: 100px;
    bottom: 40px;
    left: calc(50% - 10px);
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
body#top div#main_photo > div > p::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 10px;
    border-radius: 100px;
    bottom: 60px;
    left: calc(50% - 0.5px);
    border: solid thin #FFFFFF;
    box-sizing: border-box;
    animation: flafla 5.0s infinite;
}
@keyframes flafla {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; }
}
body#top div#main_photo > p {
    display: inline-block;
    font-size: 0.8rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    position: absolute;
    right: 5px;
    bottom: 20px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
/* ==========================================
	3.02.01 #news
========================================== */
body#top div#news {
    position: absolute;
    bottom: -110px;
    left: 15px;
    align-self: flex-start;
	margin: 0;
}
body#top div#news h3 {
	display: block;
	font:300 1.5rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	padding: 0 0 10px;
}
body#top div#news div.tc_contents {
	position: relative;
	padding: 15px 20px;
	width: calc(100% - 15px);
	box-sizing: border-box;
    border: solid thin rgba(0,0,0,0.50);
}
body#top div#news div.slick-list {
	position: relative;
	z-index: 5;
}
body#top div#news div.slick-list div div p:first-child {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font:300 1.4rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	color: #C4C4C4;
}
body#top div#news div.slick-list div div p:first-child span {
	font:300 1.2rem futura-pt, sans-serif;
	letter-spacing: 0.1rem;
	line-height: 1.0;
	background: #595757;
	padding: 3px 10px;
}
body#top div#news div.slick-list div div p:last-child {
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.1rem;
	padding: 5px 0 0;
}
/*.topic_dots*/
body#top div#news ul.topic_dots {
	display: flex;
	position: absolute;
	top: -37px;
	right: 0;
}
body#top div#news ul.topic_dots li {
	margin: 0 0 0 10px;
}
body#top div#news ul.topic_dots button {
	border: none;
	margin: 0;
	padding: 4px;
	font-size: 0;
	background: #dbdbdb;
}
body#top div#news ul.topic_dots li.slick-active button {
	background: #71c7d5;
}
body#top div#news ul.topic_dots button:hover {
	opacity: 0.7;
}
/* ==========================================
	3.03.00 #about
========================================== */
body#top div#about {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    margin: 50px auto 0;
    padding: 0 15px 80px;
    box-sizing: border-box;
    position: relative;
}
body#top div#about::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 270px;
    width: 120px;
    height: 120px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa02 8.0s 3.0s infinite;
}
body#top div#about::before {
    content: "";
    position: absolute;
    right: 100px;
    top: 350px;
    width: 70px;
    height: 70px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa01 10.0s infinite;
}
@keyframes huwa01 {
    0% {top: 350px;}
    50%{top: 400px;}
    100% {top: 350px;}
}
@keyframes huwa02 {
    0% {top: 270px;}
    50%{top: 320px;}
    100% {top: 270px;}
}
body#top div#about h3 {
	display: flex;
    flex-flow: column;
    align-items: center;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
}
body#top div#about h3 span {
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 5px 0 0;
}
body#top div#about h4 {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 25px 0 20px;
    font: 400 1.5rem ten-mincho-text, serif;
    line-height: 1.7;
    letter-spacing: 0.3rem;
    text-align: center;
}
body#top div#about h4 + p {
    height: 300px;
}
body#top div#about h4 + p img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body#top div#about div {
    display: block;
    align-self: flex-start;
    padding: 65px 0 0;
    position: relative;
    z-index: 2;
}
body#top div#about div h5 {
    display: inline-block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 0 3px;
}
body#top div#about div h5::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#about div h5 + p {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.2;
    max-width: 500px;
    padding: 20px 0;
}
body#top div#about div p + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    word-break: break-all;
}
body#top div#about div p + p span {
    display: block;
    font-size: 1.2rem;
    line-height: 2.0;
    max-width: 500px;
}
body#top div#about div + p {
    display: block;
    width: 60%;
    position: absolute;
    bottom: 0;
    right: 15px;
}
body#top div#about > a {
    display: block;
    position: absolute;
    right: 35px;
    bottom: 40px;
    font: 400 1.4rem rockwell, sans-serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#about > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    left: -3px;
    width: calc(100% + 6px);
    height: 6px;
    background: rgba(113,119,213,0.3);
    z-index: -1;
}
body#top div#about > a:hover::after {
    background: rgba(113,119,213,1.0);
}
/* ==========================================
	3.04.00 #day
========================================== */
body#top div#day {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../../img/index/facility_main.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
    padding: 0 15px;
    width: 100%;
    height: 400px;
}
body#top div#day p {
    display: inline-block;
    text-align: center;
    font: 700 3.0rem soleil, sans-serif;
    line-height: 1.0;
    letter-spacing: 0.1rem;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    color: transparent;
}
/* ==========================================
	3.05.00 #facility
========================================== */
body#top div#facility {
    display: flex;
    align-items: center;
    margin: 55px 0 0;
}
body#top div#facility div.in_box {
    width: 100%;
    padding: 0 15px;
}
body#top div#facility div.in_box div:first-child {
}
body#top div#facility h3 {
    display: block;
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#facility h4 {
    display: inline-block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 15px 0 0 3px;
    z-index: 1;
}
body#top div#facility h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#facility h5 {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    margin: 20px 0;
}
body#top div#facility h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
}
body#top div#facility p + label {
	display: block;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
    cursor: pointer;
}
body#top div#facility p + label::after {
	content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + label::before {
	content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 200px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}
/*body#top div#facility p + a {
    display: block;
    width: 380px;
    position: relative;
    border: solid thin #71c7d5;
    background: #71c7d5;
    box-sizing: border-box;
    color: #FFFFFF;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 27px 22px;
    margin: 35px 0 0;
}
body#top div#facility p + a::after {
    content: "Please click";
    position: absolute;
    color: #71c7d5;
    font: 400 1.3rem rockwell, sans-serif;
    letter-spacing: 0.1rem;
    line-height: 1.0;
    right: 0;
    bottom: -20px;
}
body#top div#facility p + a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 0;
    width:0;
    border-right: solid 150px #FFFFFF;
    border-bottom: solid 67px transparent;
    z-index: 2;
}*/
body#top div#facility div div:last-child {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 50px 0 0;
}
/*body#top div#facility div.in_box > div:last-child a {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
}
body#top div#facility div.in_box > div:last-child a:not(:first-child) {
    margin: 40px 0 0;
}
body#top div#facility div.in_box > div:last-child a:hover::after {
    width: 0;
}*/
body#top div#facility div div:last-child label {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    cursor: pointer;
    padding: 0 0 15px;
}
body#top div#facility div div:last-child label::before {
    content: "";
    position: absolute;
    right: 10px;
    top: 15%;
    width: 6px;
    height: 6px;
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
    transform: rotate(45deg);
}
body#top div#facility div div:last-child label::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000000;
}
body#top div#facility div div:last-child label:not(:first-child) {
    margin: 40px 0 0;
}
/* ==========================================
	3.06.00 #drawing
========================================== */
body#top div#drawing {
    margin: 50px 0 0;
}
body#top div#drawing div.in_box {
    display: flex;
    flex-flow: column;
    padding: 0 15px;
    position: relative;
}
body#top div#drawing div.in_box::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    right: 50px;
    bottom: -20px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: huwa03 10.0s infinite;
}
body#top div#drawing div.in_box::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 86px;
    right: 15px;
    bottom: -60px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: huwa04 8.0s 3.0s infinite;
}
@keyframes huwa03 {
    0% {bottom: -20px;}
    50%{bottom: -30px;}
    75%{bottom: 0;}
    100% {bottom: -20px;}
}
@keyframes huwa04 {
    0% {bottom: -60px;}
    50%{bottom: -30px;}
    100% {bottom: -60px;}
}
body#top div#drawing p:first-child {
    display: block;
    align-items: flex-start;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 20px 15px;
    box-sizing: border-box;
    max-width: 720px;
    width: 100%;
    margin: 30px 0 0;
}
body#top div#drawing p:first-child span {
    padding: 0 0 0 10px;
    font-size: 1.2rem;
}
body#top div#drawing p:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing p:last-child {
    display: block;
    width: 100%;
}
/* ==========================================
	3.07.00 #drawing02
========================================== */
body#top div#drawing02 {
    margin: 50px 0 0;
}
body#top div#drawing02 div.in_box {
    display: flex;
    flex-flow: column;
    padding: 0 15px;
}
body#top div#drawing02 h4 {
    display: block;
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 0 15px;
    margin: 0 0 15px;
}
body#top div#drawing02 h4::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 10px;
    height: 10px;
    background: #000000;
    border-radius: 100px;
}
body#top div#drawing02 h4 + p {
    display: block;
    width: 100%;
    margin: -20px 0 0;
}
body#top div#drawing02 p + div {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 50px 0;
    width: 100%;
}
/*body#top div#drawing02 p + div::after {
    content: "";
    position: absolute;
    right: 450px;
    bottom: 0;
    width: 145px;
    height: 145px;
    background: url("../../img/common/maru.svg") no-repeat top center;
    background-size: contain;
    animation: draw 10.0s infinite;
}
body#top div#drawing02 p + div::before {
    content: "";
    position: absolute;
    right: 430px;
    bottom: 0;
    width: 53px;
    height: 46px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    animation: draw02 8.0s 3.0s infinite;
}
@keyframes draw {
    0% {bottom: 0;}
    50%{bottom: -20px;}
    100% {bottom: 0;}
}
@keyframes draw02 {
    0% {bottom: 0;}
    50%{bottom: -40px;}
    100% {bottom: 0;}
}*/
body#top div#drawing02 h5 {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 2.5;
    margin: 0 0 20px;
}
body#top div#drawing02 h5::after {
    content: "";
    position: absolute;
    left: -20px;
    top: -15px;
    width: 50px;
    height: 40px;
    background: url("../../img/common/six_box.svg") no-repeat top center;
    background-size: contain;
    z-index: -1;
}
body#top div#drawing02 h5 + p {
    display: block;
    margin: 0 0 0 auto;
    width: 100%;
}
body#top div#drawing02 div + p {
    display: block;
    width: 100%;
}
/* ==========================================
	3.08.00 #gallery
========================================== */
body#top div#gallery div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 15px 10px;
}
body#top div#gallery div.in_box p:not(:first-child) {
    width: calc(50% - 7px);
    margin: 15px 0 0;
}
/* ==========================================
	3.09.00 #howto
========================================== */
body#top div#howto {
    margin: 70px 0 0;
    background: url("../../img/index/how_to_bgtb.jpg") no-repeat bottom center;
}
body#top div#howto div.in_box {
    padding: 0 15px;
}
body#top div#howto > div.in_box:first-child div:first-child {
    display: flex;
    flex-flow: column;
    align-items: center;
}
body#top div#howto h3 {
    display: flex;
    flex-flow: column;
    align-items: center;
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#howto h3 span {
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0;
    z-index: 1;
}
body#top div#howto h3 span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#howto h3 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    margin: 15px 0 0;
    text-align: center;
}
/*div:first-child > div:nth-child(2) */
body#top div#howto > div:first-child > div:nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 35px 0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:first-child {
    display: block;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 150px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) {
    display: flex;
    align-items: flex-end;
    font: 900 3.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    width: 115px;
}
body#top div#howto > div:first-child > div:nth-child(2) p:nth-child(2) span {
    display: flex;
    align-items: flex-end;
    font: 900 1.5rem toppan-bunkyu-midashi-min-st, serif;
    letter-spacing: 0.3rem;
    padding: 0 0 3px 3px;
    line-height: 1.0;
}
body#top div#howto > div:first-child > div:nth-child(2) p:last-child {
    display: block;
    width: 100%;
    font-size: 1.3rem;
    line-height: 2.0;
    text-align: center;
    margin: 10px 0 0;
}
/*div:first-child ul*/
body#top div#howto > div:first-child li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 30px;
}
body#top div#howto > div:first-child li > p:first-child {
    display: block;
    width: 100%;
    text-align: center;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.5rem;
    line-height: 1.0;
    margin: 0 0 15px;
}
body#top div#howto > div:first-child li > p + p {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 350px;
}
body#top div#howto > div:first-child li div {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 15px 0 0;
}
body#top div#howto > div:first-child li div p {
    display: flex;
    border: solid thin #bcc5c7;
    box-sizing: border-box;
    background: #f9fbfb;
}
body#top div#howto > div:first-child li div p:not(:first-child) {
    border-top: none;
}
body#top div#howto > div:first-child li div p span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    padding: 13px 0;
    border-right: solid thin #bcc5c7;
}
body#top div#howto > div:first-child li div p span:last-child {
    display: block;
    width: calc(100% - 90px);
    background: #FFFFFF;
    padding: 13px;
}
/**/
body#top div#howto > div.in_box:first-child ul + p {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #f5f5f5;
    padding: 30px;
    box-sizing: border-box;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
}
body#top div#howto > div.in_box:first-child ul + p span {
    display: block;
    padding: 0 0 0 10px;
    font-size: 1.3rem;
    line-height: 1.7;
    letter-spacing: 0;
    color: #000000;
    width: calc(100% - 70px);
}
body#top div#howto > div.in_box:first-child > p:last-child {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    line-height: 1.7;
    padding: 35px 0 25px;
    text-align: center;
}
body#top div#howto > div:nth-child(2) {
    width: 100%;
    margin: 0 0 45px;
}
body#top div#howto > div:nth-child(2) div {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
body#top div#howto > div:nth-child(2) p {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font: 400 1.3rem ten-mincho-text, serif;
    letter-spacing: 0.2rem;
    background: rgba(113,199,213,0.3);
    padding: 20px 0;
    width: 100%;
    box-sizing: border-box;
}
body#top div#howto > div:nth-child(2) p:not(:first-child) {
    margin: 20px 0 0;
}
body#top div#howto > div:nth-child(3) {
    position: relative;
}
body#top div#howto > div:nth-child(3)::after {
    content: "";
    position: absolute;
    bottom: 120px;
    right: 15px;
    width: 120px;
    height: 120px;
    background: url("../../img/common/maru.svg") no-repeat;
    background-size: contain;
    animation: huwa05 8.0s infinite;
}
body#top div#howto > div:nth-child(3)::before {
    content: "";
    position: absolute;
    bottom: 230px;
    right: 30px;
    width: 90px;
    height: 85px;
    background: url(../../img/common/six_box.svg) no-repeat;
    background-size: contain;
    z-index: 2;
    animation: huwa06 8.0s 3.0s infinite;
}
@keyframes huwa05 {
    0% {bottom: 120px;}
    50%{bottom: 80px;}
    100% {bottom: 120px;}
}
@keyframes huwa06 {
    0% {bottom: 230px;}
    50%{bottom: 170px;}
    100% {bottom: 230px;}
}
body#top div#howto > div:nth-child(3) > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 230px 0 0;
}
body#top div#howto > div:nth-child(3) > div::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: url("../../img/index/doctore.jpg") no-repeat bottom center;
    background-size: cover;
}
body#top div#howto > div:nth-child(3) > div div {
    width: 100%;
    box-sizing: border-box;
}
body#top div#howto h4 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    z-index: 1;
}
body#top div#howto h4::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h4 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    margin: 5px 0 0;
}
body#top div#howto > div:nth-child(3) > div > p {
    display: none;
}
body#top div#howto h5 {
    display: block;
    position: relative;
    font: 400 1.5rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.0;
    margin: 45px 0 0 ;
    z-index: 1;
}
body#top div#howto h5::after {
    content: "";
    position: absolute;
    top: -5px;
    left: -8px;
    width: 18px;
    height: 18px;
    background: rgba(215,236,250,0.5);
    border-radius: 100px;
    z-index: -1;
}
body#top div#howto h5 + p {
    display: block;
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 5px 0 0;
}
body#top div#howto h6 {
    display: block;
    position: relative;
    z-index: 2;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 2.5;
    padding: 50px 0;
    max-width: 80%;
    box-sizing: border-box;
}
body#top div#howto h6 br {
    display: none;
}
/* ==========================================
	3.10.00 #visit
========================================== */
body#top div#visit {
    padding: 60px 0 0;
    background: #fbfbfb;
}
body#top div#visit div.in_box {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 0 15px;
}
body#top div#visit h3 {
    display: block;
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#visit h4 {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    z-index: 1;
}
body#top div#visit h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#visit h4 + div {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 45px 0 0;
}
body#top div#visit ul {
    width: 100%;
}
body#top div#visit ul li:first-child {
    display: flex;
    align-items: center;
    background: rgba(215,236,250,0.5);
    padding: 0 10px;
}
body#top div#visit ul li:first-child p {
    display: block;
    font: 400 1.3rem ten-mincho-text, serif;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    padding: 10px 7px;
    box-sizing: border-box;
}
body#top div#visit ul li:first-child p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) {
    display: flex;
    align-items: center;
    background: rgba(243,249,254,0.5);
    padding: 0 10px;
}
body#top div#visit ul li:not(:first-child) p {
    display: block;
    font:300 1.3rem futura-pt, sans-serif;
    line-height: 1.5;
	letter-spacing: 0.2rem;
    padding: 10px 7px;
    box-sizing: border-box;
}
body#top div#visit ul li:not(:first-child) p:first-child {
    margin: 0 auto 0 0;
}
body#top div#visit ul li:not(:first-child) p:not(:first-child) {
    color: #00ace7;
}
body#top div#visit ul li:not(:first-child) p.holiday {
    color: #000000;
}
body#top div#visit ul + div {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0 0;
}
body#top div#visit ul + div p:first-child {
    display: block;
    font: 400 1.3rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.4rem;
}
body#top div#visit ul + div h5 {
    display: flex;
    align-items: center;
    font:300 2.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 15px 0;
}
body#top div#visit ul + div h5 span {
    display: block;
    width: 15px;
    padding: 0 10px 0 0;
}
body#top div#visit ul + div h5 a {
    color: #000000;
    font:300 2.3rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
}
body#top div#visit ul + div h5 + p {
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    font-size: 1.3rem;
    line-height: 2.0;
}
body#top div#visit ul + div h5 + p span {
    display: block;
    text-align: center;
    font-size: 1.1rem;
    line-height: 2.0;
    padding: 5px 0 0;
}
body#top div#visit div.in_box > a {
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    max-width: 320px;
    font: 400 1.5rem ten-mincho-text, serif;
    line-height: 1.0;
    letter-spacing: 0.2rem;
    padding: 30px 0;
    margin: 40px 0 -40px;
    border: solid thin #000000;
    background: #FFFFFF;
    color: #000000;
}
/* ==========================================
    3.11.00 #access
========================================== */
body#top div#access {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 100px 0 0;
}
body#top div#access h3 {
    display: block;
    font: 400 1.6rem rockwell, sans-serif;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}
body#top div#access h3 + h4 {
    display: block;
    position: relative;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    padding: 10px 0 0 3px;
    margin: 0 0 45px;
    z-index: 1;
}
body#top div#access h3 + h4::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -2px;
    background: #efea3a;
    z-index: -1;
}
body#top div#access > div {
    display: flex;
    flex-flow: column;
    width: 100%;
    position: relative;
}
body#top div#access > div > div:first-child {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: rgba(215,236,250,0.9);
    width: 100%;
    padding: 100px 0;
    z-index: 1;
}
body#top div#access > div:last-child > div:first-child {
    background: rgba(113,199,213,0.9);
}
body#top div#access > div > div > p:first-child {
    display: block;
    width: 140px;
}
body#top div#access > div div h4 {
    display: block;
    font: 400 1.4rem ten-mincho-text, serif;
    letter-spacing: 0.3rem;
    line-height: 1.0;
    padding: 15px 0 10px;
}
body#top div#access > div div h4 + p {
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    line-height: 1.0;
}
body#top div#access > div div p + p {
    display: block;
    font:300 1.6rem futura-pt, sans-serif;
    line-height: 1.0;
	letter-spacing: 0.2rem;
    padding: 10px 0 0;
}
body#top div#access > div > p {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 327px;
}
body#top div#access > div > p img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body#top div#access div#map01,
body#top div#access div#map02 {
    display: block;
    width: 100%;
    min-height: 300px;
}
}