@charset "utf-8";
#Co .pc {
display: none !important;
}

#Co .sp {
display: block !important;
}

#Co .sp.in {
display: none !important;
}

#Co .tb {
display: block !important;
}

.wide {
width: 100%;
}

/*------------------------------------------------------------------------*\

$header

\*------------------------------------------------------------------------*/

header {
display: block;
width: 100%;
border-bottom: solid 2px #147e7a;
background: rgba(255,255,255,1);
}

header #headerInner {
padding:0;
margin: 0;
}

header #headerInner #headerL {
box-sizing: border-box;
padding: 20px;
margin: 0;
width: 100%;
display: block;
position: static;
}

header #headerInner #headerL #logo {
width: 25%;
}

header #headerInner #headerR {
width: 0;
padding: 0;
margin: 0;
}

header nav.globalMenu {
position: fixed;
overflow-y: scroll;
z-index: 2;
top: 0;
left: 0;
color: #000;
text-align: left;
opacity: 0;
-webkit-transition: opacity .6s ease, visibility .6s ease;
transition: opacity .6s ease, visibility .6s ease;
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background: #FFF;
display: none;
}

header nav.globalMenu.active {
z-index: 30;
opacity: 100;
display: block;
}

header nav.globalMenu .logoBox {
width: 100%;
padding: 20px;
border-bottom: solid 2px #147e7a;
display: block !important;
}

header nav.globalMenu .logoBox p {
width: 25%;
}

header nav.globalMenu .globallist {
background: #FFF;
padding: 30px;
width: 100%;
text-align: left;
display: block;
}

header nav.globalMenu .globallist li {
text-align: left;
list-style-type: none;
padding: 0;
margin: 0;
width: 100%;
}

header nav.globalMenu .globallist li a {
text-align: left;
display: block;
padding: 1.5em 0rem 1.5em 3rem;
border-bottom: 1px dotted #dbdbdb;
}

header ul.globallist li a:before {
left: 10px;
}

header #headerInner #headerR nav li#btn_tel,
#headerInner #headerR nav li#btn_mail {
width: 80%;
margin: 0 auto;
}
header #headerInner #headerR nav li#btn_tel {
margin: 30px auto 10px auto;
}

#headerInner #headerR nav li.head_btn a {
color:  #FFFFFF !important;
font-size: 1.4rem !important;
border: none !important;
line-height: 1;
text-decoration: none;
position: relative;
background: #147e7a;
padding: 15px 10px;
width: 80%;
border-radius: 100px;
margin: 0 auto;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
text-align: center;
justify-content: center;
font-weight: 500;
display: flex;
cursor: pointer;
align-items: center;/* 縦位置の調整 */
}

#headerInner #headerR nav li#btn_tel a:before {
background-image: url(../images/ico_tel_02.png);
background-repeat: none;
top: 50%;
left: 10px;
}

#hamburger {
display: block;
position: fixed;
z-index: 3;
right: 10px;
top: 10px;
width: 50px;
height: 50px;
cursor: pointer;
text-align: center;
background: #147e7a;
border-radius: 4px;
z-index: 10001;
}

#hamburger .openbtn-area {
-webkit-transition: all .6s;
transition: all .6s;
/*アニメーションの設定*/
width: 50px;
height: 50px;
}

#hamburger .openbtn-area span {
display: inline-block;
-webkit-transition: all .4s;
transition: all .4s;
position: absolute;
left: 14px;
height: 3px;
border-radius: 2px;
background: #fff;
width: 45%;
}

#hamburger .openbtn-area span:nth-child(1) {
top: 15px;
}

#hamburger .openbtn-area span:nth-child(2) {
top: 23px;
}

#hamburger .openbtn-area span:nth-child(3) {
top: 31px;
}

#hamburger.active .openbtn-area {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}

#hamburger.active span:nth-child(1) {
top: 18px;
left: 13px;
-webkit-transform: translateY(6px) rotate(-45deg);
transform: translateY(6px) rotate(-45deg);
width: 50%;
}

#hamburger.active span:nth-of-type(2) {
opacity: 0;
}

#hamburger.active span:nth-of-type(3) {
top: 30px;
left: 13px;
-webkit-transform: translateY(-6px) rotate(45deg);
transform: translateY(-6px) rotate(45deg);
width: 50%;
}


/*------------------------------------------------------------------------*\

$main

\*------------------------------------------------------------------------*/


#main{
width: 100%;
min-height:100vh;
background-position:center center;
background-size: cover;
display: flex;
align-items: center;
justify-content: center;
position: relative;
box-sizing: border-box;
}

/*------------------------------------------------------------------------*\

$movieSection

\*------------------------------------------------------------------------*/

#movieSection {
height: 100%;
background-size: cover;
background-position: center right;
}

#movieSection .wideInner {
padding: 50px 30px;
}

#movieSection .wideInner .titleBox {
position: static;
transform: none;
}

#movieSection .wideInner h3 {
writing-mode: horizontal-tb;
font-size: 2.6rem;
margin: 0 0 90px 0;
padding: 0;
transform: none;
text-align: center;
color: #FFF;
}

#movieSection .wideInner h3 .ss {
color: #FFF !important;
}

#movieSection .wideInner .titleBox p {
writing-mode: horizontal-tb;
text-align: center;
font-size: 2rem;
position: static;
transform: none;
}

#movieSection #MovieBox {
width: 100%;
padding: 50px;
}

/*------------------------------------------------------------------------*\

$midokoroSection

\*------------------------------------------------------------------------*/


#midokoroSection .wideInner {
padding: 40px 20px;
}

#midokoroSection .midokoroBox {
margin-bottom: 50px;
}


#midokoroSection .midokoroBox:last-child {
margin-bottom: 0;
}

#midokoroSection .midokoroBox .textBox {
position: static;
transform: none;
width: 100% !important;
padding: 20px;
}

#midokoroSection .midokoroBox .textBox .title {
font-size: 1.8rem;
}

#midokoroSection .midokoroBox .textBox h4 {
font-size: 2.2rem;
letter-spacing: 0.3rem;
padding: 0;
margin: 0 0 20px 0;
line-height: 1.5 !important;
}

#midokoroSection .midokoroBox .textBox p {
font-size: 1.4rem;
}

#midokoroSection .midokoroBox .textBox .sub {
font-size: 1.4rem;
margin-bottom: 10px;
}

#midokoroSection .midokoroBox .textBox h5 {
display: none;
}




/*------------------------------------------------------------------------*\

$フッター固定

\*------------------------------------------------------------------------*/

.FixedMenu {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
padding: 15px 10px 10px 10px;
background: #fff;
z-index: 90000000000;
}

.FixedMenu .FixedMenu-Inner {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
}

.FixedMenu .FixedMenu-Inner a {
width: calc((100%) / 2);
font-size: 2.1rem;
height: 53px;
padding: 12px 10px 8px 10px;
text-decoration: none;
position: relative;
text-align: center;
font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

.FixedMenu .FixedMenu-Inner a:not(:first-child) {
margin-left: 1px;
}

.FixedMenu .FixedMenu-Inner a:nth-child(1) {
padding: 12px 10px 9px 10px;
background: #147e7a;
color: #fff;
line-height: 1.4;
}

.FixedMenu .FixedMenu-Inner a:nth-child(1):before {
content: '';
display: inline-block;
width: 18px;
height: 23px;
background-image: url(../images/ico_tel_02.png);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
margin-right: 8px;
}

.FixedMenu .FixedMenu-Inner a:nth-child(1) .time {
display: block;
margin: 0;
padding: 0;
font-size:1rem;
text-align: right;
line-height: 1;
}

.FixedMenu .FixedMenu-Inner a:nth-child(2) {
background: #e76c15;
color: #fff;
font-weight: 900;
font-size: 1.6rem;

}

.FixedMenu .FixedMenu-Inner a:nth-child(2):before {
content: '';
display: inline-block;
width: 18px;
height: 17px;
background-image: url(../images/ico_home.png);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
margin-right: 8px;
}


.campaignSection .campaignBox .deco_02 {
width: 10%;
}


/*------------------------------------------------------------------------*\

$タブレットのナビ

\*------------------------------------------------------------------------*/
#tbnavi {
position: fixed;
top: 0.8%;
right: 90px;
z-index: 999;
}
#tbnavi.active {
display: none !important;
}
#tbnavi ul {
display: flex;
width: 100%;
position: relative;
}

#tbnavi li#tb_btn_tel {
width: 250px;
margin-right: 15px;
margin-top: 5px;
}

#tbnavi li#tb_btn_tel a {
display: block;
line-height: 1;
text-decoration: none;
position: relative;
color: #000;
width: 100% !important;
text-align: center;
font-family: 'Gentium Plus', serif;
font-weight: 900;
font-size: 3.4rem;
padding-left: 24px	;
}

#tbnavi li#tb_btn_tel a:before {
content: '';
display: inline-block;
position: static;
border:none;
width: 18px;
height: 24px;
background-image: url(../images/ico_tel.png);
background-size: contain;
vertical-align: middle;
position: absolute;
top: 60%;
left: 0px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
margin: auto;
}

#tbnavi li#tb_btn_mail {
width: 200px;
}

#tbnavi li#tb_btn_mail a {
display: block;
line-height: 1;
text-decoration: none;
position: relative;
background: #e76c15;
border: 2px solid #e76c15;
color: #FFF;
line-height: 1;
font-weight: 900;
padding: 15px 0 12px 20px;
width: 100% !important;
text-align: center;
}

#tbnavi li#tb_btn_mail a:before {
content: '';
display: inline-block;
position: static;
border:none;
width: 20px;
height: 20px;
background-image: url(../images/ico_home.png);
background-size: contain;
vertical-align: middle;
position: absolute;
top: 50%;
left: 18px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
margin: auto;
}

#tbnavi li#tb_btn_tel a::after,
#tbnavi li#tb_btn_mail a::after {
content: none;
}

#tbnavi li#tb_btn_mail a:hover {
color: #e76c15;
border: 2px solid #e76c15;
background: #FFF;
}

#tbnavi li.tb_btn_mail a:hover:before {
content: '';
display: inline-block;
width: 20px;
height: 20px;
background-image: url(../images/ico_home_on.png);
background-size: contain;
vertical-align: middle;
position: absolute;
top: 50%;
left: 18px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
margin: auto;
}