/*
Theme Name: Marine2023
Theme URI: 
Description:
Version: 5.1
Author: 
Author URI: 
*/
/*------------------------------------------------------------
Reset One
-------------------------------------------------------------*/
html {
width: 100%;
-webkit-text-size-adjust: 100%;
padding: 0;
margin: 0;
}
html { scroll-behavior: smooth;}
body {
-webkit-appearance: none;
padding: 0;
margin: 0;
}
input, button, textarea {
-webkit-appearance: none;
border-radius: 0;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
margin: 0;
padding: 0;
line-height: 1;
}
/*------------------------------------------------------------
Basic
-------------------------------------------------------------*/
body {
font-family: "Helvetica Neue", "M PLUS 1p", YuGothic, Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.62;
min-width: 320px;
padding: 0;
margin: 0;
background: #fffffc;
text-align: center;
}
@media all and (max-width: 640px) {
	body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 16px;
	line-height: 1.52;
	}
}
* html body {
font-family: "MS PGothic", Sans-Serif; /*for ie*/
}
html {
margin: 0;
padding: 0;
}
#main, #side {
text-align: left;
}
#wide {
text-align: left;
margin-bottom: 3em;
}
.inner {
padding: 2em;
}
.outer {
margin: 1em;
}
.inbox {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.container {
text-align: left;
margin: 0 auto;
padding: 0;
}
.fix-contents {
background: rgba(255, 255, 255, 0.8);
padding-top: 80px;
padding-left: 2em;
padding-right: 2em;
}

.page-contents {
background: rgba(255, 255, 255, 0.8);
}
.page-contents.pages {
background: rgba(255, 255, 255, 0.8);
padding-top: 80px;
}

@media all and (max-width: 640px) {
.fix-contents {
padding-top: 50px;
padding-left: 0.5em!important;
padding-right: 0.5em!important;	
}
}
.page-contents {
padding-left: 1em!important;
padding-right: 1em!important;	
}
}

#home .page-contents {
background: rgba(255, 255, 255, 0.8);
}
.page-contents:after,
.fix-contents:after {
content: ".";
display: block;
visibility: hidden;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
clear: both;
}
.googlefont {
font-family: 'M PLUS 1p', sans-serif;
font-family: 'Roboto Mono', monospace;
font-family: 'Heebo', sans-serif;
font-family: 'DM Serif Display', serif;
}
/*-----------------------------------
Parallax
-----------------------------------*/
.parallax-window {
background: transparent;
}
.parallax-slider {
top: 0;
left: 0;
}
.parallax {
width: 100%!important;
overflow:hidden;
}

/*-----------------------------------
slick-slider
-----------------------------------*/
.slick-slider {
width: 100%;
}
.slick-slider img {
width: 100%;
}
/*-----------------------------------
Background Fix
-----------------------------------*/
.bg-fixed {
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
/*-----------------------------------
Effect-fade 
-----------------------------------*/
.effect-fade {
opacity: 0;
transform: translate(0, 45px);
transition: all 300ms;
}
.effect-fade.effect-scroll {
opacity: 1;
transform: translate(0, 0);
}
/*-----------------------------------
Fadein 
-----------------------------------*/
.fadein {
opacity: 0.3;
transform: translateY(20px);
transition: all 1s;
}
/*-----------------------------------
Scale up
-----------------------------------*/
img.ups a {
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
transition: 0.5s;
}
img.ups a:hover {
-webkit-transform: scale(1.2, 1.2);
-moz-transform: scale(1.2, 1.2);
-o-transform: scale(1.2, 1.2);
transform: scale(1.2, 1.2);
}
/*-----------------------------------
iFrame
----------------------------------*/
iframe {
margin: 0;
padding: 0;
line-height: 1;
overflow: hidden;
box-sizing: border-box;
}
/*-----------------------------------
Link-Arrow
----------------------------------*/
.link-arrow {
position: relative;
overflow: hidden;
width: 100%;
}
.link-arrow:after {
position: absolute;
top: 50%;
right: 16px;
display: block;
z-index: 111;
content: '';
width: 16px; /*arrow size*/
height: 16px; /*arrow size*/
margin-top: -8px;
border-top: 3px solid #a3a3a3; /*arrow color*/
border-right: 3px solid #a3a3a3; /*arrow color*/
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}
/*-----------------------------------
Link-Color
-----------------------------------*/
a, a:link, a:visited {
color: #00afcc;/*turquoise-blue*/
text-decoration: none;
}
a:hover, a:focus {
color: #008db7;/*cerulean-blue*/
text-decoration: none;
transition: 0.3s ease;
-webkit-transition: 0.3s ease;
}
a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
a img, img {
border: none;
color: #FFFFFF;
background: transparent;
}
p.aline {
text-align: center;
margin-top: 1em;
}
p.aline a {
border: 1px solid #dcdcdc;
padding: 7px 24px;
transition-duration: 0.5s;
transition-timing-function: ease-in;
}
p.aline a:hover {
border: 1px solid #008db7;/*cerulean-blue*/
}
/*-----------------------------------
Color-Scheme
-----------------------------------*/
h1, h2  {
color: #4e454a;/*charcoal-gray*/
font-weight: bold;
}
h3, h4, h5, h6 {
color: #71686c;/*wine-red*/
font-weight: bold;
}
p, small, time, th, td, caption, ol, li, dt, dd, div {
color: #24140e;/*lamp-black*/
}
.titles {
font-weight: bold;
font-size: 1.12em;
}
/*-----------------------------------
Headings
-----------------------------------*/
h1 {
font-size: 1.24em;
line-height: 1.32;
padding-bottom: 2em;
text-align: center;
}
h2 {
font-size: 1.24em;
line-height: 1.32;
margin-top: 1em;
}
h3 {
font-size: 1.18em;
line-height: 1.5;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
h4 {
font-size: 1.08em;
line-height: 1.32;
margin-top: 0.5em;
}
h5, h6 {
font-size: 1.0em;
line-height: 1.32;
margin-top: 0.5em;
}
/*-----------------------------------
 Paragraphs Colors
-----------------------------------*/
p {
font-size: 1em;
margin: 0.2em 0 1em 0;
line-height: 1.52;
}
.small {
font-size: 0.9em;
line-height: 1.48;
}
small {
font-size: 0.9em;
line-height: 1.48;
}
.big {
font-size: 1.21em;
}
.large {
font-size: 1.36em;
}
.bold {
font-weight: bold;
}
span.off {
text-align: right;
padding: 5px 15px;
background: #add8e6;
}
p.lead {
color: #00608d;
font-weight: bold;
}
/* color */
.blue {
color: #00608d;/*madonna-blue*/
}
.sky {
color: #82cddd;/*horizon-blue*/
}
.red {
color: #c70067;/*ruby*/
}
.orange {
color: #ed6d46;/*chinese-red*/
}
.yellow {
color: #fdd35c;/*naples-yellow*/
}
.green {
color: #25b7c0;/*cambridge-blue*/
}
.silver {
color: #9fa09e;/*ash-gray*/
}
.en {
font-family: 'Baloo 2', cursive;
}
.en-large, .yen {
font-family: 'Baloo 2', cursive;
font-size: 1.8em;
margin: 0 0.2em;
}
.yens {
font-family: 'Baloo 2', cursive;
font-size: 1.3em;
margin: 0 0.1em;
}
span.jpn {
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "M PLUS 1p", YuGothic, Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}
.en-titles {
font-family: 'Baloo 2', cursive;
font-size: 4em;
line-height: 1;
text-align: center;
}
h2.jp-titles {
font-size: 1em !important;
margin: 0 !important;
padding: 0 0 1em 0 !important;
text-align: center;
line-height: 1.32;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "M PLUS 1p", YuGothic, Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}	
.marks {
color: #a3a3a3;
margin-left: 4em;
}
@media all and (max-width: 640px) {
	.en-titles {
	font-size: 2.1em;
	}		
}
/*----------------------------------------
Radius-Box
----------------------------------------*/
.radi-box {
padding: 12px 21px 10px 21px;
border-radius: 12px;
margin-bottom: 8px;
}
.radi-box.center {
text-align: center;
}
.radi-blue {
background: #00608d;/*madonna-blue*/
color: #ffffff;
}
.radi-sky {
background: #82cddd;/*horizon-blue*/
color: #ffffff;
}
.radi-orange {
background: #f3981d;/*mandarinorange*/
color: #ffffff;
}
.radi-green {
background: #25b7c0;/*cambridge-blue*/
color: #ffffff;
}
.radi-yellow {
background: #ffdc00;/*jaune-brillant*/
color: #111111;
}

/*-----------------------------------
Elements
-----------------------------------*/
ul, ol, li, dl, dt, dd {
margin: 0;
padding: 0;
/*line-height: 1;*/
font-size: 1em;
}
div {
/*line-height: 1;*/
font-size: 1em;
}
/*-----------------------------------
Header
-----------------------------------*/
#header {
	
}
#header h1 {
margin: 12px 0 0 0;
padding: 0;
line-height: 1;
font-size: 1.1em;
}
#header h1 a {
color: #111111;
}
/*-----------------------------------
Global-Navi
-----------------------------------*/
.site-header {
background: rgba(255,255,255,0.5);
display: flex;
padding: 12px 30px 18px 30px;
position: fixed;
justify-content: space-between;
transition: .5s;
width: 100%;
z-index:100;
}
.site-header.transform{
background: rgba(255,255,255,0.9);
padding: 3px 30px 7px 30px;
}
.site-logo img {
height: 100px;
width: auto;
}
.gnavi {
width: 976px;
margin: 0 auto;
padding-top: 0px;
}
.gnavi-menu {
display: flex;
}
li.gnavi-item {
margin-left: 30px;
padding-top: 0.3em;
list-style: none;
font-size: 1.1em;
font-family: 'Roboto Mono', monospace;
}
li.gnavi-item a {
color: #333;

text-decoration: none;
}
.hero{
overflow: hidden;
}
.hero img {
}
@media screen and (max-width: 640px) {
	.gnavi {
	display: none;
	}
}
/*---------------------------------
Mobile-Navi
-----------------------------------*/
/*Checkbox-disply-none*/
.nav-unshown {
display: none;
}
#nav-drawer {
position: absolute;
top: 10px;
right: 30px;
transition: .5s;
}
.site-header.transform #nav-drawer {
position: absolute;
top: 5px;
right: 30px;
transition: .5s;
}
/*ico-area*/
#nav-open {
display: inline-block;
width: 38px;
height: 38px;
vertical-align: middle;
background-image: url("image/view_headline.svg");
background-size: 38px 38px;
margin-top: 3px;
}
#nav-open span {
cursor: pointer;
}
/*close-cover*/
#nav-close {
display: none; /*first-none*/
position: fixed;
z-index: 300;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: .3s ease-in-out;
}
/*navi-area*/
#nav-content {
overflow: auto;
position: fixed;
top: 0;
left: 0;
z-index: 500;
width: 90%;
max-width: 300px;
height: 100%;
background: #fff;
transition: .3s ease-in-out;
-webkit-transform: translateX(-105%);
transform: translateX(-105%); /*first-leftout*/
}
#nav-content ul {
margin: 0.8em;
text-align: left;
list-style: none;
border-top: 1px solid #dcdcdc;
border-bottom: 1px solid #dcdcdc;
}
#nav-content ul li {
margin: 0;
padding: 0.7em 0.5em 0.7em 0.1em;
list-style: none;
border-bottom: 1px solid #dcdcdc;
}
#nav-content ul li a {
padding-left: 1em;
}
#nav-content ul li:last-child {
border-bottom: none;
}
/*check--->displycover*/
#nav-input:checked ~ #nav-close {
display: block;
opacity: .5;
}
#nav-input:checked ~ #nav-content {
-webkit-transform: translateX(0%);
transform: translateX(0%); /*slide-right*/
box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}
/*---------------------------------
Stuck-Container
-----------------------------------*/


/*-----------------------------------
Phone-and-Mail
-----------------------------------*/
.phone {
background: url('svg/old-phone.svg') no-repeat left center #fff;
padding-left: 32px;
padding-top: 5px;
font-family: 'Baloo 2', cursive;
font-size: 1.7em;
}
.mail {
background: url('svg/mail.svg') no-repeat left center #fff;
padding-left: 32px;
font-family: 'Baloo 2', cursive;
font-size: 1.3em;
}
/*-----------------------------------
Headings
-----------------------------------*/
.catchcopy {
font-size: 1.12em;
line-height: 1.32;
}
.main h1 {
position: relative;
border-bottom: 3px solid #003e97;
padding: 6px 18px;
margin-top: 0;
margin-bottom: 1em;
text-align: center;
}
@media screen and (max-width: 640px) {
	.main h1 {
	font-size: 1.2em;
	}
}
.main h2.line {
padding: 3px 5px;
border-bottom: 1px solid #003e97;
margin-bottom: 1em;
text-align: center;
}
.main h2.bline {
font-size: 24px;
position: relative;
font-weight: normal!important;
padding: 0.5em;
text-align: center;
margin-bottom: 1.5em;
}
.main h2.bline span {
font-size: 21px;
color:#7a7a7a;
font-family: 'Baloo 2', cursive;
display: block;
}
.main h2.bline:before {
position: absolute;
bottom: -12px;
left: calc(50% - 50px);
width: 100px;
height: 6px;
content: '';
border-radius:3px;
background: #00afcc;
}
.main h3.tag:before {
position: absolute;
top: 0;
left: -24px;
content: '';
border-width: 24px 24px 24px 0;
border-style: solid;
border-color: transparent #4169e1 transparent transparent;
}
.main h3.tag:after {
position: absolute;
top: calc(50% - 5px);
left: -10px;
width: 10px;
height: 10px;
content: '';
border-radius: 50%;
background: #fff;
}
.main h3.tag span {
padding-right: 8px;
}
.main h3.line {
margin-bottom: 1em;
text-align: center;
padding: 3px;
border-bottom: 1px solid #003e97;
}
.main h3.ribbon {
display: inline-block;
position: relative;
padding: 15px 20px;
font-size: 18px;
color: #FFF;
background: #a6d3c8;
}
.main h3.ribbon:before {
position: absolute;
content: '';
top: 100%;
left: 0;
border: none;
border-bottom: solid 15px transparent;
border-right: solid 20px rgb(149, 158, 155);
}
.main h4 {
padding-bottom: 5px;
border-bottom: 1px solid #e3e3e3;
margin-bottom: 0.7em;
}
.main h4.noline {
border-bottom: none !important;
}
.main h4.center {
text-align: center;
}
.main p {}
/*----------------------------------------
List-Style-Basic
----------------------------------------*/
.main ul, .main ol {
margin-left: 0;
padding: 0;
}
.main ul {
list-style: disc;
}
.main ol {
list-style: decimal;
}
.block2 li, .block3 li, .block4 li {
list-style: none;
}
.main ul.list {
padding-left: 0.7em;
margin-left: 0.8em;
}
.main ul.list li {
list-style: square;
padding: 0.1em 0;
margin-left: 0.7em;
}
.main ol.num, .main ol.roman {
padding-left: 0.5em;
margin-left: 0.8em;
}
.main ol.num li {
list-style: decimal;
padding: 0.1em 0;
margin-left: 0.7em;
}
.main ol.latin li {
list-style: upper-latin;
padding: 0.1em 0;
margin-left: 0.7em;
}
.main ul.nostyle li, .main ol.nostyle li {
list-style: none;
padding: 0.1em 0;
margin-left: 0.7em;
}
ol.list li {
list-style: decimal;
padding: 0;
margin-left: 1em;
}
.main li > ul, .main li > ol {
margin-bottom: 0;
margin-left: 0;
}
/*-----------------------------------
Main-Contents
-----------------------------------*/

/*-----------------------------------
Footer
-----------------------------------*/
#footer {
margin: 1em 0 0 0;
clear: both;
padding: 0 0 0.5em 0;
background: #fffffc;
}
#footer .logo {
width: 150px;
padding-bottom: 1em;
}
#footer p.copyright {
font-size: 0.8rem;
margin: 0;
padding: 1rem 0;
line-height: 140%;
}
.foot-navi .navi {
width: 100%;
height: 40px;
line-height: 38px;
clear: both;
overflow: hidden;
text-align: center;
margin-top: 0.3rem;
margin-bottom: 0.3rem;
padding: 0;
}
.foot-navi .navi li {
margin: 0;
padding: 3px 16px;
font-size: 0.75rem;
display: inline;
border-right: solid 1px #dcdcdc;
}
.foot-navi .navi li:last-child {
border-right: 0;
}
.foot-navi .navi li a {
color: #5a544b;
}
.foot-navi .navi li a:hover {
color: #726250;
}
/*-----------------------------------
To-Top
-----------------------------------*/
#pagetop {
	display:block;
	overflow:hidden;
	width:100%;
	height:0.1;
}

#to-top {
position: fixed;
bottom: 0.7rem;
right: 0.7rem;
font-size: 100%;
z-index: 111;
}
#to-top a {
background: #006eb0;
text-decoration: none;
color: #fff;
width: 4em;
padding: 1em 0;
text-align: center;
display: block;
opacity: 0.70;
}
#to-top a:hover {
text-decoration: none;
background: #006eb0;
opacity: 0.90;
}
/*-----------------------------------
Pages Design
-----------------------------------*/
a.links {
position: relative;
padding-left: 12px;
}
a.links::before, a.links::after {
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
a.links::before {
display: block;
left: 4px;
top: 1px;
box-sizing: border-box;
width: 6px;
height: 6px;
border: 4px solid transparent;
border-left: 4px solid #999999;
}
/*-----------------------------------
Google-map
-----------------------------------*/
.gmap iframe {
max-width: 100%;
text-align: center;
}
@media screen and (max-width: 640px) {
	.gmap iframe {
	max-width: 96%;
	margin-left: 2%;
	text-align: center;
	}
}
/*-----------------------------------
Jetpack-SNS-Btn
-----------------------------------*/

/*-----------------------------------
SiteMap-Page
-----------------------------------*/
ul.sitemap {
padding: 0;
margin-left: 0.3em;
line-height: 1.75;
border-bottom: 2px solid #c3c3c3;
}
ul.sitemap li {
list-style: square;
padding: 0.2em 0;
margin-left: 0.8em;
}
ul.sitemap li li {
margin-left: 0.8em;
}
/*-----------------------------------
Definition-List
-----------------------------------*/
dl.flow,
dl.news {
width: 100%;
margin: auto;
margin-bottom: 1em;
overflow: hidden;
}
dl.flow dt,
dl.news dt {
margin: 0;
padding: 8px 5px;
overflow: hidden;
display: block;
font-weight: bold;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
float: left;
}
dl.flow dt {
font-size: 1.3em;
}
dl.news dt {
font-size: 1.5em;
font-family: 'Baloo 2', cursive;
}

dl.flow dd,
dl.news dd {
margin: 0;
padding: 8px 5px;
overflow: hidden;
display: block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
dl.flow dt p
dl.news dt p {
margin: 0;
padding: 0;
}
dl.flow dd p,
dl.news dd p {
margin: 0;
padding: 0;
}
dl.flow dd ul,
dl.news dd ul {
margin: 0 !important;
padding: 0 !important;
}
dl.flow dd li,
dl.news dd li {
/*--margin: 0 !important;
padding: 0 !important;--*/
}
dl.flow dd h3,
dl.news dd h3 {
margin: 0 0 0.5em 0;
}
dl.flow dt {

}
dl.flow dd {
margin-left: 12em;
}
dl.news dt {

}
dl.news dd {
margin-left: 9em;
margin-top: 0.3em;
}
@media all and (max-width: 640px) {
dl.flow dt, dl.news dt {
margin: 7px 3%;
padding: 0 !important;
line-height: 1.5;
border: none;
width: 94%;
float: none !important;
font-weight: bold;
}
dl.flow dd, dl.news dd {
margin-bottom: 16px;
padding: 0 !important;
border: none;
width: 94%;
float: none !important;
font-size: 0.9em;
margin: 0 3% 1em 3%;
}
}
/*-----------------------------------
Arrow
-----------------------------------*/
.arrow {
position: relative;
overflow: hidden;
width: 100%;
}
.arrow:after {
position: absolute;
top: 50%;
right: 16px;
display: block;
z-index: 111;
content: '';
width: 16px; /*arrow size*/
height: 16px; /*arrow size*/
margin-top: -8px;
border-top: 3px solid #a3a3a3; /*arrow color*/
border-right: 3px solid #a3a3a3; /*arrow color*/
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.arrow_under {
width: 30px;
height: 30px;
margin-left: auto;
margin-right: auto;
margin-bottom: 2em;
border: 5px solid;
border-color: transparent transparent #dcdcdc #dcdcdc;
transform: rotate(-45deg);
}
/*----------------------------------------
OL-UL
----------------------------------------*/
/*黒丸リスト*/
ul.dot {
list-style: none;
list-style-image: none;
padding: 0 0 0 0;
margin: 0 0 0 0;
}
ul.dot li {
font-size: 1em;
list-style: none;
line-height: 1.37;
margin: 0;
position: relative;
padding: 0 0 0.4em 1.3em;
}
ul.dot li::before {
display: block;
position: absolute;
top: 0.4em;
left: 0.2em;
content: " ";
width: 8px;
height: 8px;
/*line-height: 18px;*/
background-color: #1e50a2;
border-radius: 100%;
font-size: 0.9em;
}
ul.dot.reds li::before {
background-color: #fdeff2;
color: #fdeff2;
}
ul.dot.orange li::before {
background-color: #ff6600;
color: #ff6600;
}
ul.dot.reds li::before {
background-color: #dc143c;
color: #dc143c;
}
ul.dot.orange li::before {
background-color: #ff6600;
color: #ff6600;
}
/*ナンバーズ*/
ol.numbers {
list-style: none;
list-style-image: none;
counter-reset: li_count; /*Reset*/
}
ol.numbers li {
padding-left: 1.4em;
}
ol.numbers li:before {
counter-increment: li_count;
content: counter(li_count)".";
font-size: 1.12em;
font-weight: bolder;
padding-top: 6.5px;
border: none;
color: #333333 !important;
background: none;
}
@media all and (max-width: 640px) {
	.main ol.numbers li:before {
	font-size: 1.15em;
	padding-top: 3.5px;
	}
}
/*チェックマーク*/
ul.check {
list-style-type: none;
}
ul.check li {
position: relative;
line-height: 1.37;
padding: 0 0 0.4em 1.4em;
}
ul.check li:after, .main ul.check li:before {
position: absolute;
content: '';
display: block;
background: #da536e;
top: 0.21em;
left: 0.5em;
height: 13px;
width: 4px;
border-radius: 12px;
transform: rotate(45deg);
}
.main ul.check li:before {
top: 0.5em;
left: 0.2em;
height: 8px;
transform: rotate(-45deg);
}
/*----------------------------------------
Scroll-Table
----------------------------------------*/
.scroll-table {
max-width: 100%;
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
overflow-y: hidden;
border-top: 1px solid #dcdcdc;
border-right: 1px solid #dcdcdc;
border-left: 1px solid #dcdcdc;
margin: 0;
}
table.leftfix {
position: relative;
border: none;
font-size: 0.95em;
font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
color: #666666;
margin-top: 0;
}
.leftfix th {
white-space: nowrap;
border: none;
border-bottom: 1px solid #dcdcdc;
border-right: 1px solid #dcdcdc;
}
.leftfix td {
white-space: nowrap;
border: none;
border-bottom: 1px solid #dcdcdc;
border-right: 1px solid #dcdcdc;
}
.leftfix tbody th {
background-color: #fff1cf;
z-index: 2;
padding: 10px 16px;
color: #666666;
}
.leftfix tbody th {}
table.leftfix tr td {
background-color: #ffffff;
}
.leftfix tbody th:first-child {
position: sticky;
position: -webkit-sticky;
left: -1px;
top: 0;
z-index: 3;
}
.leftfix tbody td:first-child {
position: sticky;
position: -webkit-sticky;
background: #fffaf0;
color: #555555;
left: -1px;
top: 0;
z-index: 3;
}
.leftfix tbody th:last-child {
border-right: none;
}
.leftfix tbody td:last-child {
border-right: none;
}
/*----------------------------------------
Booking
----------------------------------------*/
.monthly-calendar {
width: 80%;
margin: 0 auto;
}	
.monthly-calendar table th {
border: 1px solid #dcdcdc;
background: #f1f1f1;
}
.monthly-calendar table td {
border: 1px solid #dcdcdc;
background: #ffffff;
}
.monthly-calendar table td.no-day {
background: #ffffff;
}
.day-calendar table {
border: none;
border-collapse: collapse !important;
border-spacing: 0 !important;
width: 80%;
margin: 0 auto;
}
.day-calendar table tr:first-child th {
background: #f1f1f1;
}
th.day-left {
border-radius: none !important;
border-radius: 0px !important;
border: 1px solid #dddddd;
}
th.day-right {
border-radius: none !important;
border-radius: 0px !important;
border: 1px solid #dddddd;
}
td.day-right {
border-radius: none !important;
border-radius: 0px !important;
border: 1px solid #dddddd;
}
dl.form,
#booking-confirm-fieldset dl {
width: 90%;
margin: 0 auto;
}
dl.form dt,
#booking-confirm-fieldset dl dt {
font-size: 1em;
font-weight: bold;
width: 9em;
float: left;
}
dl.form dd,
#booking-confirm-fieldset dl dd {
margin-left: 9em;
font-size: 1em;
min-width: 100px!important;
}
dl.form dd.mabo {
margin-bottom: 1em;
}
dl.form dd:before,
#booking-confirm-fieldset dl dd:before {
content: "_";
width: 0.1em;
color: #ffffff;
font-size: 0.1em;
}
fieldset {
border-top: none !important;
border-left: none !important;
border-right: none !important;
padding-bottom: 1em !important;
margin-bottom: 1em !important;
width: 100%;
}
fieldset h3 {
clear: both;
width: 100%;
}
legend {
font-size: 1.1em !important;
width: 100%;
}
#action-button button {
padding: 0.7em 2.5em!important;
border: 1px solid #dcdcdc!important;;
}
#action-button button:hover {
padding: 0.7em 2.5em!important;
border: 1px solid #3a3a3a!important;
background: #3a3a3a!important;
color: #ffffff!important;
}
@media (max-width: 640px) {
	.monthly-calendar {
	width: 98%;
	margin: 0 auto;	
	}
	dl.form {
	width: 98%;
	margin: 0 auto;
	}
	dl.form dt {
	float: none;
	width: 98%;
	margin: 0;
	}
	dl.form dd {
	margin: 0 0 1em 0;
	width: 98%;
	}
}
/*----------------------------------------
Booking Calendar
----------------------------------------*/
.widget h3 {
text-align: center;	
}

table.em-calendar  {
font-size: 16px;
}

@media (max-width: 640px) {
	table.em-calendar  {
	font-size: 14px;
	}	
}
table.em-calendar tbody th {
border: 1px solid #acacac;
padding: 0.8em 1em;
}
table.em-calendar tbody td {
border: 1px solid #acacac;
padding: 0.8em 1em;
}
table.em-calendar tbody .days-names td {
background: #eaeaea;
}
table.em-calendar tbody td.eventless-today,
table.em-calendar tbody td.eventfull-today {
background: #a0d8ef;
}

.event h3 {
font-weight: bold;
max-width: 340px;	
border-bottom: 1px solid #dcdcdc;
}
.event p {
font-size: 1em;
}
.event p strong {
font-size: 1.15em;
}
.em-booking-form label {
font-weight: bold;
display: inline-block;
min-width: 10em!important;
}
.em-booking-form input {

}
.em-booking-form .input-group lavel {
max-width: 340px;		
}
/*----------------------------------------
SNS-Share
----------------------------------------*/
.share {
margin-top: 32px;
}
#footer .share {
margin-top: 16px;
}
.share ul {
margin: 0;
padding: 0;
list-style: none;
text-align: center;
}
.share li {
display: inline-block;
line-height: 1;
padding: 7px 11px 5px 11px;
font-size: 32px;
}
.share li a {
text-decoration: none;
color: #00afcc;
}
.share li a:hover {
text-decoration: none;
color: #111111;
}
.share ul:after {
content: "";
display: block;
clear: both;
}
@media (max-width: 640px) {
  .share {
    margin-top: 0;
  }
  .share ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
  }
}

/*----------------------------------------
Text-Design
----------------------------------------*/
.allclear {
margin: 0;
padding: 0;
display: block;
clear: both;
line-height: 0;
}
br.mobile {
display: none;
}
hr.mobi-space {
display: none;
}
@media all and (max-width: 640px) {
	br.mobile {
	display: block;
	}
	hr.mobi-space {
	display: block;
	clear: both;
	border-bottom: 0;
	border-top: 1px solid #fff;
	border-right: 0;
	border-left: 0;
	margin: 36px 0;
	min-height: 0px;
	height: 1px;
	}
}
.meiryo {
font-family: "メイリオ", Meiryo, sans-serif;
}
.hiragino {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", sans-serif;
}
.yugothic {
font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
}
p.nomabo {
margin-bottom: 8px !important;
}
.right, .text-right {
text-align: right;
}
.left, .text-left {
text-align: left;
}
.center, .text-center {
text-align: center;
}
@media all and (max-width: 768px) {
	.m-center {
	text-align: center;
	}
}
/*-----------------------------------
Margin
-----------------------------------*/
.mato, .space-top {
margin-top: 1.5em;
}
.male2 {
margin-left: 2em;
}
.male3 {
margin-left: 3em;
}
.male4 {
margin-left: 4em;
}
.male5 {
margin-left: 5em;
}
.mabo, .space-bottom {
margin-bottom: 1.2em;
}
.matobo, .space-hight {
margin-top: 1.2em;
margin-bottom: 1.2em;
}
.allma {
margin: 0.5em !important;
}
.mato-reset, .matore {
margin-top: 0 !important;
}
.mabo-reset, .mabore {
margin-bottom: 0 !important;
}
th.nowrap, td.nowrap {
white-space: nowrap !important;
}
