@charset "utf-8";
body { letter-spacing: 1px; color: #333; font-size: 16px; line-height: 26px; background:#3fafcb; }
a { color: #33afcc; }
a.hov, input.hov, button.hov { transition: opacity .3s; }
a.hov:hover, input.hov:hover, button.hov:hover { opacity: .6; }
a { transition: opacity .3s; }
a:hover { transition:opacity:.8;
}
img { max-width: 100%; }
.sp { display: none; }
.wrap { width: 994px; margin-right: auto; margin-left: auto; padding-left: 10px; padding-right: 10px; }


img {  pointer-events: none; }
img {
-webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
  user-select:none;
}



@media only screen and (max-width:640px) {
.sp { display: block; }
body {
font-size:calc(100vw * 24/640); line-height: 1.6; }
img.sp { display: inline-block; }
img.sp + img { display: none; }
br.sp { display: inline; }
.wrap { width: auto !important; padding-left:calc(100vw * 30/640);
padding-right:calc(100vw * 30/640);
}
}
#header { width: 100%; position: fixed; top: 0; left: 0; z-index: 2; background: #33afcc; }
#header .inner { width: 100%; min-width: 1000px; height: 80px; position: absolute; top: 0; left: 0; z-index: +1; background: #33afcc; transition: .5s; }

@media only screen and (max-width:640px) {
#header .search, #header .contact { display: none; }
#header { left: 0; top: 0; }
}
#siteTitle { width: 160px; height: 160px; position: absolute; top: 0; left: 100px; transition: .3s; }
#gNav { float: right; padding-right: 30px/*130px*/; transition: .3s; }
#gNav ul { display: flex; font-size: 14px; }
#gNav a { display: block; padding: 5px 1em 0; border-bottom: 5px solid #33afcc; color: #fff; line-height: 70px; text-decoration: none; transition: .3s; }
#gNav a:hover { border-bottom-color: #f5ea5f; }
#gNav .on a { border-bottom-color: #f5ea5f; }
#gNav .contact, #gNav .search { display: none; }
#header .search, #header .contact { width: 120px; position: absolute; top: 0; background: #fff; transition: .3s; }
#header .search { right: 120px; }
#header .contact { right: 0px; }
#header .contact a { display: block; box-sizing: border-box; height: 80px; padding: 48px 0 0; background: #f5ea5f; color: #10214f; font-size: 12px; line-height: 1; text-align: center; text-decoration: none; transition: .3s; }
#header .search a { display: block; box-sizing: border-box; height: 80px; padding: 48px 0 0; background: #1c87a0; color: #fff; font-size: 12px; line-height: 1; text-align: center; text-decoration: none; transition: .3s; }
#header .search a::before, #header .contact a::before { position: absolute; top: 25px; left: 50%; font-family: Fontawesome; font-size: 16px; transform: translateX(-50%); }
#header .search a::before { content: "\f10a"; font-size: 20px; }
#header .contact a::before { content: "\f10a"; font-size: 20px; }
#header .tel { width: 280px; position: absolute; top: 0; right: 0; transition: .3s; }
#header .tel a { display: block; box-sizing: border-box; height: 80px; padding: 18px 0 0 82px; background: #33afcc url(../imgs/hdr-tel.png) 17px 50% no-repeat; color: #fff; line-height: 1; text-decoration: none; pointer-events: none; transition: .3s; }
#header .tel .label { display: block; font-size: 14px; }
#header .tel .number { display: block; margin: 8px 0 0; font-size: 22px; font-weight: bold; }
#btMenu { display: none; }
#searchBox { box-sizing: border-box; width: 100%; height: 80px; padding: 20px 0 0; position: absolute; top: 0; left: 0; background: #3e6188; transform: translateY(0); transition: .5s; }
#searchBox.active { transform: translateY(80px); }
#searchBox .input { box-sizing: border-box; width: 400px; height: 40px; margin: 0 auto; padding: 0 0 0 20px; position: relative; border-radius: 20px; background: #005032; }
#searchBox .input::before { content: "\f002"; display: block; width: 50px; height: 40px; position: absolute; top: 0; right: 0; background: #33afcc; border-radius: 0 20px 20px 0; color: #fff; font-family: Fontawesome; font-size: 16px; line-height: 40px; text-align: center; }
#searchBox input[type="text"] { display: block; box-sizing: border-box; width: 330px; height: 40px; margin: 0; border: none; padding: 0 5px; background: transparent; color: #fff; line-height: 40px; outline: none; }
#searchBox input[type="submit"] { display: block; box-sizing: border-box; width: 50px; height: 40px; position: absolute; top: 0; right: 0; opacity: 0; cursor: pointer; }
#header.small .inner { height: 60px; }
#header.small #siteTitle { width: 60px; height: 60px; left: 0; background: url(../imgs/hdr-logo_small.png) 0 0/contain no-repeat; }
#header.small #siteTitle img { width: 100%; opacity: 0; }
#header.small #gNav { padding-right: 60px; }
#header.small #gNav a { display: block; padding: 4px 17px 0; border-bottom-width: 4px; line-height: 52px; }
#header.small .search, #header.small .contact { width: 60px; }
#header.small .search { right: 60px; }
#header.small .contact { right: 0px; }
#header.small .search a, #header.small .contact a { height: 60px; }
#header.small .search a::before, #header.small .contact a::before { top: 50%; left: 50%; transform: translate(-50%, -50%); }
#header.small .search span, #header.small .contact span { display: none; }
#header.small .tel { width: 210px; }
#header.small .tel a { height: 60px; padding: 14px 0 0 62px; background-image: url(../imgs/hdr-tel_small.png); background-position: 11px 50%; }
#header.small .tel .label { font-size: 12px; }
#header.small .tel .number { margin: 2px 0 0; font-size: 18px; }
#header.small #searchBox { transform: translateY(-20px); }
#header.small #searchBox.active { transform: translateY(60px); }

@media only screen and (max-width:640px) {
#reserve.foot { display: none; }
#header .inner, #header.small .inner { min-width: 0; height:calc(100vw * 80/640);
}
#header .inner:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #3fafcb; }
#siteTitle, #header.small #siteTitle {
width:calc(100vw * 80/640);
height:calc(100vw * 80/640); left: 0; z-index: +1; background: url(../imgs/hdr-logo_sp.png) 0 0/contain no-repeat; }
#siteTitle img { opacity: 0; }
#gNav, #header.small #gNav { width: 100%; padding: 0; position: absolute; top: 100%; left: 0; background: #28879f; transform: translateY(-100%); transition: .5s; }
#gNav.active, #header.small #gNav.active { transform: translateY(0); }
#gNav ul { display: block; padding:calc(100vw * 50/640) calc(100vw * 30/640) calc(100vw * 60/640);
font-size:calc(100vw * 30/640);
}
#gNav li { border-bottom: 1px solid #fff; }
#gNav li:first-child { border-top: 1px solid #fff; }
#gNav a, #header.small #gNav a {
padding:0 calc(100vw * 30/640); border-bottom: none; position: relative; line-height:calc(100vw * 90/640);
font-size:calc(100vw * 23/640);
}
#gNav a::after { content: "\f054"; position: absolute; top: 50%; right:calc(100vw * 20/640);
font-family: Fontawesome; transform: translateY(-50%); }
#header #gNav .contact { display: block; width: auto; margin:calc(100vw * -25/640) 0 0;
padding:0 calc(100vw * 30/640) calc(100vw * 30/640);
position: static; background: transparent; overflow: auto; }
#header #gNav .contact a { height: auto; padding:0 calc(100vw * 30/640);
background: #005032; font-size:calc(100vw * 30/640);
line-height:calc(100vw * 100/640);
text-align: left; }
#header #gNav .contact a::before { top: 50%; right:calc(100vw * 30/640);
left: auto; font-size: inherit; transform: translateY(-50%); }
#header #gNav .contact a::after { content: none; }
#header #gNav .search { display: block; width: auto; margin:calc(100vw * 50/640) 0 0;
padding:calc(100vw * 30/640);
position: static; background: #31385e; }
#header #gNav .search .input { position: relative; }
#header #gNav .search .input::before { content: "\f002"; display: block; width:calc(100vw * 80/640);
height:calc(100vw * 100/640);
position: absolute; top: 0; right: 0; color: #fff; font-family: Fontawesome; font-size:calc(100vw * 40/640);
line-height:calc(100vw * 100/640);
text-align: center; }
#header #gNav .search input[type="text"] { display: block; box-sizing: border-box; width:calc(100vw * 500/640);
height:calc(100vw * 100/640);
margin: 0; border: none; padding: 0 5px; background: #fff; border-radius:calc(100vw * 10/640);
color: #333; font-size: 16px; line-height:calc(100vw * 100/640);
-webkit-appearance: none; appearance: none; outline: none; }
#header #gNav .search input[type="submit"] { display: block; box-sizing: border-box; width:calc(100vw * 80/640);
height:calc(100vw * 100/640);
position: absolute; top: 0; right: 0; opacity: 0; cursor: pointer; }
#header #gNav .contact { display: block; width: auto; margin:calc(100vw * -25/640) 0 0;
padding:0 calc(100vw * 30/640);
position: static; background: transparent; }
#header .tel, #header.small .tel {
width:calc(100vw * 280/640);
right:calc(100vw * 80/640); z-index: +1; }
#header .tel a, #header.small .tel a {
height:calc(100vw * 80/640);
padding:calc(100vw * 16/640) 0 0 calc(100vw * 80/640); background-image: url(../imgs/hdr-tel.png); background-position:calc(100vw * 20/640) 50%;
background-size:calc(100vw * 50/640);
pointer-events: auto; }
#header .tel .label, #header.small .tel .label { font-size:calc(100vw * 16/640);
}
#header .tel .number, #header.small .tel .number { margin:calc(100vw * 10/640) 0 0;
font-size:calc(100vw * 22/640);
}
#btMenu { display: block; width:calc(100vw * 80/640);
height:calc(100vw * 80/640);
position: absolute; top: 0; right: 0; z-index: +1; background: url(../imgs/hdr-menu.png) 0 0/contain no-repeat; }
#btMenu.active { background-image: url(../imgs/hdr-close.png); }
#searchBox { display: none; }
}
#main { padding: 80px 0 0; background: #fff; transition: padding .3s; background: #33afcc; }
#main article { background: #f9f9ff; overflow: hidden; }
#header.small ~ #main { padding-top: 60px; }
#pageHeader { height: 285px; position: relative; color: #888888; line-height: 1; font-weight: bold; }
#bar #pageTitle { padding: 100px 0 0px; }
#pageTitle { padding: 70px 0 30px; position: relative; text-align: center; }
#pageTitle .en { padding-top: 90px; background: url(../imgs/logo-ttl.png) no-repeat center top; color: #085032; display: block; font-size: 28px; margin-bottom: 10px; }
background:url(../imgs/logo-ttl.png) no-repeat center top;
}
#pageTitle .ja { display: block; margin: 10px 0 0; font-size: 15px; }
#breadCrumb { position: absolute; left: 20px; bottom: 16px; font-size: 12px; }
#breadCrumb li { display: inline-block; }
#breadCrumb li::after { content: "\f054"; margin: 0 0 0 .5em; font-family: Fontawesome; font-weight: normal; }
#breadCrumb li:last-child::after { content: none; }
#breadCrumb a { color: #888888; }

@media only screen and (max-width:640px) {
#other section + section { }
#other #mainContents .menu03 { margin-bottom: 0 !important; }
#main, #header.small ~ #main { box-sizing: border-box; min-height:calc(100vh - 100vw * 80/640);
padding:calc(100vw * 80/640) 0 0;
}
#pageHeader {
height:calc(100vw * 300/640); background-image: url(../imgs/bg-pageTitle_sp.jpg); }
#pageHeader::before { content: none; }
#pageTitle { padding:calc(100vw * 40/640) 0;
}
#pageTitle .en { font-size:calc(100vw * 38/640);
}
#pageTitle .ja { margin:calc(100vw * 10/640) 0 0;
font-size:calc(100vw * 18/640);
}
#breadCrumb { display: none; }
}
.ttl01 { margin: 70px 0 20px; border-bottom: 1px solid #e6d7b2; padding: 0 0 28px 34px; position: relative; font-size: 32px; font-weight: bold; line-height: 48px; }
.ttl01::before { content: ''; display: block; width: 4px; height: 40px; position: absolute; top: 4px; left: 0; background: #33afcc; }
.ttl02 { border-bottom: 2px solid #333; padding: 0 0 10px; font-size: 20px; font-weight: bold; line-height: 1.5; }
.ttl02 + p { margin: 25px 0 0; }

@media only screen and (max-width:640px) {
.ttl01 { margin:calc(100vw * 46/640) 0 calc(100vw * 28/640);
padding:0 0 calc(100vw * 28/640) calc(100vw * 34/640);
font-size:calc(100vw * 32/640);
line-height:calc(100vw * 48/640);
}
.ttl01::before { width:calc(100vw * 4/640);
height:calc(100vw * 40/640);
top:calc(100vw * 4/640);
}
.ttl02 { padding:0 0 calc(100vw * 5/640);
font-size:calc(100vw * 28/640);
}
.ttl02 + p { margin:calc(100vw * 25/640) 0 0;
}
}
.more a { display: block; box-sizing: border-box; width: 200px; height: 40px; margin: 0 auto; border: 1px solid; position: relative; border-radius: 20px; font-size: 14px; font-weight: bold; line-height: 38px; text-align: center; text-decoration: none; transition: .3s; }
.more a::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }

@media only screen and (max-width:640px) {
.more a { width:calc(120vw * 270/640);
height:calc(100vw * 60/640);
border-radius:calc(100vw * 30/640);
font-size:calc(100vw * 21/640);
line-height:calc(100vw * 60/640 - 2px);
}
.more a::after { right:calc(100vw * 30/640);
}
}
#mainContentsWrapper { position: relative; }
#mainContentsWrapper::before { content: ''; display: block; width: calc(50% - 497px + 256px); min-width: 266px; position: absolute; top: 0; bottom: 0; left: 0; background: #efeff8; }
#mainContentsWrapper .wrap { display: flex; position: relative; }

@media only screen and (max-width:640px) {
#mainContentsWrapper::before { content: none; }
#mainContentsWrapper .wrap { flex-direction: column-reverse; }
}
#sNav { width: 256px; }
#sNav a { display: block; border-bottom: 1px solid #cbd9ec; padding: 20px 20px 20px 30px; position: relative; color: #005032; font-size: 13px; line-height: 19px; text-decoration: none; transition: .3s; }
#sNav dt a, #sNav dt a:hover { display: block; border-bottom-color: #005032; padding: 27px 30px; background: #005032; color: #fff; }
#sNav a::after { content: "\f105"; position: absolute; top: 50%; right: 14px; font-family: Fontawesome; transform: translateY(-50%); }
#sNav a:hover, #sNav a.active { border-bottom-color: #0c67a2; background: #33afcc; color: #fff; }

@media only screen and (max-width:640px) {
#sNav { width: 100vw; margin:0 calc(100vw * -30/640);
margin-bottom:calc(100vw * 60/640);
}
#sNav a { font-size:calc(100vw * 24/640);
line-height:calc(100vw * 35/640);
}
#sNav dt a, #sNav dt a:hover { padding:calc(100vw * 32/640) calc(100vw * 30/640);
}
#sNav .select:after, #sNav a::after {
right:calc(100vw * 30/640);
font-size:calc(100vw * 30/640); transform-origin: center; }
#sNav dd a { border-bottom-width: 1px; padding:calc(100vw * 22/640) calc(100vw * 30/640);
line-height:calc(100vw * 35/640);
}
#sNav h4 {
padding-left:calc(100vw * 70/640) !important; background: url(../imgs/logo-ttl.png) no-repeat 20px center !important; background-size: 24px !important; }
#sNav select { font-size:calc(100vw * 24/640) !important;
}
}
#mainContents { box-sizing: border-box; width: calc(100% - 256px); padding: 74px 0 70px 53px; }
body.index #mainContents { width: auto; padding: 75px 0 90px; }

@media only screen and (max-width:640px) {
#mainContents, body.index #mainContents { width: auto; padding:calc(100vw * 60/640) 0;
}
}
#mainContents section + section { margin: 45px 0 0; }
.headline-3 { border-bottom: 2px solid #ccc; padding: 0 0 32px 32px; position: relative; font-size: 32px; font-weight: bold; line-height: 40px; }
.headline-3::before { content: ''; display: block; width: 4px; position: absolute; top: 0; bottom: 32px; left: 0; background: #33afcc; }
#mainContents p { margin: 25px 0 0; }
.headline-4 { margin: 25px 0 0; border-bottom: 2px solid #333; padding: 0 0 10px; font-size: 22px; line-height: 30px; }
.headline-5 { margin: 25px 0 0; font-weight: bold; position: relative; }
.headline-5 span { display: inline-block; padding: 0 20px 0 0; position: relative; background: #f9f9ff; }
.headline-5::before { content: ''; display: block; width: 100%; height: 2px; position: absolute; top: 12px; left: 0; background: #ccc; }
.headline-5_2 { margin: 25px 0 0; font-weight: bold; }
.headline-ex { margin: 25px 0 0; font-size: 19px; font-weight: bold; line-height: 29px; }

@media only screen and (max-width:640px) {
#mainContents section + section { margin:calc(100vw * 50/640) 0 0;
}
.headline-3 { border-bottom-width: 1px; padding:0 0 calc(100vw * 32/640) calc(100vw * 32/640);
font-size:calc(100vw * 32/640);
line-height:calc(100vw * 40/640);
}
.headline-3::before { width: 2px; bottom:calc(100vw * 32/640);
}
#mainContents p { margin:calc(100vw * 25/640) 0 0;
}
.headline-4 {
margin:calc(100vw * 25/640) 0 0; border-bottom-width: 1px; padding:0 0 calc(100vw * 10/640);
font-size:calc(100vw * 28/640);
line-height:calc(100vw * 36/640);
}
.headline-5 { margin:calc(100vw * 25/640) 0 0;
}
.headline-5 span { padding:0 calc(100vw * 20/640) 0 0;
}
.headline-5::before { height: 1px; top:calc(100vw * 18/640);
}
.headline-5_2 { margin:calc(100vw * 25/640) 0 0;
}
.headline-ex { margin:calc(100vw * 25/640) 0 0;
font-size:calc(100vw * 28/640);
line-height:calc(100vw * 36/640);
}
}
#mainContents .list { border-left: 2px solid #ccc; padding: 6px 0 6px 25px; font-size: 14px }
#mainContents .list li { padding-left: 1em; text-indent: -1em; }
#mainContents .list li::before { content: '・'; }

@media only screen and (max-width:640px) {
#mainContents .list { padding:calc(100vw * 3/640) 0 calc(100vw * 3/640) calc(100vw * 24/640);
font-size:calc(100vw * 24/640);
line-height:calc(100vw * 34/640);
}
}
a.button { display: block; width: 188px; padding: 22px 0; position: relative; background: #33afcc; border-radius: 4px; color: #fff; font-weight: bold; text-align: center; text-decoration: none; }
a.button::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
.group-2button { display: flex; justify-content: space-between; }
.group-2button a.button { width: 330px; }

@media only screen and (max-width:640px) {
a.button { width: auto; padding:calc(100vw * 31/640) 0;
border-radius:calc(100vw * 8/640);
}
a.button::after { right:calc(100vw * 20/640);
}
.group-2button { display: block; }
.group-2button a.button { width: auto; }
.group-2button a.button + a.button { margin:calc(100vw * 25/640) 0 0;
}
}
a.link-1 { font-weight: bold; }
a.link-2 { display: inline-block; font-weight: bold; }
a.link-2::before { content: "\f105"; display: inline-block; width: 24px; margin: 0 10px 0 0; background: #33afcc; border-radius: 50%; color: #fff; font-family: Fontawesome; font-weight: normal; line-height: 24px; vertical-align: middle; text-align: center; }
a.link-more { display: inline-block; box-sizing: border-box; width: 180px; height: 40px; border: 1px solid #ccc; position: relative; border-radius: 20px; color: #333; font-size: 14px; font-weight: bold; line-height: 38px; text-align: center; text-decoration: none; transition: .3s; }
a.link-more::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
a.link-more:hover { border-color: #33afcc; background: #33afcc; color: #fff; }

@media only screen and (max-width:640px) {
a.link-2::before { width:calc(100vw * 24/640);
margin:0 calc(100vw * 15/640) 0 0;
line-height:calc(100vw * 24/640);
}
a.link-more { width:calc(100vw * 270/640);
height:calc(100vw * 60/640);
border-radius:calc(100vw * 30/640);
font-size:calc(100vw * 18/640);
line-height:calc(100vw * 60/640 - 2px);
}
a.link-more::after { right:calc(100vw * 30/640);
}
}
.note { font-size: 12px; line-height: 1.5; }
.note li { padding-left: 1em; text-indent: -1em; }
.note li::before { content: '※'; }

@media only screen and (max-width:640px) {
.note { font-size:calc(100vw * 18/640);
}
}
.table-01, .table-02 { box-sizing: border-box; width: 100%; border-top: 1px solid #e6d7b2; border-left: 1px solid #e6d7b2; }
.table-01 th, .table-01 td, .table-02 th, .table-02 td { border-right: 1px solid #e6d7b2; border-bottom: 1px solid #e6d7b2; padding: 16px 10px; color: #33afcc; text-align: center; vertical-align: middle; }
.table-01 th, .table-02 th { font-weight: bold; background: #efeff8; }
.table-01 td, .table-02 td { background: #fff; }
.table-03 { width: 100%; }
.table-03 th, .table-03 td { padding: 29px 14px; font-size: 14px; list-style: 22px; vertical-align: middle; }
.table-03 th { font-weight: bold; white-space: nowrap; }
.table-03 tr:nth-child(even) th, .table-03 tr:nth-child(even) td { background: #efeff8; }
.table-04 { width: 100%; }
.table-04 th, .table-04 td { border-bottom: 1px dotted #33afcc; color: #33afcc; font-size: 14px; list-style: 22px; vertical-align: middle; word-break: break-all; }
.table-04 th { padding: 27px 40px 27px 30px; position: relative; font-weight: bold; white-space: nowrap; }
.table-04 th::after { content: ''; display: block; width: 1px; position: absolute; top: 24px; right: 0; bottom: 24px; background: #33afcc; }
.table-04 td { padding: 27px 15px 27px 25px; }
.table-04 tr:first-child th, .table-04 tr:first-child td { border-top: 1px dotted #33afcc; }

@media only screen and (max-width:640px) {
.table-01 th, .table-01 td {
padding:calc(100vw * 24/640) 10px;
font-size:calc(100vw * 20/640); line-height: 1.5; }
.table-02 th, .table-02 td { padding:calc(100vw * 12/640) 10px;
font-size:calc(100vw * 16/640);
}
.table-03 th, .table-03 td {
padding:calc(100vw * 25/640) calc(100vw * 30/640);
font-size:calc(100vw * 20/640); list-style: 1.5; vertical-align: middle; }
.table-04 th, .table-04 td {
font-size:calc(100vw * 20/640); list-style: 1.5; }
.table-04 th { padding:calc(100vw * 30/640) calc(100vw * 30/640) calc(100vw * 30/640) calc(100vw * 20/640);
}
.table-04 th::after { top:calc(100vw * 40/640);
bottom:calc(100vw * 40/640);
}
.table-04 td { padding:calc(100vw * 30/640) calc(100vw * 20/640) calc(100vw * 30/640) calc(100vw * 30/640);
}
}
hr { display: block; width: 100%; height: 1px; border: none; background: #ccc; }
#mainContents table, #mainContents .list, #mainContents .note, .colGroup { margin: 30px 0 0; }

@media only screen and (max-width:640px) {
hr { background: #e6d7b2; }
#mainContents table, #mainContents .list, #mainContents .note, .colGroup { margin:calc(100vw * 30/640) 0 0;
}
}
.col2-image-text_1 .row, .col2-image-text_2 .row, .col3 .row, .col2 .row, .col4 .row { display: flex; justify-content: space-between; }
.col2-image-text_1 .row + .row, .col2-image-text_2 .row + .row { margin: 30px 0 0; }
.col2-image-text_1 .row:nth-child(even) { flex-direction: row-reverse; }
.col2-image-text_1 .image { width: 309px; }
.col2-image-text_1 .text { width: 340px; }
#mainContents .col2-image-text_1 .text p, #mainContents .col2-image-text_2 .text p { margin: 0; }
.col2-image-text_2 .image { width: 170px; }
.col2-image-text_2 .text { width: 479px; }
.col3 .col { width: 210px; }
.col2 .col { width: 330px; }
.col3 .text, .col2 .text { margin: 10px 0 0; }
#mainContents .col3 .text p, #mainContents .col2 .text p { margin: 0; font-size: 14px; line-height: 20px; }

@media only screen and (max-width:640px) {
.col2-image-text_1 .row, .col2-image-text_2 .row, .col3 .row, .col2 .row { display: block; }
.col2-image-text_1 .row + .row, .col2-image-text_2 .row + .row { margin:calc(100vw * 30/640) 0 0;
}
.col2-image-text_1 .image, .col2-image-text_2 .image { width: auto; }
.col2-image-text_1 .text, .col2-image-text_2 .text { width: auto; margin:calc(100vw * 20/640) 0 0;
}
.col3 .col, .col2 .col { width: auto; }
.col3 .col + .col, .col2 .col + .col { margin:calc(100vw * 20/640) 0 0;
}
.col3 .text, .col2 .text { margin:calc(100vw * 15/640) 0 0;
}
#mainContents .col3 .text p, #mainContents .col2 .text p {
font-size:calc(100vw * 24/640); line-height: 1.6; }
}
#mainContents .menu01 .wrap { display: flex; justify-content: space-between; }
#mainContents .menu01 .wrap > dl { width:calc(100% * 310/994);
}
#mainContents .menu01 .wrap > dl > dt { margin: 0 0 30px; border-bottom: 2px solid #333; padding: 64px 0 14px; font-size: 18px; font-weight: bold; line-height: 1; text-align: center; }
#mainContents .menu01 .wrap > dl > dd { margin: 10px 0 0; font-size: 14px; line-height: 20px; }
#mainContents .menu01 .wrap > dl > dd.important { margin-top: 15px; border: 1px solid #e6d7b2; padding: 9px 0; }
#mainContents .menu01 a { display: inline-block; padding: 0 0 0 1em; text-decoration: none; text-indent: -1em; }
#mainContents .menu01 a::before { content: '・'; }

@media only screen and (max-width:640px) {
#mainContents .menu01 .wrap { display: block; }
#mainContents .menu01 .wrap > dl { width: auto; }
#mainContents .menu01 .wrap > dl + dl { width: auto; margin:calc(100vw * 30/640) 0 0;
}
#mainContents .menu01 .wrap > dl > dt { margin:0 0 calc(100vw * 20/640);
font-size:calc(100vw * 24/640);
}
#mainContents .menu01 .wrap > dl > dd {
margin:calc(100vw * 10/640) 0 0; font-size: inherit; line-height: inherit; }
#mainContents .menu01 .wrap > dl > dd.important { margin-top:calc(100vw * 15/640);
padding:calc(100vw * 10/640) 0;
}
}
#other #mainContents .menu02 .description .text span { display: block; }
#mainContents .news { margin: 70px 0 0; }
#mainContents .news .title { font-size: 18px; font-weight: bold; line-height: 1; }
#mainContents .news dl { display: flex; margin: 30px 0 0; border-bottom: 1px solid #e6d7b2; flex-wrap: wrap; }
#mainContents .news dt, #mainContents .news dd { border-top: 1px solid #e6d7b2; padding: 15px 0; color: #33afcc; font-size: 14px; line-height: 20px; }
#mainContents .news dt { width: 140px; padding-left: 45px; font-weight: bold; }
#mainContents .news dd { width: calc(100% - 185px); }

@media only screen and (max-width:640px) {
#mainContents .news { margin:calc(100vw * 50/640) 0;
}
#mainContents .news .title { font-size:calc(100vw * 24/640);
}
#mainContents .news dl { display: block; margin:calc(100vw * 20/640) 0 0;
}
#mainContents .news dt, #mainContents .news dd { width: auto; font-size:calc(100vw * 24/640);
line-height:calc(100vw * 36/640);
}
#mainContents .news dt { font-weight: bold; padding:calc(100vw * 30/640) 0 0;
}
#mainContents .news dd { border-top: none; padding:0 0 calc(100vw * 30/640);
}
}
#mainContents .banner { background: #e3ecf7; padding: 55px 0; position: relative; }
#mainContents .banner .wrap { width: 1200px; }
#mainContents .banner .bx-prev, #mainContents .banner .bx-next { display: block; width: 40px; height: 40px; position: absolute; top: 50%; background: #fff; line-height: 40px; text-align: center; transform: translateY(-50%); text-decoration: none; }
#mainContents .banner .bx-prev { left: 0; }
#mainContents .banner .bx-next { right: 0; }
#mainContents .banner .bx-prev::after, #mainContents .banner .bx-next::after { color: #33afcc; font-family: Fontawesome; font-size: 12px; }
#mainContents .banner .bx-prev::after { content: "\f053"; }
#mainContents .banner .bx-next::after { content: "\f054"; }

@media only screen and (max-width:640px) {
#mainContents .banner { padding:calc(100vw * 50/640) 0;
}
.common #bar { padding: 0; }
#mainContents .banner .wrap { width: auto; }
#mainContents .banner .bx-prev, #mainContents .banner .bx-next { display: block; width: 40px; height: 40px; position: absolute; top: 50%; background: #fff; line-height: 40px; text-align: center; transform: translateY(-50%); text-decoration: none; }
}
#mainContents .menu02 { margin: 70px 0 0; }
#mainContents .menu02 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#mainContents .menu02 ul { display: flex; justify-content: space-between; }
#mainContents .menu02 li {
width:calc(100% * 515/1066); background: #fff; text-align: center; }
#mainContents .menu02 .ttl a { display: block; position: relative; }
#mainContents .menu02 .ttl .text { display: block; width: 100%; padding: 7px 0 0; position: absolute; top: 50%; left: 0; color: #fff; font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
#mainContents .menu02 .ttl .text span { display: block; }
#mainContents .menu02 .description { padding: 35px 0 45px; position: relative; }
#mainContents .menu02 .description .text { color: #103655; }
#mainContents .menu02 .description .text span { display: inline-block; vertical-align: middle; }
#mainContents .menu02 .more { margin: 15px; }
#mainContents .menu02 .more a { border-color: #ccc; color: #333; }
#mainContents .menu02 .more a:hover { border-color: #33afcc; background: #33afcc; color: #fff; }

@media only screen and (max-width:640px) {
#mainContents .menu02 { margin:calc(100vw * 35/640) 0 0;
}
#mainContents .menu02 .wrap { min-width: 0; }
#mainContents .menu02 ul { display: block; }
#other .menu02.onecal dl { display: block !important; }
#other .menu02.onecal dd, #other .menu02.onecal dt { width: 100% !important; text-align: center; }
#mainContents .menu02 li + li { margin:calc(100vw * 30/640) 0 0;
}
#mainContents section + section { margin: 0 !important; }
#mainContents .menu03.firststart ul li { margin: 0 !important; }
#mainContents .menu02 .ttl .text { font-size:calc(100vw * 24/640);
line-height:calc(100vw * 44/640);
}
#mainContents .menu02 .description {
padding:calc(100vw * 55/640) 0; position: relative; }
#mainContents .menu02 .description .text::before { content: none; }
#mainContents .menu02 .more { margin:calc(100vw * 40/640) 0 0;
}
}
#mainContents .menu03 { margin: 35px 0 0; }
#mainContents .menu03 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#mainContents .menu03 ul { display: flex; justify-content: space-between; }
#mainContents .menu03 li {
width:calc(100% * 330/1066); background: #fff; }
#mainContents .menu03 a { display: block; color: #103655; text-decoration: none; }
#mainContents .menu03 .text { padding: 30px 30px 50px; font-size: 14px; }
#mainContents .menu03 .label { margin: 0 0 5px; font-weight: bold; }

@media only screen and (max-width:640px) {
#mainContents .menu03 { margin:calc(100vw * 35/640) 0 0;
padding:calc(100vw * 30/640) 0 calc(100vw * 35/640);
}
#mainContents .menu03 .wrap { min-width: 0; }
#mainContents .menu03 ul { display: block; }
#mainContents .menu03 li { width: auto; }
#mainContents .menu03 li + li { margin:calc(100vw * 30/640) 0 0;
}
#mainContents .menu03 .image img { width: 100%; }
#mainContents .menu03 .text { padding:calc(100vw * 40/640) calc(100vw * 35/640);
font-size:calc(100vw * 24/640);
line-height:calc(100vw * 36/640);
}
#mainContents .menu03 .label { margin:0 0 calc(100vw * 10/640);
}
}
#ftrContact { padding: 60px 0; background: url(../imgs/bg-ftrContact.jpg) no-repeat center center; background-size: cover; color: #fff; }
#ftrContact .wrap { display: flex; width: auto; max-width: 900px; min-width: 800px; align-items: flex-start; justify-content: space-between; }
#ftrContact .text { width: 100%; font-size: 14px; line-height: 24px; }
#ftrContact .text .label { margin: 0 auto; font-size: 24px; font-weight: bold; line-height: 2em; text-align: center; }
#ftrContact .contact { width: 209px; margin: 0 0 0 36px; }
#ftrContact .tel { width: 400px; margin: 12px 0 0 36px; }
#ftrContact .contact { background: #f5ea5f; border-radius: 100px; }
#ftrContact .contact a { display: block; padding: 13px 0; position: relative; font-size: 15px; text-align: center; text-decoration: none; color: #10214f; }
#ftrContact .contact a::after { content: "\f054"; position: absolute; top: 50%; right: 27px; font-weight: bold; font-family: Fontawesome; transform: translateY(-50%); }
#ftrContact .tel a { display: block; box-sizing: border-box; height: 72px; color: #fff; line-height: 1; text-decoration: none; pointer-events: none; }
#ftrContact .tel .label { display: block; font-size: 14px; }
#ftrContact .tel .number { display: block; margin: 5px 0 0; font-size: 26px; font-weight: bold; }

@media only screen and (max-width:640px) {
#ftrContact { padding:calc(100vw * 60/640) 0 calc(100vw * 65/640);
}
#ftrContact .wrap { display: block; min-width: 0; }
#ftrContact .text { width: auto; font-size:calc(100vw * 20/640);
line-height:calc(100vw * 32/640);
text-align: center; }
#ftrContact .text .label { margin:0 0 calc(100vw * 20/640);
font-size:calc(100vw * 24/640);
}
#ftrContact .contact, #ftrContact .tel { width: auto; }
#ftrContact .contact { width:calc(100vw * 434/640);
margin:calc(100vw * 35/640) auto 0;
border-radius:calc(100vw * 5/640);
}
#ftrContact .contact a { padding: 0; font-size:calc(100vw * 24/640);
line-height:calc(100vw * 100/640);
}
#ftrContact .contact a::before { left:calc(100vw * 40/640);
}
#ftrContact .tel { width:calc(100vw * 434/640);
margin:calc(100vw * 40/640) auto 0;
}
#ftrContact .tel a { display: block; height: auto; pointer-events: auto; }
#ftrContact .tel .label { font-size:calc(100vw * 18/640);
}
#ftrContact .tel .number { margin:calc(100vw * 10/640) 0 0;
font-size:calc(100vw * 36/640);
}
}
#ftrBanner { display: none; padding: 50px 0; }
#top #ftrBanner { display: block; }
#ftrBanner .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#ftrBanner .list { display: flex; justify-content: space-between; }
#ftrBanner .list li { width:calc(100% * 273/1200);
}
#ftrBanner .pager { display: none; }
.dispPc { display: block; }
.dispSp { display: none; }

@media only screen and (max-width:640px) {
.dispPc { display: none; }
.dispSp { display: block; }
.dispSp a { display: block; margin: 0 auto !important; }
.dispSp a img { margin: 0 auto; display: block; }
img.dispSp { margin-bottom: 2em !important; }
#ftrSiteMap .text.info { }
}

@media only screen and (max-width:640px) {
#ftrSiteMap .text dl { padding-left: 0 !important; margin-bottom: 0 !important; }
#ftrSiteMap .text.info { text-align: center; }
#ftrSiteMap .text.info img { }
#top #about.colRight { margin: 0 !important; min-width: auto !important; }
#age { padding: 30px 0 !important; }
#ftrSiteMap .text.info { width: auto !important; }
#ftrBanner { padding:calc(100vw * 50/640) 0;
}
#ftrSiteMap .text dd { margin: 5px auto 0; }
#ftrBanner .wrap { min-width: 0; position: relative; }
#ftrBanner .inner { overflow: hidden; }
#ftrBanner .list {
width:calc(100vw * 1228/640); justify-content: flex-start; transform: translateX(0); transition: .5s; }
#ftrBanner .list li { width:calc(100vw * 273/640);
margin:0 calc(100vw * 34/640) 0 0;
}
#ftrBanner .pager { display: block; }
#ftrBanner .pager li {
width:calc(100vw * 30/640);
height:calc(100vw * 30/640); position: absolute; top: 50%; background: #bfbfbf; line-height:calc(100vw * 30/640);
text-align: center; transform: translateY(-50%); }
#ftrBanner .pager .prev { left: 0; }
#ftrBanner .pager .next { right: 0; }
#ftrBanner .pager li::after { color: #fff; font-family: Fontawesome; font-size:calc(100vw * 24/640);
}
#ftrBanner .pager .prev::after { content: "\f104"; }
#ftrBanner .pager .next::after { content: "\f105"; }
}
#ftrSiteMap { padding: 35px 0 35px; background: #33afcc; color: #fff; overflow: hidden; }
#ftrSiteMap .wrap { display: flex; width: auto; max-width: 1200px; min-width: 1000px; justify-content: space-between; }
#ftrSiteMap .wrap > dl, #ftrSiteMap .text { width:calc(100% * 170/1200);
}
#ftrSiteMap .inr { display: flex; justify-content: space-between; }
#ftrSiteMap .inr { width:calc(100% * 340/1200);
}
#ftrSiteMap .text.info {
width:calc(100% * 400/1200); margin-right: auto; }
#ftrSiteMap ul { width:calc(100% * 180/1200);
}
#ftrSiteMap .wrap > dl, #ftrSiteMap ul { font-size: 14px; line-height: 24px; }
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { padding: 0 0 2px 1em; text-indent: -1em; }
#ftrSiteMap .wrap > dl dt::before, #ftrSiteMap li::before { content: '・'; }
#ftrSiteMap li.on::before { content: '・'; color: #c8a25e; }
#ftrSiteMap .wrap > dl dd { padding: 0 0 0 25px; }
#ftrSiteMap a { color: #fff; text-decoration: none; white-space: nowrap; }
#ftrSiteMap .text dl { display: flex; margin: 0; padding: 10px 0 0; font-size: 14px; line-height: 20px; }
#ftrSiteMap .text dt { width: 55px; }
#ftrSiteMap .text .contact { max-width: 229px; margin: 0px 10px 10px 0px; }
#ftrSiteMap .text .contact a { display: block; border: 1px solid #fff; border-radius: 2px; padding: 9px 5px; font-size: 13px; line-height: 20px; text-align: center; }
#ftrSiteMap li.on a { color: #c8a25e; text-decoration: underline; }

@media only screen and (max-width:640px) {
#ftrSiteMap .text.info { display: block; margin: 0 auto; }
#ftrSiteMap { padding: 0 0 40px 0; }
#ftrSiteMap .wrap { display: block; min-width: 0; padding:calc(100vw * 40/640) calc(100vw * 20/640) calc(100vw * 40/640) calc(100vw * 20/640);
}
#ftrSiteMap .wrap > dl, #ftrSiteMap ul, #ftrSiteMap .text { width: auto; }
#ftrSiteMap .wrap > dl, #ftrSiteMap ul { font-size:calc(100vw * 20/640);
line-height:calc(100vw * 80/640);
}
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { border-right: none !important; }
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { box-sizing: border-box; width: 50%; border-right: 1px solid #128256; border-bottom: 1px solid #fff; padding: 0; float: left; text-indent: 0; }
#ftrSiteMap li:nth-child(odd) { border-right: none; }
#ftrSiteMap .wrap > dl dt::before, #ftrSiteMap li::before { content: none; }
#ftrSiteMap .wrap > dl dd { display: none; }
#ftrSiteMap dt a, #ftrSiteMap li a { display: block; padding:0 0 0 calc(100vw * 25/640);
}
#ftrSiteMap .text { padding: 10px 0 0 0; clear: both; display: flex; justify-content: space-between; }
#ftrSiteMap .text .contact { width:calc(100vw * 320/640);
}
#ftrSiteMap .inr { display: flex; clear: both; padding-top:calc(100vw * 20/640);
}
#btPageTop { }
#ftrSiteMap .text dl {
margin:0 0 calc(100vw * 40/640);
padding:0 0 0 calc(100vw * 85/640);
font-size:calc(100vw * 24/640);
line-height:calc(100vw * 32/640); text-align: center; }
#ftrSiteMap .text dd { font-size: 12px; }
#ftrSiteMap .text dt { width:calc(100vw * 95/640);
}
#ftrSiteMap .text .contact { max-width: none; margin:calc(100vw * 15/640) calc(100vw * 15/640) 0;
}
#ftrSiteMap .text .contact a { padding:calc(100vw * 20/640) 5px;
font-size:calc(100vw * 24/640);
line-height:calc(100vw * 32/640);
}
}
#copyright { padding: 30px 0; background: #19839c; color: #fff; font-size: 14px; line-height: 20px; text-align: center; }

@media only screen and (max-width:640px) {
#copyright {
padding:calc(100vw * 30/640) 0;
font-size:calc(100vw * 20/640); line-height: 1; }
}
#btPageTop { position: fixed; right: 20px; bottom: 20px; transition: .3s; }
#btPageTop.off, #reserve.foot.off { opacity: 0; }
.btAccess a, .btTel a, .btReserve a { display: none; }

@media only screen and (max-width:640px) {
.btAccess a, .btTel a, .btReserve a { text-decoration: none; display: block; width:calc(100vw * 160/640);
height:calc(100vw * 80/640);
position: absolute; top: 0; z-index: +1; background: #05432b; border-right: solid 1px #074f33; color: #fff; text-align: center; font-size:calc(100vw * 18/640);
}
.btAccess a::before, .btTel a::before, .btReserve a::before { font-family: Fontawesome; display: block; font-size:calc(100vw * 30/640);
}
.btAccess a { right:calc(100vw * 80/640);
}
.btAccess a::before { content: "\f041"; }
.btTel a { right:calc(100vw * 240/640);
}
.btTel a::before { content: "\f095"; }
.btReserve a { right:calc(100vw * 400/640);
}
.btReserve a::before { content: "\f002"; }
}
#top #mainImage { min-width: 1000px; position: relative; overflow: hidden; z-index: 0; }
#top #mainImage ul.slider { z-index: 1; width: 100%; background: #fff; }
#top #mainImage ul.slider li { background: #fff; }
#top #mainImage .catch01, #top #mainImage .catch02 { position: absolute; top: 50%; right: 0; transform: translateY(-50%); text-align: center; z-index: 2; }
#top #mainImage .catch01 { width: 100%; }
#top #mainImage .catch02 { width: 50%; right: 50%; }
#top #mainImage .catch02 li { width: 100%; position: absolute; top: 0; left: 0; opacity: 0; transition: transform .5s; transform: translateX(-100%); }
#top #mainImage .catch02 li.active { opacity: 1; transform: translateX(0); }
#top #mainImage .catch02 li.old { opacity: 1; transform: translateX(200%); }
#top #mainImage .catch02 li:first-child { position: relative; }

@media only screen and (max-width:640px) {
#top #mainImage { min-width: 0; }
}
#top #news01 { padding: 70px 0; }
#top #news01 dl { display: flex; border-bottom: 1px solid #e6d7b2; flex-wrap: wrap; }
#top #news01 dt, #top #news01 dd { border-top: 1px solid #e6d7b2; padding: 15px 0; color: #33afcc; font-size: 14px; line-height: 20px; }
#top #news01 dt { width: 140px; padding-left: 45px; }
#top #news01 dd { width: calc(100% - 185px); }

@media only screen and (max-width:640px) {
#top #news01 { padding:calc(100vw * 50/640) 0;
}
#top #news01 dl { display: block; }
#top #news01 dt, #top #news01 dd { width: auto; font-size:calc(100vw * 24/640);
line-height:calc(100vw * 36/640);
}
#top #news01 dt { font-weight: bold; padding:calc(100vw * 30/640) 0 0;
}
#top #news01 dd { border-top: none; padding:0 0 calc(100vw * 30/640);
}
}
#top #reason01 { padding: 50px 0 70px; background: #e6eaf5; }
#top #reason01 .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#top #reason01 ol { display: flex; margin: 45px 0 0; justify-content: space-between; }
#top #reason01 li {
width:calc(100% * 376/1200); position: relative; }
#top #reason01 a { display: block; position: relative; overflow: hidden; color: #fff; font-size: 14px; line-height: 20px; text-decoration: none; }
#top #reason01 .text { box-sizing: border-box; width: 100%; height: 100%; padding: 0 45px; position: absolute; top: 100%; left: 0; background: rgba(0,0,0,.7); transform: translateY(-52px); transition: .3s; }
#top #reason01 .label { margin: 0 0 5px; padding: 12px 0; font-size: 18px; font-weight: bold; line-height: 28px; text-align: center; }

@media only screen and (max-width:640px) {
.menuA { margin: 0 !important; padding:calc(100vw * 40/640) 0;
}
.menuA li { width: auto !important; margin-bottom:calc(100vw * 20/640) !important;
}
#top #reason01 { margin-bottom: 0 !important; }
#top #reason01 { margin:0 0 calc(100vw * 30/640);
padding:calc(100vw * 50/640) 0 calc(100vw * 40/640);
}
#top #reason01 li .image { height: 200px; overflow: hidden; }
#top #reason01 .wrap { min-width: 0; }
#top #reason01 .ttl img { width:calc(100vw * 220/640);
}
#top #reason01 .ttl .ja { margin:calc(100vw * 20/640) 0 0;
font-size:calc(100vw * 24/640);
}
#top #reason01 ol { display: block; margin:calc(100vw * 60/640) 0 0;
}
#top #reason01 ol + ol { margin:calc(100vw * 40/640) 0 0;
}
#top #reason01 li { width: auto !important; margin:calc(100vw * 40/640) 0 0;
}
#top #reason01 li:after {
width:calc(100vw * 88/640);
height:calc(100vw * 53/640); position: absolute; top:calc(100vw * -27/640);
right:calc(100vw * 30/640);
background: 0 0/contain no-repeat; }
#top #reason01 a { display: block; position: relative; overflow: hidden; color: #fff; font-size: 14px; line-height: 20px; text-decoration: none; }
#top #reason01 .text { padding: 0; top:calc(100% - 100vw * 80/640);
transform: none; }
#top #reason01 .label { margin: 0; padding: 0; font-size:calc(100vw * 24/640);
line-height:calc(100vw * 80/640);
}
#top #reason01 a:hover .text { padding: 0; transform: none; }
}
#top #about { margin: 0 0 190px; }
#top #about .wrap { display: flex; width: auto; max-width: 1320px; min-width: 1000px; position: relative; padding: 0; }
#top #about .text { box-sizing: border-box; width: 502px; height: 504px; padding: 90px 0 0; background: #33afcc; color: #fff; text-align: center; }
#top #about p { margin: 25px 0; padding: 0 40px; text-align: left; }
#top #about .more { margin: 45px 0 0; }
#top #about .more a { border-color: #fff; color: #fff; }
#top #about .more a:hover { background: #fff; color: #33afcc; }
#top #about .image { width: 100%; background: url(../imgs/top/img-lpgas.jpg) 50% 0/cover no-repeat; }
#top #about .menu { display: flex; width: 100%; max-width: 1066px; padding: 30px 0; position: absolute; left: 50%; top: 100%; background: #fff; transform: translate(-50%, -58px); }
#top #about .menu li { box-sizing: border-box; width: 33.3333%; border-right: 1px solid #ccc; text-align: center; }
#top #about .menu li:last-child { border-right: none; }
#top #about .menu a { display: block; box-sizing: border-box; height: 100px; padding: 60px 0 0; background: 50% 5px/45px no-repeat; color: #333; font-size: 14px; line-height: 18px; text-decoration: none; }
#top #about .menu li:nth-child(1) a { background-image: url(../imgs/top/ico-leo01.png); }
#top #about .menu li:nth-child(2) a { background-image: url(../imgs/top/ico-leo02.png); }
#top #about .menu li:nth-child(3) a { background-image: url(../imgs/top/ico-leo03.png); }
#top #about .menu li:nth-child(4) a { background-image: url(../imgs/top/ico-leo04.png); }
#top #about .menu li:nth-child(5) a { background-image: url(../imgs/top/ico-leo05.png); }

@media only screen and (max-width:640px) {
#top #about .image { height:calc(100vw * 384/640);
}
#reserve.foot .wrap { display: none; }
#top #reason01 li .image img { width: 100%; }
.menuA li { margin: 0 auto 30px !important; }
#top #about { margin: 0; }
#top #about .wrap { display: block; min-width: 0; padding: 0; }
#top #about .text { width: auto; height: auto; padding:calc(100vw * 75/640) 0 calc(100vw * 70/640);
}
#top #about .ttl { ;
font-size:calc(100vw * 28/640);
}
#top #about .ttl::after { width:calc(100vw * 60/640);
}
#top #about p {
margin:calc(100vw * 25/640) 0 0; line-height: 1.7; }
#top #about .more { margin:calc(100vw * 35/640) 0 0;
}
#top #about .menu { padding: 0; position: static; background: #fff; flex-wrap: wrap; transform: none; }
#top #about .menu li { width: 50%; border-bottom: 1px solid #ccc; }
#top #about .menu li:nth-child(even) { border-right: none; }
#top #about .menu li:last-child { width: 100%; border-bottom: none; }
#top #about .menu a { height:calc(100vw * 240/640);
padding:calc(100vw * 140/640) 0 0;
background:50% calc(100vw * 35/640)/calc(100vw * 84/640) no-repeat;
font-size:calc(100vw * 20/640);
line-height:calc(100vw * 28/640);
}
}
#top #reason02 { padding: 60px 0 65px; background: #33afcc; color: #fff; }
#top.visited #reason02 { display: block; }
#top #reason02 .wrap { display: flex; width: auto; max-width: 1200px; min-width: 1000px; justify-content: space-between; }
#top #reason02 .ttl {
width:calc(100% * 288/1200); text-align: center; }
#top #reason02 .ttl .ja { display: block; }
#top #reason02 ol { display: flex; width:calc(100% * 890/1200);
justify-content: space-between; }
#top #reason02 li {
width:calc(100% * 273/890); background: rgba(255,255,255,.8); border-radius: 5px; }
#top #reason02 a { display: block; box-sizing: border-box; height: 120px; padding: 70px 0 0; position: relative; background: 50% 25px no-repeat; background-size: 40px; font-size: 18px; font-weight: bold; line-height: 1; text-align: center; text-decoration: none; }
#top #reason02 li:nth-child(1) a { background-image: url(../imgs/top/num-01.png); }
#top #reason02 li:nth-child(2) a { background-image: url(../imgs/top/num-02.png); }
#top #reason02 li:nth-child(3) a { background-image: url(../imgs/top/num-03.png); }
#top #reason02 a::before, #top #reason02 a::after { content: ''; display: block; height: 1px; position: absolute; top: 38px; background: #33afcc; }
#top #reason02 a::before { left: 40px; right: 172px; }
#top #reason02 a::after { left: 172px; right: 40px; }

@media only screen and (max-width:640px) {
#top #reason02 { margin:0 0 calc(100vw * 30/640);
padding:calc(100vw * 50/640) 0 calc(100vw * 40/640);
}
#top #reason02 .wrap { display: block; min-width: 0; }
#top #reason02 .ttl { width: auto; text-align: center; }
#top #reason02 .ttl img { width:calc(100vw * 220/640);
}
#top #reason02 .ttl .ja { margin:calc(100vw * 20/640) 0 0;
font-size:calc(100vw * 24/640);
}
#top #reason02 ol { display: block; width: auto; margin:calc(100vw * 60/640) 0 0;
}
#top #reason02 li { width: auto; margin:calc(100vw * 40/640) 0 0;
border-radius:calc(100vw * 10/640);
}
#top #reason02 a {
height:calc(100vw * 240/640);
padding:calc(100vw * 140/640) 0 0; position: relative; background:50% calc(100vw * 50/640)/calc(100vw * 50/640) no-repeat;
font-size:calc(100vw * 28/640);
}
#top #reason02 a::before, #top #reason02 a::after { top:calc(100vw * 62/640);
}
#top #reason02 a::before { left: 10%; right: 58%; }
#top #reason02 a::after { left: 58%; right: 10%; }
}
#top #service { margin: 0 0 90px; }
#top #service .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#top #service ul { display: flex; justify-content: space-between; }
#top #service li {
width:calc(100% * 330/1066); background: #fff; text-align: center; }
#top #service .ttl { position: relative; }
#top #service .ttl .text { width: 100%; position: absolute; top: 50%; left: 0; color: #fff; font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
#top #service .description { padding: 30px 0 40px; position: relative; }
#top #service .label { padding: 0 0 25px; position: relative; color: #005032; font-size: 24px; font-weight: bold; line-height: 1; }
#top #service .label::after { content: ''; display: block; width: 60px; height: 1px; position: absolute; left: 50%; bottom: 0; background: #005032; transform: translateX(-50%); }
#top #service .description .text { color: #103655; padding: 0 30px; text-align: left; }
#top #service .description .text span { display: inline-block; vertical-align: middle; }
#top #service .more { margin: 25px 0 0; }
#top #service .more a { border-color: #ccc; color: #333; }
#top #service .more a:hover { border-color: #33afcc; background: #33afcc; color: #fff; }
#other #service { margin: 0 0 90px; }
#other #service .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#other #service ul { display: flex; justify-content: space-between; }
#other #service li {
width:calc(100% * 515/1066); background: #fff; text-align: center; }
#other #service .ttl { position: relative; }
#other #service .ttl .text { width: 100%; position: absolute; top: 50%; left: 0; color: #fff; font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
#other #service .description { padding: 40px 0 55px; position: relative; }
#other #service .label { padding: 0 0 25px; position: relative; color: #005032; font-size: 24px; font-weight: bold; line-height: 1; }
#other #service .label::after { content: ''; display: block; width: 60px; height: 1px; position: absolute; left: 50%; bottom: 0; background: #005032; transform: translateX(-50%); }
#other #service .description .text { margin: 15px 0 0; color: #103655; }
#other #service .description .text span { display: inline-block; vertical-align: middle; }
#other #service .description .text::before { content: ''; display: inline-block; width: 0; height: 52px; vertical-align: middle; }
#other #service .more { margin: 25px 0 0; }
#other #service .more a { border-color: #ccc; color: #333; }
#other #service .more a:hover { border-color: #33afcc; background: #33afcc; color: #fff; }

@media only screen and (max-width:640px) {
#top #service { margin:0 0 calc(100vw * 35/640);
padding:calc(100vw * 35/640) calc(100vw * 30/640);
}
#top #service .wrap { padding: 0; }
#top #service .wrap { min-width: 0; }
#top #service ul { display: block; }
#top #service li { width: auto; }
#top #service li + li { margin:calc(100vw * 30/640) 0 0;
}
#top #service .ttl .text { font-size:calc(100vw * 24/640);
line-height:calc(100vw * 44/640);
}
#top #service .description {
padding:calc(100vw * 55/640) 0; position: relative; }
#top #service .label { padding:0 0 calc(100vw * 25/640);
font-size:calc(100vw * 28/640);
}
#top #service .label::after { width:calc(100vw * 60/640);
}
#top #service .description .text { margin:calc(100vw * 25/640) 0 0;
}
#top #service .description .text::before { content: none; }
#top #service .more { margin:calc(100vw * 40/640) 0 0;
}
#other #service { margin:0 0 calc(100vw * 35/640);
padding:calc(100vw * 35/640) calc(100vw * 30/640);
}
#other #service .wrap { padding: 0; }
#other #service .wrap { min-width: 0; }
#other #service ul { display: block; }
#other #service li { width: auto; }
#other #service li + li { margin:calc(100vw * 30/640) 0 0;
}
#other #service .ttl .text { font-size:calc(100vw * 24/640);
line-height:calc(100vw * 44/640);
}
#other #service .description {
padding:calc(100vw * 55/640) 0; position: relative; }
#other #service .label { padding:0 0 calc(100vw * 25/640);
font-size:calc(100vw * 28/640);
}
#other #service .label::after { width:calc(100vw * 60/640);
}
#other #service .description .text { margin:calc(100vw * 25/640) 0 0;
}
#other #service .description .text::before { content: none; }
#other #service .more { margin:calc(100vw * 40/640) 0 0;
}
}
#top #topic { padding: 70px 0; background: #e5eaf5; }
#top #topic .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#top #topic ul { display: flex; justify-content: space-between; }
#top #topic li {
width:calc(100% * 376/1200); background: #fff; }
#top #topic a { display: block; color: #333; text-decoration: none; }
#top #topic .text { padding: 30px 35px 60px; font-size: 14px; }
#top #topic .label { margin: 0 0 15px; font-weight: bold; }

@media only screen and (max-width:640px) {
#top #topic { padding:calc(100vw * 30/640) 0 calc(100vw * 35/640);
}
#top #topic .wrap { min-width: 0; }
#top #topic ul { display: block; }
#top #topic li { width: auto; }
#top #topic li + li { margin:calc(100vw * 30/640) 0 0;
}
#top #topic .text { padding:calc(100vw * 40/640) calc(100vw * 35/640);
font-size:calc(100vw * 24/640);
line-height:calc(100vw * 36/640);
}
#top #topic .label { margin:0 0 calc(100vw * 10/640);
}
}
#top #news02 { padding: 80px 0 120px; }
#top #news02 .wrap { display: flex; width: auto; max-width: 1200px; min-width: 1000px; justify-content: space-between; }
#top #news02 .text { width: calc(100% - 412px); }
#top #news02 .ttl { border-bottom: 2px solid #333; padding: 0 0 20px; font-size: 18px; font-weight: bold; line-height: 1; }
#top #news02 dl { display: flex; border-bottom: 1px solid #ccc; flex-wrap: wrap; }
#top #news02 dt, #top #news02 dd { border-top: 1px solid #ccc; padding: 40px 0 15px; font-size: 14px; }
#top #news02 dt:first-child, #top #news02 dt:first-child + dd { border-top: none; }
#top #news02 dt { width: 280px; position: relative; }
#top #news02 dd { width: calc(100% - 280px); }
#top #news02 dt::after { display: block; width: 120px; position: absolute; top: 40px; right: 30px; border-radius: 13px; color: #fff; font-size: 12px; text-align: center; }
#top #news02 dt.news01::after { content: 'お知らせ'; background: #33afcc; }
#top #news02 dt.news02::after { content: '重要なお知らせ'; background: #005032; }
#top #news02 .more { margin: 75px 0 0; }
#top #news02 .more a { border-color: #ccc; color: #333; }
#top #news02 .more a:hover { border-color: #33afcc; background: #33afcc; color: #fff; }
#top #news02 .facebook { width: 376px; }

@media only screen and (max-width:640px) {
#top #news02 { padding:calc(100vw * 65/640) 0 calc(100vw * 100/640);
}
#top #news02 .wrap { display: block; min-width: 0; }
#top #news02 .text { width: auto; }
#top #news02 .ttl { padding:0 0 calc(100vw * 20/640);
font-size:calc(100vw * 30/640);
}
#top #news02 dl { display: block; }
#top #news02 dt, #top #news02 dd { font-size:calc(100vw * 24/640);
}
#top #news02 dt { width: auto; padding:calc(100vw * 30/640) 0 0;
font-weight: bold; line-height:calc(100vw * 30/640);
}
#top #news02 dd { width: auto; border-top: none; padding:calc(100vw * 10/640) 0 calc(100vw * 20/640);
line-height:calc(100vw * 36/640);
}
#top #news02 dt::after { display: inline-block; width:calc(100vw * 180/640);
margin:0 0 0 calc(100vw * 20/640);
position: static; border-radius:calc(100vw * 15/640);
font-size:calc(100vw * 18/640);
font-weight: normal; }
#top #news02 .more { margin:calc(100vw * 45/640) 0 0;
}
#top #news02 .facebook {
margin:calc(100vw * 55/640) 0 0; width: auto; }
}
#about.index .menu01 .wrap > dl > dt { background: 50% 6px no-repeat; }
#about.index .menu01 .wrap > dl:nth-child(1) > dt { background-image: url(../../lpgas/imgs/ico-01.png); }
#about.index .menu01 .wrap > dl:nth-child(2) > dt { background-image: url(../../lpgas/imgs/ico-02.png); }
#about.index .menu01 .wrap > dl:nth-child(3) > dt { background-image: url(../../lpgas/imgs/ico-03.png); }
#contact #main article { padding-bottom: 90px; }
#contact #pageHeader { background-image: url(../../contact/imgs/bg-pageTitle.jpg); }
#contact .wrap { width: 990px; }
#contact .panel { padding: 45px 65px 60px; background: #fff; }
#contact #main dl { display: flex; flex-wrap: wrap; line-height: 1.5; }
#contact #main dt, #contact #main dd { border-bottom: 1px solid #ccc; padding: 20px 0; }
#contact #main dt { box-sizing: border-box; width: 240px; padding-top: 30px; font-weight: bold; }
#contact #main dt.must { padding-left: 56px; position: relative; }
#contact #main dt.must::before { content: '必須'; display: block; padding: 0 9px; position: absolute; top: 30px; left: 0; background: #ad252b; color: #fff; font-size: 12px; line-height: 2; font-weight: normal; }
#contact #main dt .note { display: block; font-size: 14px; font-weight: normal; }
#contact #main dd { width: 620px; }
#contact #main dd .note { padding-left: 1em; font-size: 14px; line-height: 18px; text-indent: -1em; }
#contact #main dd .note01 { margin: 8px 0 0; }
#contact #main dd .note02 { margin: 18px 0 8px }
#contact #main dd .warning { display: none; color: #ad252b; }
#contact #main dd .error ~ .warning, #contact #main dd .error2 ~ .warning { display: block; }
#contact dl + .ttl02 { margin: 60px 0 0; }
#contact .ttl02 + dl { margin: 20px 0 0; }
#contact p + dl { margin: 15px 0 0; }
#contact dl + p { margin: 20px 0 0; }

@media only screen and (max-width:640px) {
#contact #main article { padding-bottom:calc(100vw * 90/640);
}
#contact #pageHeader { background-image: url(../../contact/imgs/bg-pageTitle_sp.jpg); }
#contact .panel { padding:calc(100vw * 45/640) calc(100vw * 28/640) 60px;
}
#contact #main dl { display: block; line-height: inherit; }
#contact #main dt { width: auto; border-bottom: none; padding: 0; line-height:calc(100vw * 30/640);
}
#contact #main dd + dt { margin:calc(100vw * 30/640) 0 0;
}
#contact #main dt.must { padding-left:calc(100vw * 65/640);
}
#contact #main dt.must::before {
width:calc(100vw * 50/640); padding: 0; top: 0; font-size:calc(100vw * 18/640);
line-height:calc(100vw * 30/640);
text-align: center; }
#contact #main dt .note { font-size: inherit; }
#contact #main dd { width: auto; padding:calc(100vw * 15/640) 0 calc(100vw * 30/640);
}
#contact #main dd .note {
font-size:calc(100vw * 20/640); line-height: calc(26/20); }
#contact #main dd .note01 { margin:calc(100vw * 20/640) 0 0;
}
#contact #main dd .note02 { margin:calc(100vw * 20/640) 0;
}
#contact dl + .ttl02 { margin:calc(100vw * 60/640) 0 0;
}
#contact .ttl02 + dl { margin:calc(100vw * 20/640) 0 0;
}
#contact p + dl { margin:calc(100vw * 35/640) 0 0;
}
#contact dl + p { margin:calc(100vw * 35/640) 0 0;
}
}
#contact #main input[type=text], #contact #main input[type=email], #contact #main input[type=tel], #contact #main input[type=number], #contact #main select { display: inline-block; box-sizing: border-box; height: 44px; border: none; padding: 10px 16px; background: #f3f3f3; outline: none; border-radius: 4px; line-height: 24px; vertical-align: middle; }
#contact #main input[type=text], #contact #main input[type=email] { width: 100%; }
#contact #main input.zip01 { width: 90px; }
#contact #main input[type=tel], #contact #main input.zip02 { width: 120px; }
#contact #main .select { width: 220px; position: relative; }
#contact #main .select::before { content: "\f0d7"; display: block; width: 40px; height: 100%; position: absolute; top: 0; right: 0; background: #f3f3f3; border-radius: 4px; font-family: Fontawesome; text-align: center; pointer-events: none; line-height: 44px; }
#contact #main select { width: 100%; padding-right: 40px; }
#contact .hyphen { display: inline-block; width: 12px; height: 44px; margin: 0 4px; position: relative; vertical-align: middle; }
#contact .hyphen::before { content: ''; display: block; width: 100%; height: 1px; position: absolute; top: 50%; left: 0; background: #999; }
#contact #main label { display: inline-block; margin: 0 20px 0 0; padding: 0 0 0 24px; position: relative; line-height: 44px; vertical-align: middle; }
#contact #main label:last-child { margin-right: 0; }
#contact #main label input[type=radio] { position: absolute; top: 50%; left: 0; transform: translateY(-50%); opacity: 0; }
#contact #main label input[type=radio] + .check { display: block; box-sizing: border-box; width: 18px; height: 18px; border: 1px solid #cdcdcd; position: absolute; top: 50%; left: 0; border-radius: 50%; transform: translateY(-50%); }
#contact #main label input[type=radio]:checked + .check::after { content: ''; display: block; width: 10px; height: 10px; position: absolute; top: 50%; left: 3px; z-index: 9999; border-radius: 50%; background: #333; transform: translateY(-50%); }
#contact #main .zip::before { content: '〒'; display: inline-block; height: 44px; margin: 0 4px 0 0; line-height: 44px; vertical-align: middle; }
#contact #main .address01 { margin: 15px 0 0; }
#contact #main dt.preferredDate { padding-top: 19px; }
#contact .submit { display: block; width: 330px; margin: 50px auto 0; position: relative; }
#contact .submit::after { content: "\f178"; color: #fff; position: absolute; top: 50%; right: 1em; font-family: Fontawesome; transform: translateY(-50%); pointer-events: none; }
#contact input[type=submit] { display: block; width: 100%; margin: 0; border: none; padding: 0; background: #33afcc; outline: none; border-radius: 4px; color: #fff; line-height: 70px; text-align: center; }
#contact input[type=submit].off { opacity: .5; cursor: default; }

@media only screen and (max-width:640px) {
#contact #main input[type=text], #contact #main input[type=email], #contact #main input[type=tel], #contact #main input[type=number], #contact #main select { padding: 10px; font-size: 16px; -webkit-appearance: none; appearance: none; }
#contact #main input.zip01 { width: calc((100% - 40px)/4); }
#contact #main input[type=tel], #contact #main input.zip02 { width: calc((100% - 40px)/3); }
#contact #main .select { width: 100%; }
#contact #main select { -webkit-appearance: none; appearance: none; }
#contact #main .address01 { margin:calc(100vw * 15/640) 0 0;
}
#contact #main dt.preferredDate { padding-top: 0; }
#contact .submit { width: 100%; margin:calc(100vw * 50/640) 0 0;
}
#contact input[type=submit] {
line-height:calc(100vw * 100/640); -webkit-appearance: none; appearance: none; }
}
#contact .confirm .ttl02 + dl { margin: 5px 0 0; }
#contact #main .confirm dt { padding-top: 20px; }
#contact #main .confirm .address01 { margin: 0; }

@media only screen and (max-width:640px) {
#contact .confirm .ttl02 + dl { margin-top:calc(100vw * 30/640);
}
#contact #main .confirm dt { padding-top: 0; }
}
#contact .toTop { display: block; width: 244px; margin: 50px auto 0; position: relative; background: #33afcc; border-radius: 4px; outline: none; color: #fff; line-height: 70px; text-align: center; text-decoration: none; }
#contact .toTop::after { content: "\f178"; color: #fff; position: absolute; top: 50%; right: 1em; font-family: Fontawesome; transform: translateY(-50%); pointer-events: none; }

@media only screen and (max-width:640px) {
#contact .toTop { width: auto; margin:calc(100vw * 50/640) 0 0;
line-height:calc(100vw * 100/640);
}
}
#main label input[type=checkbox] { position: absolute; top: 50%; left: 0; transform: translateY(-50%); opacity: 0; }
#main label input[type=checkbox] + .check { display: block; box-sizing: border-box; width: 18px; height: 18px; border: 1px solid #cdcdcd; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#main label input[type=checkbox]:checked + .check::after { content: ''; display: block; width: 10px; height: 10px; position: absolute; top: 50%; left: 3px; z-index: 9999; background: #333; transform: translateY(-50%); }
#main textarea { width: 100%; max-width: 100%; min-width: 100%; height: 200px; }
#main textarea { display: inline-block; box-sizing: border-box; border: none; padding: 10px 16px; background: #f3f3f3; outline: none; border-radius: 4px; line-height: 24px; vertical-align: middle; }
#main .child { padding: 0 0 0 24px; }
#main input[type=text] + input[type=text] { margin-top: 15px; }
p.caution { color: #ad252b; line-height: 1.5; padding: 0 0 10px; font-size: 20px; }
.error_msg { padding: 45px 65px 60px; background: #fff; margin-top: 70px; text-align: center; }
#main dd .note01 + label { margin-top: 1em; }
#main ul.note { padding: 1em 0; }
#main ul.note li { padding-left: 1em; text-indent: -1em; margin-left: 1em; line-height: 1.8em; }
#main .form-group { padding: 1em 0; }
#main p + .note { padding-left: 1em; font-size: 14px; line-height: 18px; text-indent: -1em; }
#main p + .note01 { margin: 8px 0 14px!important; }
#main input.birthday { width: 120px; }
#main input.birthday + span { padding: 0 0.3em; }

@media only screen and (max-width:640px) {
#main dt br { display: none; }
.error_msg br { display: none; }
.error_msg { text-align: left; }
#main label input[type=checkbox] + .check { top: 15px; }
#main label input[type=checkbox] { top: 15px; }
#main label input[type=radio] + .check { top: 15px; }
#main label input[type=radio] { top: 15px; }
#main label { line-height: 30px; }
.error_msg { margin-top: 30px; }
#main input.birthday { width: calc((100% - 110px)/3); }
}
h2.ttl { text-align: center; background: url(../imgs/img-ttl.png) no-repeat center bottom; padding-bottom: 50px; margin-bottom: 25px; }
#top #about .text h2.ttl { background: url(../imgs/img-ttl2.png) no-repeat center bottom; }
h2.ttl .ja { letter-spacing: 2px; display: block; margin: 15px 0 0; font-size: 25px; font-weight: bold; line-height: 1; }
h2.ttl .en { letter-spacing: 2px; display: block; margin: 15px 0 0; font-size: 14px; line-height: 1; color: #65cbe3; }
p.ttl-tx { font-size: 22px; color: #5d5d5d; letter-spacing: 2px; text-align: center; line-height: 1.7em; margin-bottom: 45px; }
.menuA { margin: 75px; }
.menuA .wrap, .menuB .wrap { width: 1066px; }
.menuA ul, .menuB ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.menuA li:nth-child(-n+3) { margin-top: 0; }
.menuA .text { position: absolute; left: 20px; bottom: 15px; }
.menuA li { width: 330px; margin: 30px 0 0; }
.menuA a { display: block; position: relative; color: #fff; font-weight: bold; text-decoration: none; }
#top #reason01 .cal2 li {
width:calc(100% * 580/1200); position: relative; }
#ftrSiteMap ul + .text { margin-left: 50px; }
#reserve .wrap::after { position: absolute; top: 13px; left: 0; content: ""; background: url(../imgs/reserve_img01.png) no-repeat center center; width: 180px; height: 161px; background-size: contain; }
#reserve.foot .wrap::after { display: none; }
#reserve { background: #05432b; margin-bottom: 30px; }
#header .contact .inr { position: relative; }
#header .contact .inr .lng-list { display: none; position: absolute; bottom: -105px; transform: translateY(100px); right: 0; width: 200px; }
#header .contact .inr .lng-list li { letter-spacing: 2px; }
#header .contact .inr .lng-list a { height: 40px; line-height: 40px; padding: 0; }
#header .contact .inr .lng-list a::before { content: ""; }
#header .contact .inr .lng-list li { border-bottom: solid 1px #095638; transition: .3s; }
#header .contact .inr .lng-list li a:hover { background: #366855; }

@media only screen and (max-width:640px) {
#header .contact .inr .lng-list { padding: 0; display: block !important; position: inherit !important; top: 0; bottom: auto; transform: translateY(0); right: 0; width: 100%; }
#header .contact .inr .lng-list ul { padding: 0; }
#header .contact .inr .lng-list ul li { width: 33.333%; float: left; border: none !important; padding: 5px !important; box-sizing: border-box; }
#header .contact .inr .lng-list ul li a { text-align: center !important; font-size:calc(100vw * 20/640) !important;
line-height:calc(70vw * 100/640) !important;
}
#header #gNav .contact .bt { display: none; }
}
#top #news { padding: 20px 0 20px; }
#top #news .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#top #news ul { display: flex; justify-content: space-between; }
#top #news li { width: 210px; padding: 15px 8px; }
#top #news a { display: block; color: #333; text-decoration: none; }
#top #news .more a { border: solid 1px #ccc; }
#top #news .more a:hover { border: solid 1px #33afcc; background: #33afcc; color: #fff; }
#top #news .text { padding: 0 10px; font-size: 14px; }
#top #news .label { font-weight: bold; font-size: 16px; }
#top #news .info { display: flex; margin-top: 10px; padding: 10px; font-size: 12px; }
#top #news .info .category { margin-right: auto; background: #95b5ad; color: #fff; padding: 0 10px; }
#top #news .info .category .day { }
.category a { color: #fff !important; }
.category.news { background: #95b5ad !important; margin: 0 20px 0 0 !important; }
.category.event, .category.staff { background: #c2999d !important; margin: 0 20px 0 0 !important; }
.category.blog, .category.admin { background: #d8ccb8 !important; margin: 0 20px 0 0 !important; }
#top #news .wrap { display: flex; }
#top #news .ttl-area { padding-right: 100px; padding-top: 30px; }

@media only screen and (max-width:640px) {
.area-bt { display: block !important; }
#top #news .wrap { display: block; width: auto; max-width: auto; min-width: auto; }
#top #news .ttl-area { padding: 0; }
#top #news ul { display: block; }
#top #news li { width: auto; }
#top #news li img { width: 100%; }
}
#bar { height: 285px; position: relative; background: #4bc7c9 url(../imgs/bg-pageTitle.jpg) 50% 0/cover no-repeat; color: #fff; line-height: 1; font-weight: bold; }
#bar h3 { font-size: 23px; line-height: 1.7em; margin-bottom: 15px; }
#bar p { text-align: center; font-size: 15px; line-height: 1.7em; font-weight: normal; }
#pageTitle .ja { color: #888888; }
#other #mainContents .menu02 li { text-align: left; }
#other #mainContents .menu02 li h4 { font-size: 22px; margin-bottom: 15px; }
#other #mainContents .menu03 li h4 { font-size: 17px; margin-bottom: 10px; }
#other #mainContents .menu02 li .caption { font-size: 12px; }
#other #mainContents .menu02 .description { padding-top: 10px; }
#other #mainContents .menu02 .description .text { font-size: 13px; word-break: break-all; }
#other #mainContents .menu02 .description .text span { font-size: 18px; padding-bottom: 10px; margin-bottom: 10px; font-weight: bold; color: #005032; }
#other #mainContents .menu02 .description .text span { position: relative; }
#other #mainContents .menu02 .description .text span::after { content: ''; display: block; width: 56px; height: 1px; position: absolute; left: 0; bottom: 0; background: #c5c5c5; }
#other #mainContents .menu02 li { background: none; }
#other #mainContents .menu02 { margin-top: 0; }
#other #mainContents .menu03 li .caption { font-size: 12px; }
#other #mainContents .menu03 .description { padding-top: 15px; }
#other #mainContents .menu03 .description .text { font-size: 13px; padding: 0; }
#other #mainContents .menu03 .description .text span { font-size: 18px; padding-bottom: 10px; margin-bottom: 10px; display: block !important; font-weight: bold; color: #005032; }
#other #mainContents .menu03 .description .text span { position: relative; }
#other #mainContents .menu03 .description .text span::after { content: ''; display: block; width: 56px; height: 1px; position: absolute; left: 0; bottom: 0; background: #c5c5c5; }
#other #mainContents .menu03 li { background: none; }
#other #mainContents .menu03 { margin-top: 0; }
#other #mainContents .menu03 { margin-bottom: 30px; }
#other h2.ttl { margin-bottom: 50px; margin-top: 50px; }
#other section + section { background: #e6eaf5; margin-top: 0; padding-top: 60px; }
#other section { padding: 0px 0 60px; }
body#other.index #mainContents { padding-bottom: 0 !important; }
#other .table-04 tr:first-child th { width: 100px; }
.common #bar { height: 82px; }
#mainContents section + section { margin: 45px 0 0; }
#sNav { margin-bottom: 200px; }
#sNav h4 { font-size: 13px; background: url(../imgs/logo-ttl.png) no-repeat center left; background-size: 24px; height: 47px; line-height: 47px; border-bottom: 1px solid #cbd9ec; margin: 20px 0 0; padding-left: 30px; }
#sNav select { border-radius: 0; border: none; width: 100%; border-bottom: 1px solid #cbd9ec; padding: 20px 20px 20px 30px; position: relative; color: #005032; font-size: 13px; line-height: 19px; text-decoration: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; cursor: pointer; transition: .3s; }
#sNav select:hover { background: #33afcc; color: #fff; }
#sNav .select:after { content: "\f107"; position: absolute; top: 50%; right: 14px; font-family: Fontawesome; transform: translateY(-50%); }
#sNav .select { position: relative; font-size: 13px; transition: .3s; }
#sNav .select:hover { color: #fff; }
#mainContents.topic .info { display: flex; margin-top: 10px; font-size: 12px; }
#mainContents.topic .info .category { margin-right: 20px; background: #95b5ad; color: #fff; padding: 0 10px; }
.topic .info .category a { color: #fff !important; }
#mainContents.topic .headline-4 { border-bottom: 2px solid #dbe0eb; }
#mainContents.topic p { margin-bottom: 30px; }
#mainContents.topic img { margin-bottom: 30px; }
.topic .postlist li { display: flex; border-bottom: 2px solid #dbe0eb; padding-bottom: 20px; margin-bottom: 20px; }
.topic .postlist li .image { margin-right: 20px; width: 116px; height: 82px; }
.topic .postlist li .info { margin-top: 0 !important; }
.topic .postlist li .headline-4 { margin-top: 10px !important; border: none !important; margin-bottom: 0 !important; }
.topic .postlist li a { text-decoration: none; color: #333; }
#reserve { color: #a7884e; position: relative; }
#reserve .ttl { display: flex; }
#reserve .ttl h3 { margin-right: auto; }
#reserve .wrap { position: relative; padding: 30px 0 50px 220px; box-sizing: border-box; width: 1100px; }
#reserve h3 { font-size: 28px; font-weight: normal; letter-spacing: 2px; margin-bottom: 10px; }
#reserve h3 span { margin-left: 1em; font-size: 13px; }
#reserve .areaForm { display: flex; }
#reserve dl { }
#reserve dl + dl { border-left: solid 1px #a7884e; margin-left: 5px; padding-left: 20px; }
#reserve dt { font-size: 13px; }
#reserve dd { }
#reserve .selectWrap select { position: relative; z-index: 0; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; padding: 10px 30px 10px 15px; background: none; }
#reserve .selectWrap { position: relative; display: inline-block; background: #fff; border-radius: 5px; }
#reserve .selectWrap:before { color: #333; z-index: 0; content: "\f107"; position: absolute; top: 50%; right: 14px; font-family: Fontawesome; transform: translateY(-50%); }
#reserve dl + input { margin-left: 30px; }
#reserve button { background: none; width: auto; border: none; cursor: pointer; display: inline-block; margin-left: 5px; }
#reserve a { margin-right: 30px; color: #a7884e; }
#reserve a.link-2:before { background: #a7884e; }
#reserve.foot { display: block; }
#reserve.foot .wrap { position: relative; padding: 5px 0; box-sizing: border-box; width: 1100px; }
#reserve.foot .ttl { margin-right: 1em; }
#reserve.foot .ttl h3 span { display: block; margin-left: 0; line-height: 1; margin-top: 8px; }
#reserve.foot .dispPc form { display: flex; justify-content: center; align-items: center; }
#reserve.foot h3 { font-size: 18px; margin-bottom: 0; margin-right: 1em; }
#reserve.foot .selectWrap select { padding: 7px 30px 7px 15px; }

@media only screen and (max-width:640px) {
#mainContents .menu02 li { width: auto; }
#reserve .wrap { padding:calc(100vw * 30/640);
}
#reserve .areaForm { display: block; }
#reserve .wrap:after { width: 90px; height: 80px; display: none; }
#reserve dl + dl { border-left: none; margin-left: 0; padding-left: 0; }
#reserve .ttl { display: block; }
#reserve .ttl h3 { margin-right: auto; line-height: 1; margin-bottom:calc(100vw * 5/640);
}
#reserve dt { margin-top:calc(100vw * 10/640);
}
#reserve button { margin: 0 auto; display: block; margin-top:calc(100vw * 25/640);
}
#bar {
padding:calc(100vw * 50/640) calc(100vw * 30/640); height: auto; }
#bar #pageTitle { padding: 0; text-align: left; }
#bar p { text-align: left; }
#bar #pageTitle br { display: none; }
#pageTitle .en { padding-top: 75px; background-size: 60px; }
}
#other { position: relative; }
#reserve.foot { position: fixed !important; bottom: 0; z-index: 9999; width: 100%; margin: 0; padding: 0; }
#ftrSiteMap .text .contact.reserve a { background: #a7884e; border: solid 1px #a7884e; }
#top #news li .image { position: relative; height: 150px; overflow: hidden; }
.topic .postlist li .image { position: relative; height: 82px; flex-basis: 116px; overflow: hidden; }
.topic .postlist li .image img, #top #news li .image img { position: absolute; height: 100%; max-width: inherit !important; left: 50%; transform: translateX(-50%); }
.topic .postlist li .detail { flex: 1; }
.topic .content h2 { line-height: 1; border-bottom: 2px solid #dbe0eb; font-size: 20px; margin: 0 0 25px; padding: 15px 0; font-weight: bold; }
.topic .content h3 { line-height: 1; border-left: 4px solid #dbe0eb; font-size: 18px; margin: 0 0 25px; padding: 15px; font-weight: bold; }
.topic .content h4 { line-height: 1; font-size: 18px; font-weight: bold; margin: 0 0 25px; padding: 0 19px; }
.topic .content h5 { margin: 0 0 25px; padding: 0 19px; }
.topic .content p { margin: 0 0 25px; padding: 0 19px; }
.topic .content img { margin: 0 0 25px; padding: 0 15px; }
.topic .content ul { padding-left: 40px; }
.topic .content li { list-style-type: disc; }
#mainContents.topic .headline-4 { margin-bottom: 25px; }
.hotelInfo { text-align: center; }
.hotelInfo h3 { position: relative; padding-bottom: 20px; margin-bottom: 20px; font-size: 18px; }
.hotelInfo h3:after { content: ''; display: block; width: 56px; height: 1px; position: absolute; left: 50%; margin-left: -28px; bottom: 0; background: #c5c5c5; }
.hotelInfo .image { margin-bottom: 1em; }
.hotelInfo .address { margin-bottom: 20px; }
.hotelInfo .tel { }
.hotelInfo .tel .ttl { line-height: 1.3; margin-bottom: 10px; }
.hotelInfo .tel .ttl span { display: block; font-size: 13px; }
.hotelInfo .tel .number { }
.hotelInfo .tel .number span { font-size: 40px; color: #005032; }
#route h4 { font-size: 17px; border-bottom: solid 2px #dbe0eb; line-height: 3em; margin-bottom: 2em; margin-top: 30px; }
#mainContents #route .menu02 ul + ul { margin-top: 30px !important; }
.area-bt { display: flex; justify-content: center; padding-top: 20px; }
.area-bt .more { margin-right: 20px; }
#map { margin-top: 30px; }
.area-bt + .menu02 { padding-top: 60px; }
.fa { margin-right: .7em; }
#mainContents { overflow-x: hidden; }
#mainContents .menu02.onecal ul.slide { display: block; position: absolute; }
#mainContents .menu02.onecal ul.slide li { width: 1000px; float: left; }
#mainContents .menu02.onecal .wrap { clear: both; }
#mainContents .menu02.onecal li { width: 100%; }
#other #mainContents .menu02.onecal .description .text span { display: block; }
#other #mainContents .menu02.onecal span.first { font-size: 22px !important; }
#other #mainContents .menu02.onecal span.second::after { display: none; }
#other .menu02.onecal dl { display: flex; text-align: center; justify-content: space-between; font-size: 13px; }
#other .menu02.onecal dt { display: block; width: 16.6666%; line-height: 4em; }
#other .menu02.onecal dd { background: #eff2fa; display: block; width: 16.6666%; line-height: 4em; }
#other .menu03 h5 { border-bottom: solid 2px #dbe0eb; font-size: 17px; padding: 10px 0; margin: 30px 0; }
#mainContents .menu03.firststart ul { justify-content: flex-start; }
#mainContents .menu03.firststart ul li { margin-right: 35px; }
.slider { margin: 0 0 50px; }
#mainContents .menu02.onecal .description .text::before { display: none; }
#qa { }
#qa dl { margin-bottom: 50px; }
#qa dt { min-height: 39px; background: url(../imgs/qa/img-1.png) no-repeat center left; padding-left: 49px; padding-top: 35px; padding-bottom: 20px; font-size: 22px; border-bottom: solid 2px #dbe0eb; }
#qa dd { min-height: 39px; background: url(../imgs/qa/img-2.png) no-repeat center left; padding-left: 49px; padding-top: 25px; }

@media only screen and (max-width:640px) {
#top #news li { display: flex; }
#top #news li .image { flex-basis: 116px; height: 82px; }
#top #news li > a { flex-basis: 116px; height: 82px; }
#top #news .more a { margin-bottom: 30px; }
#top #news li .detail { flex: 1; }
#top #news .info { margin-top: 0; padding-top: 0; }
#top #news .text { padding-right: 0; }
}
.notFound { }
.notFound h3 { font-size: 50px; margin-bottom: .5em; color: #005032; }
.notFound h5 { font-size: 25px; }
.notFound p { margin-bottom: 3em !important; }
.notFound .more a { margin: 0; }
#other #service .description .box { border: solid 1px #999; display: inline; padding: 5px 10px; }
#other #service .description .price { color: #085032; font-size: 22px; margin-top: 1em; }
#other #service .description .price span { font-size: 50px; margin: 0 .2em; }
.menuC .text .en::before { content: ''; display: block; width: auto; height: 34px; background: url(../imgs/icon-wh.png) center center no-repeat; margin-bottom: 1em; }
.menuC ul { display: block !important; }
.menuC li { display: flex; width:calc(100% * 1066/1066) !important;
background: #fff; }
.menuC .description { text-align: left; display: flex; align-items: center; padding: 0 50px; width:calc(100% * 676/1066);
}
.menuC .description dl { border-bottom: solid 1px #c5c5c5; overflow: hidden; padding-bottom: 20px; line-height: 1.7em; }
.menuC .description dt { float: left; }
.menuC .description dd { float: left; clear: both; width: 180px; }
.menuC .innr { width: 100%; }
.menuC .ttl { position: relative; }
.menuC .ttl::after { content: ''; display: block; width: 103px; height: 92px; background: url(../imgs/bestrate-small.png); position: absolute; top: -3px; left: 10px; }
.menuC .ttl .text { text-align: center; width: 100%; position: absolute; top: 50%; left: 0; color: #fff; font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
.menuC .area-bt { clear: both; justify-content: flex-start; }
.menuC .price { font-size: 15px; margin-right: auto; }
.menuC .price span { font-size: 32px; margin: 0 .2em; }
.menuC .more a { background: #1c8c56; color: #fff; }
.menuC li { margin-bottom: 40px; }
#other section + section + section { background: #f9f9ff; margin-top: 0; }
.btn-list { display: flex; justify-content: space-between; }
.btn-list a { display: flex; justify-content: center; padding: 20px 0; align-items: center; background: #1c8c56; color: #fff; margin: 10px; width: 25%; text-align: center; text-decoration: none; }
#service table { margin-top: 1em; }
h4.ttl { margin-top: 3em; }

@media only screen and (max-width:640px) {
#other #service .description .price { margin-top: 0; }
.menuC li { display: block; }
.menuC .ttl .text { line-height: 1.3em; }
.menuC .description { padding: 20px 20px 40px 20px; width: auto; }
.menuC .description dd { width: auto; }
.menuC .price { text-align: center; }
.area-bt .more { margin-right: auto; }
.btn-list { display: block; }
.btn-list a { width: auto; }
#age ul { display: block !important; }
#age ul li { width: auto !important; margin: calc(100vw * 40/640) 0 0;}
p.ttl-tx{font-size: calc(100vw * 23/640); letter-spacing: 0;}
#top #about.colRight .image{ height: auto;}
#age ul li:first-child { margin: 0; }
}
.menu03 li .image a:hover, li h4 a:hover { opacity: .7; }
.menu03 li h4 a::after { content: "\f08e"; font-family: 'Fontawesome'; padding-left: .5em; }
.contact.reserve a::after { content: "\f08e"; font-family: 'Fontawesome'; padding-left: .5em; }
.pagination { clear: both; padding: 20px 0; position: relative; font-size: 14px; line-height: 1em; text-align: center; }
.pagination-box { display: inline-block; }
.pagination span, .pagination a { display: block; float: left; margin: 2px 2px 2px 0; padding: 10px 14px 10px 14px; text-decoration: none; width: auto; color: #fff; background: #005031; }
.pagination span.page-of { background: none; color: #47BEA0; }
.pagination a:hover { color: #005031; background: #a58751; }
.pagination .current { padding: 10px 14px 10px 14px; background: #a58751; color: #fff; }
#top #about.colRight { margin: 40px 0 0 0; min-width: 1100px; }
#top #about.colRight .wrap { flex-direction: row-reverse; background: #33afcc; }
#top #about.colRight .wrap .text { height: auto; position: relative; }
#top #about.colRight .wrap .image { background: none; }
#top #about .image video { width: 100%; height: 100%; vertical-align: bottom; overflow: hidden; }
#age { padding: 70px 0; }
#age ul { display: flex; justify-content: space-between; }
#age ul li {
width: calc(100% * 376 / 1200); height: 130px; }
#age ul li:nth-child(1) a { background: #bed261; }
#age ul li:nth-child(2) a { background: #eec252; }
#age ul li:nth-child(3) a { background: #e6a5a6; }
#age ul li a { border-radius: 5px; display: block; color: #fff; justify-content: center; height: 100%; ; text-align: center; display: flex; align-items: center; text-decoration: none; }
#reason02 h2.ttl { margin-bottom: 0; padding: 0; background: none; display: flex; align-items: center; justify-content: center; }
#reason02 h2.ttl span { line-height: 1.3em; }
#reason02 h2.ttl .ja { margin: 0; }
#reason02.areAdmissions { background: none !important; }
#top #reason02.areAdmissions li a { color: #fff; background-image: none; padding: 0; border-radius: 5px; display: flex; align-items: center; justify-content: center; }
#top #reason02.areAdmissions li:nth-child(1) a { background: #bed261; }
#top #reason02.areAdmissions li:nth-child(2) a { background: #eec252; }
#top #reason02.areAdmissions li:nth-child(3) a { background: #e6a5a6; }
#top #reason02.areAdmissions a::before, #top #reason02.areAdmissions a::after { display: none; }
#top #reason02.areAdmissions .ttl span { color: #000; }
.video-wrap { position: relative; }
.video-btn { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 40px; /*コントローラー分下部に余白を*/ cursor: pointer; }
