﻿@charset "UTF-8";

* { margin: 0px; padding: 0px; }
*::after,
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body {
 height: auto;
 position: relative;
 margin: 0 auto;
 font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
 line-height: 100%;
 color: #333;
 background: url(img/bg.gif) repeat left top;
 text-align: left;
 word-wrap: break-word;
 text-rendering: optimizeLegibility;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 -webkit-touch-callout: none;
 position: relative;
 -webkit-text-size-adjust: 100%;
 -webkit-touch-callout: none;
 -webkit-tap-highlight-color:rgba(0,0,0,0);
}

article,aside,dialog,figure,footer,header,hgroup,menu,nav,section,ul { display: block; }

h1,h2,h3,h4 { font-weight: normal; line-height: 100%; margin: 0px; padding: 0px; }

p { color: #333; word-break: normal; }

em { font-style: normal }

address { font-style: normal; }

img { border: none; vertical-align: bottom; }

img { -ms-interpolation-mode: bicubic; }

hr { display: none; }

.space5  { height:  5px; }
.space10 { height: 10px; }
.space20 { height: 20px; }
.space30 { height: 30px; }
.space40 { height: 40px; }
.space50 { height: 50px; }
.space60 { height: 60px; }

/* clearfix */

.clear { clear: both; }

.clearfix        { display: inline-block; }
.clearfix:after  { content: "."; display: block; height: 0;clear: both; visibility: hidden; line-height:0; font-size:0; }
* html .clearfix { height: 1%; }
.clearfix        { display: block; }

/* link */

a       { color: #333; }
a:hover { text-decoration: none; }
a *     { cursor: pointer; }
a:focus { outline: none; }

/* table */

table    { border-collapse: collapse; }
table th { vertical-align: top; text-align: left; }
table td { text-align: left; padding: 0.5rem; }

div.clear { clear: both; }

div.clear br { display: none; }

/* elements */

::selection { background: #454545; color: #fff; }
::-moz-selection { background: #454545; color: #fff; }

.listBlock,.listBlock ul,.listBlock li { display: block; ist-style-type: none; }

.txt   { font-size: 108%; line-height: 1.714; }
.txt a { color: #c30d23; }

.var_t th { vertical-align: middle; }
.var_t td { vertical-align: middle; }

/* 幅指定 */

body,#header,#globalNav,#footer { min-width: 1020px; }

@media screen and (max-width: 1020px) {
 body,#header,#globalNav,#footer { min-width: 720px; }
 }

@media screen and (max-width: 750px) {
 body,#header,#globalNav,#footer { min-width: 320px; }
 }

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

 PC Styling

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

/* --------------------------------------------------------------------- */
/* header */
/* --------------------------------------------------------------------- */

.inner { width: 980px; margin: 0 auto; position: relative; }
.inner:after { content:""; clear: both; display: block; }

/*--------header-----------*/

#top-head         { top: -170px; position: absolute; width: 100%; height: 100px; margin: 70px auto 0 auto; padding: 20px 0; line-height: 1; z-index: 999; background: -moz-linear-gradient(left, #e85666, #F5B1AA); background: -webkit-linear-gradient(left, #e85666, #F5B1AA); background: linear-gradient(to right, #e85666, #F5B1AA); }
#top-head a       { color: #000; text-decoration: none; }
#top-head         { color: #000; text-decoration: none; }
#top-head .inner  { position: relative; }
#top-head .logo   { float: left; position: relative; }
#top-head .logo a { position: absolute; width: 100%; }

#global-nav ul                   { list-style: none; position: absolute; top: 20px; right: 0; font-size: 14px; }
#global-nav ul li                { float: left; padding:0 10px; border-left: 1px solid #FFF8F8; }
#global-nav ul li a              { padding: 5px 5px; position: relative; display: inline-block; color: #FFF8F8; }
#global-nav ul li a::after       { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); background-color: #fff; -webkit-transition: all .3s ease; transition: all .3s ease; }
#global-nav ul li a:hover::after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); }

nav span { background: #666; height: 2px; display: block; position: relative; width: 50px; left: 0; }

/*--------固定化されたときのCSS-----------*/

#top-head.fixed                     { margin-top: 0; top: 0; position: fixed; padding: 15px 0; transition: top 0.65s ease-in; -webkit-transition: top 0.65s ease-in; -moz-transition: top 0.65s ease-in; }
#top-head.fixed .logo               { position: relative; }
#top-head.fixed .logo a             { position: absolute; width: 100%; }
#top-head.fixed #global-nav ul li a { color: #FFF8F8; padding: 5px 5px; }

/*---------トップ画像--------------*/

#main-visual     { margin: 100px auto 0 auto; text-align: center; }
#main-visual img { width: 100%; max-width: 1280px; }

/*-----------トグルボタン-------------*/

#nav-toggle { display: none; position: absolute; right: 12px; top: 14px; width: 34px; height: 36px; cursor: pointer; z-index: 101; }
#nav-toggle div { position: relative; }
#nav-toggle span { display: block; position: absolute; height: 4px; width: 100%; background: #FEF7F8; left: 0; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }
#nav-toggle span:nth-child(1) { top: 0; }
#nav-toggle span:nth-child(2) { top: 11px; }
#nav-toggle span:nth-child(3) { top: 22px; }

/* --------------------------------------------------------------------- */
/* contents */
/* --------------------------------------------------------------------- */

h2 { margin: 60px 0 50px 0; font-size: 2em; letter-spacing: 0.1em; font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W6","HiraMinProN-W6","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; }

#contents                               { margin: 0 auto; text-align: center; max-width: 1280px; }

#contents .subNav                       { text-align: center; padding: 25px 0; }
#contents .subNav nav ul                { list-style: none; width: 100%; display: block; }
#contents .subNav nav ul li             { display: inline-block; border-right: 1px solid #d1d1d1; padding: 3px 15px; font-size: 1.4rem; }
#contents .subNav nav ul li:first-child { border-left: 1px solid #d1d1d1; }
#contents .subNav nav ul li a           { text-decoration: none; padding-left: 12px; }
#contents .subNav nav ul li a.current   { color: #E86B79; }
#contents .subNav nav ul li a:hover     { color: #E86B79; }

/* halfBlock */

.halfBlock { display: block; }

.halfBlock ul { list-style: none; display: block; border-bottom: 1px solid #d8d8d7; }

.halfBlock ul li a        { width: 100%; display: block; }
.halfBlock ul li a figure { width: 50%; height: 350px; float: right; }

.halfBlock ul li:nth-child(2n) a figure { float: left; }
.halfBlock ul li:nth-child(2n) a div.txtBlock { float: right; }

.halfBlock ul li.l1 figure { background: url(img/half-01.jpg) no-repeat center center / cover; }
.halfBlock ul li.l2 figure { background: url(img/half-02.jpg) no-repeat center center / cover; }

.halfBlock ul li a div.txtBlock                  { width: 50%; height: 350px; float: left; display: table; text-align: center; }
.halfBlock ul li a div.txtBlock div              { display: table-cell; vertical-align: middle; }
.halfBlock ul li a div.txtBlock div h2           { font-size: 3.6rem; margin-bottom: 18px; }
.halfBlock ul li a div.txtBlock div .txt         { font-size: 1.4rem; line-height: 1.714; margin-bottom: 20px; }
.halfBlock ul li a div.txtBlock div .more        { width: 198px; text-align: center; margin: 0 auto; padding: 18px 0; color: #fff; text-decoration: none; font-weight: bold; font-size: 1.3rem; line-height: 1; background: #E86B79; display: block; position: relative; border-radius: 2px; }
.halfBlock ul li a div.txtBlock div .more::after { width: 20px; height: 7px; position: absolute; top: 50%; right: 15px; margin-top: -4px; display: block; }

.halfBlock ul li a:hover div.txtBlock div .more        { background: #FF0000; }
.halfBlock ul li a:hover div.txtBlock div .more::after { right: 10px; }

.halfBlock ul li a figure {
 pointer-events: none;
 -webkit-filter: grayscale(0%);
 filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
 filter: grayscale(0%);
}

.halfBlock ul li a:hover figure {
 -webkit-filter: grayscale(80%);
 filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
 filter: grayscale(80%);
}

/* halfBlock-B */

.col { display: block; float: left; width: 100%; }

.halfBlock-b                  { margin: 20px 0; }
.halfBlock-b .col             { margin-left: 2%; width: 49%; }
.halfBlock-b .col:first-child { margin-left: 0; }

.button          { display: inline-block; font-size: 0.8em; font-weight: bold; line-height: 1em; outline: medium none; padding: 0 3em; text-align: center; text-decoration: none; font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W6","HiraMinProN-W6","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; }
.button::before  { display: block; position: absolute; z-index: -1; }
.button::after   { display: block; position: absolute; z-index: -1; }
.button          { box-sizing: border-box; transition: all 0.3s ease 0s; }
.button::beforer { box-sizing: border-box; transition: all 0.3s ease 0s; }
.button::after   { box-sizing: border-box; transition: all 0.3s ease 0s; }
.button02        { background-color: transparent; border: 2px solid #fff; color: #fff; line-height: 40px; }
.button02:hover  { background-color: rgba(255, 255, 255, 0.4); color: #fff; }

.expand { transition: all 0.3s ease-in-out 0s; }

.figure               { overflow: hidden; position: relative; width: 100%; }
.figure img           { width: 100%; }
.figure:hover .expand { transform: scale(1.2); }

.figcaption    { padding: 0; bottom: 0; color: #fff; height: 100%; left: 0; opacity: 1; position: absolute; transition: all 0.3s ease 0s; width: 100%; z-index: 2; }
.figcaption h2 { height: 25%; line-height: 2.5; margin: 50px 0 0 0; font-weight: bold; text-shadow: 1px 1px 1px #000, -1px 1px 1px #000, 1px -1px 1px #000, -1px -1px 1px #333; }
.figcaption p  { line-height: 1.5; margin: 0 auto 1em auto; padding: 0 2em; color: #fff; text-shadow: 1px 1px 1px #000, -1px 1px 1px #000, 1px -1px 1px #000, -1px -1px 1px #333; }

/* 3links */

.linkBlock { border-top: 1px solid #fff; border-bottom: 1px solid #e2e2e2; padding: 60px 0; }

.linkBlockBody { max-width: 1280px; width: 100%; margin: 0 auto; }

.linkBlock ul                 { width: 100%; list-style: none; display: block; }
.linkBlock ul li              { float: left; width: 31.3%; }
.linkBlock ul li a            { text-decoration: none; display: block; position: relative; }
.linkBlock ul li a span       { font-size: 1.2rem; position: absolute; right: 0; color: #cacac9; }
.linkBlock ul li a h2         { font-size: 2rem; padding-left: 0; margin-top: 15px; }
.linkBlock ul li a:hover h2   { color: #005884; }
.linkBlock ul li a figure img { width: 100%; height: auto; }
.linkBlock ul li:nth-child(2) { margin: 0 3.05%; }

/* banner */

.banner     { margin: 45px auto 30px auto; text-align: center; padding: 0 15px; }
.banner img { width: 100%; max-width: 1280px; }

/* messageArea */

img.left  { margin: 0 20px 20px 0; padding: 0; float: left; }
img.right { margin: 0 0 20px 20px; padding: 0; float: right; }

.reference        { margin: 40px; padding: 0 40px; border: 1px solid #ccc; }
.reference p.em0  { margin-left: 0em; text-indent: 0rem; }
.reference p.em1  { margin-left: 1em; text-indent: 0rem; }
.reference p.em2  { margin-left: 2em; text-indent: 0rem; }
 
.messageArea        { width: 80%; margin: 0 auto 30px auto; }
.messageArea h2     { font-size: 2rem; margin: 60px 0 40px 0; }
.messageArea h3     { font-size: 1.35rem; line-height: 1.35em; font-weight: bold; margin: 40px 0 20px 0; text-align: left; }
.messageArea p      { line-height: 175%; letter-spacing: 0.1rem; text-indent: 1rem; margin: 20px 0; text-align: left; }
.messageArea .nti p { line-height: 175%; letter-spacing: 0.1rem; text-indent: 0rem; margin: 20px 0; }

span.gosaijin1 { margin: 0 20px 0 0; }

.garally     { width: 100%; margin: 0 auto; text-align: center; }
.garally p   { margin: 0 auto; text-align: center; }
.garally img { margin: 2px auto; }
.garally li  { list-style: none; display: inline-block; }

/* frame-info */

.frame-info-table { width: 66%; border-collapse: collapse; margin: 15px auto 30px auto; }
.frame-info-bg    { width: 5rem; border: 1px #666666 solid; background-color: #eeeeee; padding: 15px 0px; text-align: center; vertical-align: middle; line-height: 1.5rem; }
.frame-info-text1 { border: 1px #666666 solid; background-color: #ffffff; padding: 10px; vertical-align: middle; line-height: 1.5rem; }
.frame-info-text2 { border: 1px #666666 solid; background-color: #ffffff; padding: 5px 15px; vertical-align: middle; }

/* frame-oneself & history */

.oneself       { margin: 0 auto; text-align: center; }
.oneself table { margin: 20px auto; line-height: 175%; letter-spacing: 0.1rem; }
.oneself th    { font-size: 150%; padding: 10px 10px 5px 10px; vertical-align: middle; }
.oneself td    { font-size: 150%; padding: 10px 10px 5px 10px; vertical-align: middle; }

.history       { margin: 0 auto; text-align: center; }
.history table { margin: 20px auto; line-height: 175%; letter-spacing: 0.1rem; }
.history th    { font-size: 150%; height:1rem; padding: 10px 10px 5px 10px; vertical-align: middle; }
.history td    { font-size: 150%; height:1rem; padding: 10px 10px 5px 10px; vertical-align: middle; }

.yakudoshi       { margin: 0 auto; text-align: center; }
.yakudoshi table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; }
.yakudoshi th    { font-size: 14px; padding: 15px; text-align: center; border: 1px solid #ccc; }
.yakudoshi td    { font-size: 14px; padding: 15px; text-align: center; border: 1px solid #ccc; }
.yakudoshi td.honyaku    { color: #ff0000; background: #ffc0cb; }

.toshiiwai       { margin: 0 auto; text-align: center; }
.toshiiwai table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; }
.toshiiwai td    { font-size: 14px; padding: 15px 25px; text-align: center; border: 1px solid #ccc; }
span.toshi { margin: 0 0 0 1.5rem; }

.nenkan       { margin: 0 auto; text-align: center; }
.nenkan table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; width: 640px; }
.nenkan th    { padding: 15px 0; text-align: center; background: #ccc; }
.nenkan td    { border: 1px solid #ccc; }
.nenkan .text { padding: 0.5em; text-align: left; }
.nenkan .day  { width: 6em; padding: 0.5em; text-align: right; }
.nenkan .time { width: 4em; padding: 0.5em; text-align: center; }
.nenkan li    { margin: 0 0 0 1em;list-style-position: outside; }

/* keidai */

.keidai { font-size: 0.9rem; }

.sohonsha-1 { width: 3.5rem; vertical-align: top; display: inline-block; }
.sohonsha-2 { margin: 0 0 0 1.5rem; display: inline-block; }

.gosaijin-1 { width: 3.5rem; vertical-align: top; display: inline-block; }
.gosaijin-2 { margin: 0 0 0 1.5rem; display: inline-block; }

.shintoku-1 { width: 3.5rem; vertical-align: top; display: inline-block; }
.shintoku-2 { margin: 0 0 0 1.5rem; display: inline-block; }

/* embed */

.wrap { max-width: 500px; margin: 0 auto; }
.page { min-height: 500px; }
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{ width: 100% !important; }

.iframe         { width: 1020px; margin: 60px auto; text-align: center; }
.iflame_box1    { margin: 0 auto; width: 500px; display: block; float: left; display: inline-block; padding: 0 0 0 0; }
.iflame_box2    { margin: 0 auto; width: 500px; display: block; float: left; display: inline-block; padding: 0 0 0 20px; }
.iframe iframe  { display: inline-block; }

.youtube        { margin: 30px auto -30px auto; text-align: center; position: relative; width: 1020px; padding-top: 56.25%; padding-bottom: 30px; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 1020px; height: 570px; }

/* view */

.viewRW,br.viewRW { display: none !important; }
.viewPC { display: block; }

/* tel set */

a.spCall { color: inherit; cursor: default; text-decoration: none; }

/* --------------------------------------------------------------------- */
/* footer*/
/* --------------------------------------------------------------------- */

#footer { padding: 30px 0 0 0; background: #E86B79; position: relative; display: block;  margin-top: 10px; }
#footer ul { list-style: none; display: block; }

#footer .footerBody { margin: 0 60px; padding: 0 0 40px 0; position: relative; }

#footer .obj { position: absolute; bottom: 67px; right: 0px; }

/* copy block */

#footer .copyBlock        { border-top: 1px solid #e1e1e1; text-align: center; padding: 21px 0 15px 0; }
#footer .copyBlock p      { width: 100%; height: 152px; overflow: hidden; margin: 0 auto; background-size: contain; }
#footer .copyBlock p span { padding-top: 500px; display: block; }

/* menu */

#footer .menu                 { width: auto; text-align: center; border-bottom: 1px solid #434343; padding-bottom: 30px; margin: 30px 0px 30px 0p; }
#footer .menu ul              { display: inline-block; border-left: 1px solid #434343; padding: 3px 0; }
#footer .menu ul li           { display: inline; font-size: 1.2rem; font-weight: bold; border-right: 1px solid #434343; padding: 3px 0; }
#footer .menu ul li a         { opacity: 0.5; padding: 0 13px; text-decoration: none; }
#footer .menu ul li a.current { opacity: 1; }
#footer .menu ul li a:hover   { opacity: 1; }

/* information */

#footer .info                     { display: table; }
#footer .info .logo               { padding: 0; }
#footer .info .addressBox         { display: table-cell; vertical-align: top; padding: 0 25px; }
#footer .info .telBox             { display: table-cell; vertical-align: top; padding: 0 25px; }
#footer .info .addressBox address { display: inline; }
#footer .info .addressBox p       { color: #FEFFF8; font-size: 1.2rem; line-height: 1.66; }
#footer .info .addressBox address { color: #FEFFF8; font-size: 1.2rem; line-height: 1.66; }
#footer .info .telBox p           { color: #FEFFF8; font-size: 1.2rem; line-height: 1.66; }
#footer .other p                  { color: #FEFFF8; font-size: 1.2rem; line-height: 1.66; }


#footer .address         { padding: 0 30px; text-align: left; }
#footer .address p       { color: #FEFFF8; font-size: 2rem; line-height: 2; }
#footer .address address { color: #FEFFF8; font-size: 1.2rem; line-height: 1.66; }


/* other */

#footer .other                    { margin-top: 35px; }
#footer .other .right             { position: absolute; right: 0; bottom: 40px; }
#footer .other .right p           { font-size: 0.8rem; display: inline; }
#footer .other .right .fb a       { border: 1px solid #515151; padding: 7px 10px 7px 10px; border-radius: 2px; margin-left: 15px; text-decoration: none; color: #ababab; }
#footer .other .right .fb a:hover { border-color: #fff; background: #fff; color: #555; }

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼　Tablet Styling　▼▼▼▼▼▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1024px) {

/* --------------------------------------------------------------------- */
/* header */
/* --------------------------------------------------------------------- */

.head-inner { display: none; }
.slick-next { right: 0; }

h1 img { padding: 10px 0 20px 60px; }

#top-head { width: 100%; padding: 0; top: 0; position: fixed; margin-top: 0; }
.inner { width: 100%; padding: 0; }

 /* Fixed reset */

#top-head.fixed       { padding-top: 0; background: transparent; }
#top-head.fixed .logo { position: absolute; left: 15px; }
#top-head .logo       { position: absolute; left: 15px; }

#mobile-head { background: #E86B79; width: 100%; height: 100px; z-index: 999; position: relative; background: rgba(232,86,102,0.8); transition: top 0.65s ease-in; -webkit-transition: top 0.65s ease-in; -moz-transition: top 0.65s ease-in; }

#global-nav       { position: absolute; /* 開いてないときは画面外に配置 */ top: -456px; background: #E86B79; width: 100%; text-align: center; padding: 5px 0; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out; }
#global-nav ul    { list-style: none; position: static; right: 0; bottom: 0; font-size: 18px; }
#global-nav ul li { float: none; position: static; padding: 0; color: #fff; }

#top-head #global-nav ul li a       { width: 100%; display: block; color: #fff; padding: 10px 0; }
#top-head.fixed #global-nav ul li a { width: 100%; display: block; color: #fff; padding: 10px 0; }

#nav-toggle { display: block; right: 25px; top: 40px; }

 /* #nav-toggle 切り替えアニメーション */

.open #nav-toggle span:nth-child(1) { top: 11px; -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }
.open #nav-toggle span:nth-child(2) { width: 0; left: 50%; }
.open #nav-toggle span:nth-child(3) { top: 11px; -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }

 /* #global-nav スライドアニメーション */

.open #global-nav { /* #global-nav top + #mobile-head height */ -moz-transform: translateY(556px); -webkit-transform: translateY(556px); transform: translateY(556px); }

#main-visual     { margin: 100px auto 0 auto; }

/* --------------------------------------------------------------------- */
/* contents */
/* --------------------------------------------------------------------- */

/* halfBlock */

.halfBlock ul li a div.txtBlock div h2 { font-size: 2.8rem; }
.halfBlock ul li a div.txtBlock div .txt { font-size: 1.3rem; }

/* halfBlock-B */

article { padding: 0 30px }
article.overPhoto { padding: 0; }

.figure:hover { bottom: 0; }

.figcaption h2 { height: 20%; line-height: 2.5; margin: 10px 0 25px 0; }
.figcaption p  { line-height: 1.25; margin: 0 auto 10px auto; padding: 0 2em; }

/* 3links */

.linkBlock { padding: 30px 0; }

.linkBlock ul                 { margin: 0 auto; }
.linkBlock ul li a span       { font-size: 1rem; }
.linkBlock ul li a figure img { width: 100%; height: auto; }
.linkBlock ul li a h2         { font-size: 1.8rem; margin: 15px 0 0 0; }
.linkBlock ul li a:hover h2   { }

/* embed */

.iframe         { width: 100%; margin: 60px auto; text-align: center; }

.iflame_box1    { margin: 0 auto 30px auto; width: 100%; display: block; display: inline-block; clear: both; }

.iflame_box2        { position: relative; width: 100%; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; clear: both; }
.iflame_box2 iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.iflame_box2 object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.iflame_box2 embed  { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.youtube        { position: relative; width: 100%; padding-top: 56.25%; padding-bottom: 30px; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

#footer  { margin-top: 40px; }

}

/* ▲▲▲▲▲▲▲▲▲▲▲▲▲　Tablet Styling　▲▲▲▲▲▲▲▲▲▲▲▲▲ */

/* ▼▼▼▼▼▼▼▼▼▼  for vertical tablet  ▼▼▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1023px) {

.keidai { font-size: 0.8rem; width: 100%; margin: 0 auto; text-akign: center; }

.sohonsha-1 { display: block; }
.sohonsha-2 { margin: 0; display: block; }

.gosaijin-1 { display: block; }
.gosaijin-2 { margin: 0; display: block; }

.shintoku-1 { display: block; }
.shintoku-2 { margin: 0; display: block; }

/* banner */

.banner     { margin: 20px auto; text-align: center; }
.banner img { width: 100%; max-width: 1280px; }

}

/* ▲▲▲▲▲▲▲▲▲▲  for vertical tablet  ▲▲▲▲▲▲▲▲▲▲ */

/* ▼▼▼▼▼▼▼▼▼▼▼▼　SmartPhone Styling　▼▼▼▼▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 799px) {

/* wrap */

html { padding: 0; width: auto; max-width: 750px; }
body { width: 100%; display: block; width: 100% !important; height: 100% !important; margin: 0 auto; padding: 0; position: relative; }

/* reset */

p { line-height: 100%; }
a { -webkit-tap-highlight-color:rgba(0,0,0,0); }

/* view */

.viewRW   { display: block !important; }
br.viewRW { display: inline !important; }
.viewPC   { display: none !important; }

/* view - contents  */

.txt { line-height: 1.65; font-size: 12px; line-height: 1.5; }

.min.txt { font-size: 10px !important; }

.scope { margin: 0 10px; }

.read { line-height: 1.5; margin-top: 13px; }

/* --------------------------------------------------------------------- */
/* header */
/* --------------------------------------------------------------------- */

h1 img { width: 220px; padding: 20px 0 20px 0; }

.head-inner { display: none; }

.slick-next { right: 0; }

#top-head { height: 80px; width: 100%; padding: 0; top: 0; position: fixed; margin-top: 0; }

.inner { width: 100%; padding: 0; }

 /* Fixed reset */

#top-head.fixed       { padding-top: 0; background: transparent; }
#top-head.fixed .logo { position: absolute; left: 15px; }
#top-head .logo       { position: absolute; left: 15px; }

#mobile-head { background: #E86B79; width: 100%; height: 80px; z-index: 999; position: relative; background: #E86B79; background: rgba(232,86,102,0.8); transition: top 0.65s ease-in; -webkit-transition: top 0.65s ease-in; -moz-transition: top 0.65s ease-in; }

#global-nav       { position: absolute; /* 開いてないときは画面外に配置 */ top: -478px; background: #E86B79; width: 100%; text-align: center; padding: 5px 0; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out; }
#global-nav ul    { list-style: none; position: static; right: 0; bottom: 0; font-size: 18px; }
#global-nav ul li { float: none; position: static; padding: 0; color: #fff; }

#top-head #global-nav ul li a       { width: 100%; display: block; color: #fff; padding: 10px 0; }
#top-head.fixed #global-nav ul li a { width: 100%; display: block; color: #fff; padding: 10px 0; }

#nav-toggle { display: block; right: 25px; top: 28px; width: 30px; }

 /* #nav-toggle 切り替えアニメーション */

.open #nav-toggle span:nth-child(1) { top: 11px; -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }
.open #nav-toggle span:nth-child(2) { width: 0; left: 50%; }
.open #nav-toggle span:nth-child(3) { top: 11px; -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }

 /* #global-nav スライドアニメーション */

.open #global-nav { /* #global-nav top + #mobile-head height */ -moz-transform: translateY(556px); -webkit-transform: translateY(556px); transform: translateY(556px); }

#main-visual     { margin: 80px auto 0 auto; }

/* --------------------------------------------------------------------- */
/* contents */
/* --------------------------------------------------------------------- */

h2 { margin: 30px 0; }

/* halfBlock */

.halfBlock ul li a figure { height: 160px; pointer-events: auto; }

.halfBlock ul li a div.txtBlock                  { height: 160px; }
.halfBlock ul li a div.txtBlock div h2           { margin-bottom: 8px; font-size: 1.5rem; }
.halfBlock ul li a div.txtBlock div .txt         { margin-bottom: 10px; font-size: 0.9rem; line-height: 1.65; margin: 0 10px 10px 10px; }
.halfBlock ul li a div.txtBlock div .txt br      { display: none; }
.halfBlock ul li a div.txtBlock div .more        { width: 50%; font-size: 0.9rem; padding: 5px 0; }
.halfBlock ul li a div.txtBlock div .more::after { display: none; }

/* halfBlock-B */

.halfBlock-b .col { margin: 0; width: 100%; }
.figcaption    { padding: 1em 0; }
.figcaption h2 { height: auto; line-height: 1; margin: 60px 0 10px 0;}
.figcaption p  { line-height: 1.25; margin: 0 auto; padding: 0 0 5px 0; }
img.label      { float: none; width: 40%; }

/* 3links */

.linkBlock { padding: 20px; }

.linkBlock ul { background: #fff; border-radius: 6px; border-bottom: 1px solid #e1e1e0; }

.linkBlock ul li              { float: none; width: 100%; border-bottom: 1px solid #e1e1e0; }
.linkBlock ul li:last-child   { border: none; }
.linkBlock ul li:nth-child(2) { margin: 0; }
.linkBlock ul li a            { padding: 10px; }
.linkBlock ul li a span       { position: static; margin-left: 10px; font-size: 1.2rem; }
.linkBlock ul li a h2         { display: table-cell; vertical-align: middle; font-size: 1.4rem; width: 70%; padding-left: 15px; }
.linkBlock ul li a:hover h2   { }
.linkBlock ul li a figure     { display: table-cell; vertical-align: middle; width: 30%; }
.linkBlock ul li a figure img { width: 100%; height: auto; }

/* banner */

.banner     { margin: 20px auto; text-align: center; }
.banner img { width: 100%; max-width: 1280px; }

/* nenkan */

.nenkan       { margin: 0 auto; text-align: center; }
.nenkan table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; width: 480px; }
.nenkan th    { padding: 15px 0; text-align: center; background: #ccc; }
.nenkan td    { border: 1px solid #ccc; }
.nenkan .text { padding: 0.5em; text-align: left; }
.nenkan .day  { width: 6em; padding: 0.5em; text-align: right; }
.nenkan .time { width: 4em; padding: 0.5em; text-align: center; }
.nenkan li    { margin: 0 0 0 1em;list-style-position: outside; }

/* embed */

.wrap { max-width: 500px; margin: 0 auto; padding: 30px; }
.page { min-height: 500px; }
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{ width: 100% !important; }

.gmap        { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.gmap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.gmap object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.gmap embed  { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

span.gosaijin1 { }
span.gosaijin2 { display: block; }

.yakudoshi       { margin: 0 auto; text-align: center; }
.yakudoshi table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; }
.yakudoshi th    { font-size: 13px; padding: 5px; text-align: center; border: 1px solid #ccc; }
.yakudoshi td    { font-size: 13px; padding: 5px; text-align: center; border: 1px solid #ccc; }
.yakudoshi td.honyaku    { color: #ff0000; background: #ffc0cb; }

.toshiiwai td    { font-size: 13px; padding: 10px; text-align: center; border: 1px solid #ccc; }
span.toshi { margin: 0 0 0 1rem; }

/* keidai */

.sohonsha-1 { display: block; }
.sohonsha-2 { margin: 0; display: block; }

.gosaijin-1 { display: block; }
.gosaijin-2 { margin: 0; display: block; }

.shintoku-1 { display: block; }
.shintoku-2 { margin: 0; display: block; }

/* nenkan */

.nenkan       { margin: 0 auto; text-align: center; }
.nenkan table { margin: 0 auto 40px auto; line-height: 125%; letter-spacing: 0.1rem; border: 1px solid #ccc; width: 100%; }
.nenkan th    { padding: 10px 0; text-align: center; background: #ccc; }
.nenkan td    { border: 1px solid #ccc; }
.nenkan .text { font-size: 12px; padding: 0.2em; text-align: left; }
.nenkan .day  { font-size: 12px; width: 5.5em; padding: 0.2em; text-align: right; }
.nenkan .time { font-size: 12px; width: 4em; padding: 0.2em; text-align: center; }
.nenkan li    { margin: 0 0 0 1.2em; list-style-position: outside; }

/* --------------------------------------------------------------------- */
/* footer */
/* --------------------------------------------------------------------- */

#footer  { margin-top: 40px; }

#footer .viewRW { display: inline !important; }
#footer .viewPC { display: none !important; }

/* copy block */

#footer .copyBlock p { width: 254px; height: 76px;  background-size: contain; }

#footer .footerBody { margin: -30px 0 0 0; padding: 0; }

#footer .menu { display: none; }

#footer .rwInfo   { width: auto; display: block !important; text-align: center; }
#footer .rwInfo * { font-size: 1.2rem; line-height: 1.6; color: #FEFFF8; }

#footer .rwInfo .telBox a            { padding: 20px 0 0 0; text-decoration: none; display: block; }
#footer .rwInfo .telBox a .title     { margin-bottom: 2px; }
#footer .rwInfo .telBox a .tel       { margin: 0 20px 0 20px; padding-bottom: 20px; border-bottom: 1px solid #cccccc; }
#footer .rwInfo .telBox a p span     { font-size: 1.8rem; line-height: 1; font-weight: bold; }
#footer .rwInfo .telBox a:hover      { background: #E86B79; margin-bottom: 2px; }
#footer .rwInfo .telBox a:hover .tel { border-bottom: 1px solid #111; margin: 0; }

#footer .rwInfo .addressBox                  { margin-top: 20px; }
#footer .rwInfo .addressBox ul               { margin: 15px 0; }
#footer .rwInfo .addressBox ul li            { display: inline; border-right: 1px solid #6f6f6f; padding: 0 14px; }
#footer .rwInfo .addressBox ul li:last-child { border-right: none; }

#footer .other .right   { width: auto; position: static; text-align: center; margin: 0 auto; padding: 18px 0; border-top: 1px solid #ccc; background: #E86B79; }
#footer .other .right p { font-size: 0.7rem; }

}

/* ▲▲▲▲▲▲▲▲▲▲▲▲　SmartPhone Styling　▲▲▲▲▲▲▲▲▲▲▲▲ */

/* ▼▼▼▼▼▼▼▼▼▼▼▼　SmartPhone Styling　▼▼▼▼▼▼▼▼▼▼▼▼ */

@media (max-width: 480px) {

h2 { font-size: 1.4em; }


.halfBlock ul li a div.txtBlock div h2 { font-size: 1.4rem; }

/* halfBlock-B */

.figcaption h2 { height: auto; line-height: 1; margin: 20px 0 10px 0; }
.figcaption p  { line-height: 1.25; margin: 0 auto; padding: 0 0 5px 0; font-size: 14px; }

.reference { margin: 20px 0; padding: 0 10px; }

.button          { font-size: 1.2em; padding: 0 1.5em; }
.button02        { line-height: 30px; }

img.left  { margin: 0 auto; display: block; float: none; }
img.right { margin: 0 auto; display: block; float: none; }

}

/* ▲▲▲▲▲▲▲▲▲▲▲▲　SmartPhone Styling　▲▲▲▲▲▲▲▲▲▲▲▲ */