@charset "UTF-8";
/*  
Theme Name:Original Style - 1column
Version:1.2
*/
body{
    font-family: "游ゴシック","Yu Gothic","メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.page .page-title,
.page .bread_wrap,
.page #footer,
.page .contentbottom{
	display:none;
}
.page .mainblock.under{
	padding-bottom:0;
}
.page #contents > .inner {/* トップページ幅 100% */
	width:100%;
	max-width:100%;
}
.topinner {/* コンテンツは1000pxに */
	width:1000px;
	margin:0 auto;
	max-width:96%;
}

/* tinyMCE用に見出しをリセット */
.page h3,
.page h4,
.page h5 {
	background:none;
	border:none;
	color:inherit;
	font-size:inherit;
	line-height:inherit;
	margin:0;
	padding:0;
    border-radius: 0;
    text-align: left;
    font-weight: normal;
    box-shadow: none;
}
.page h3::before,
.page h3::after ,
.page h4::before,
.page h4::after,
.page h5::before,
.page h5::after {
	display:none;
}


/*　ウィジット周り　*/
#header h1 {
    display: block;
    float: left;
    max-width: 44%;
    width: 366px;
    margin: 0 0 0 15%;
    padding-top:16px;
}
.lp_header_left {
    width: 180px;
    max-width: 20%;
    float: left;
}
.lp_header_left img{width:180px;}
.headerinner ul.pc {
    float: right;
    overflow: hidden;
    width: 210px;
    max-width: 21%;
    padding-top:6px;
}
.headerinner .tel img {
    width: 206px;
}
.headerinner .tel .btn img {
    width: 210px;
}
.copyright {
    font-size: 14px;
    text-align: center;
    padding: 0.5em;
}
@media screen and (min-width: 768px){
    #header {
    padding: 20px 0 13px;
    }
    #nav{
        background: none;
    }
  #nav.fixed {
    background: rgba(255,255,255,.9);
}
 #menu-header-nav {
    text-align: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
     -webkit-justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-box-pack: space-between;
	justify-content: space-between;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
     -webkit-align-items: center;      /* Safari etc. */
 	-ms-align-items    : center;      /* IE10        */
	align-items        : center;
}
#menu-header-nav > li > a {
    font-size: 16px;
    font-weight: normal;
    box-sizing: border-box;
    padding: 15px 10px;
    color: #333;
    position: relative;
    z-index: 20000;
    line-height: 1.4;
    transition: 200ms;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
    #menu-header-nav > li.nav05 > a{
        padding: 5px 10px;
    }
    #menu-header-nav > li > a:hover {

  background: #5772bb;
}
#menu-header-nav > li {
  width: inherit!important;
    display: inline-block;
    float:none;
    vertical-align: middle;
}

    #menu-header-nav > li:not(.nav01):before{
        display: none;
    }
}
@media screen and (min-width: 768px) and (max-width: 1042px){
#menu-header-nav > li > a {
    font-size: 15px;
    }
    #header h1 {
    margin: 0 0 0 9%;
    }
}
@media screen and (max-width: 767px){
    #header h1 {
    margin: 0 auto 10px;
    max-width: 80%;
    text-align: center;
            float: none;
}
    .headerinner ul li{
        background: none;
        border:none;
    }
    .headerinner ul img{
        padding:0;
    }
    #aside .inq {
    bottom: 0;
    position: fixed;
    z-index: 1;
    right: 0;
    width: 100%;
}
    #aside .inq .clearfix a {
    float: none;
    width: 100%;
    margin: 0!important;
    box-sizing: border-box;
    box-sizing: border-box;
}
    #aside .inq .clearfix {
    width: 96%;
    margin: 0 auto;
}
    .copyright{
        padding-bottom:16%!important;
    }
}
/*==========================
	汎用に使えるボタン
==========================*/
.btn-style { text-align:center; }
.btn-style a {
	background: #5771b8;
	width:280px;
	max-width:100%;
	padding:1em 1.2em;
	text-align:center;
	color:#fff;
	display:inline-block;
	text-decoration:none;
	line-height:1.2;
	box-sizing:border-box;
	font-size:16px;
	border-radius:6px;
	position:relative;
    border:none;
}
.btn-style a span{
	display:block;
	font-size:12px;
}
.btn-style a::after {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 15px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: .3s;
    transition: .3s;
}
.btn-style a:hover:after{
	right:13px;
}
.btn-style a:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
 	cursor:pointer;
}
.under .btn-style a {
	width:420px;
	min-width:inherit;
    max-width: 100%;
}

/*==========================
	　TOP コンテンツ
==========================*/

.page .mainblock a {
	text-decoration:none;
}
.page .mainblock a:hover {
}

/*見出し*/
.page h2{
	font-size: 30px;
    color: #333;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 0.8em;
    font-weight: normal;
}
 h2 span{
	 display:block;
	 font-size:14px;
	 color:#666;
	 letter-spacing:0;
     margin-bottom: 9px;
}
h2.line {
    font-weight: bold;
display: flex;
align-items: center;
}
h2.line:before,
h2.line:after {
content: "";
height:2px;
flex-grow: 1;
background-color:#5771b8;
}
h2.line:before {
margin-right: 1rem;
}
h2.line:after {
margin-left: 1rem;
}
.color01 {
    color: #4a77bc;
}
.color02 {
    color: #f4566c;
}
.mb0 {
    margin-bottom: 0!important;
}
/*-- ボックスその他 --------------*/
.mc_contact {
    padding:0 0 10px;
    background: url(img/mc_contact_bg.jpg) no-repeat center / cover;
}
.mc_contact .topinner{
    background: rgba(255,255,255,.9);
    box-sizing: border-box;
    padding: 3%;
    position: relative;
    z-index: 0;
    top: -50px;
}
.mc_contact .topinner:before{
    content: "";
    width:calc(100% - 40px);
    height:calc(100% - 40px);
    border:1px solid #5771b8;
    position: absolute;
    top:20px;
    left:20px;
    right:20px;
    bottom:20px;
    margin: auto;
    z-index: -1;
}
.mc_contact p:last-child {
    margin: 3% auto 0;
}
.mc_contact.last {
    padding: 50px 0;
}
.mc_contact.last  .topinner{
    top:inherit;
}



.mc01 .bg01{
    background: url(img/mc_bg01.jpg) no-repeat center / cover;
    padding: 5% 0;
}
.mc01 .bg01 .topinner{
    width:800px;
}
.mc01 .bg02{
    background: url(img/mc_bg02.jpg) no-repeat center / cover;
    padding: 5% 0;
}

.mc02{
    padding: 5% 0;
}

.mc02 .bg{
    border-radius: 10px;
padding: 2.5%;
    position: relative;
}
.mc02 .bg01{
    background: #ecf3ff;
    overflow: hidden;
    padding-top: 110px;
    margin-bottom: 4%;
}
.mc02 .bg02{
    background: #e1f4ee;
    overflow: hidden;
    padding-top: 110px;
    margin-bottom: 4%;
}
.mc02 .bg03{
    background: #fceaf1;
        padding: 4% 22% 2% 6%;
    margin-bottom: 7%;
        margin-top: 5%;
}
.mc02 .bg04{
    background: #edeafc;
    padding:3% 6% 3%;
        margin-top: 8%;
}
.mc02 .bg01 h3,
.mc02 .bg02 h3{
    font-size: 34px;
    background: #4a77bc;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 0.6em 0.5em 0.5em;
    line-height: 1.3;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}
.mc02 .bg02 h3{
    background: #269782;
}
.mc02 h3 .sub {
    position: absolute;
    left: 10%;
    top: 0;
}

.mc02 p.price {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 3%;
}
.mc02 p.price .p01 {
    font-size: 36px;
}
.mc02 p.price .p02 {
    font-size: 18px;
}
.border-table {
    font-size: 100%;
    margin-bottom: 0.5em;
}
.border-table th,
.border-table td{
    background: #fff;
    border:none;
        padding: 8px 10px;
}
.border-table tbody th{
    background: #fff;
}
.border-table td{
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    width: 27%;
}
.border-table thead th {
    background: #6dc0f4;
    padding: 5px 5px;
}
.border-table tbody tr{
    border-bottom:1px solid #c9cac9;
}
.border-table span.p-mini {
    font-size: 80%;
}
.border-table thead th + th,
.border-table tbody td{
    border-left: 1px solid #c9cac9;
}
.mc02 .bg02 .border-table thead th {
    background: #61c8b5;
}
p.fukidashi {
    font-size: 18px;
    color: #fff;
    text-align: center;
    display: table;
    position: relative;
    margin: 7% auto 24px;
    background: #6dc0f4;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 0.4em 2em;
    border-radius: 7px;
}
p.fukidashi:after {
    border-top: 17px solid #6dc0f4;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    -webkit-transform: translate(-50%,0);
    -moz-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    -o-transform: translate(-50%,,0);
    transform: translate(-50%,0);
}
.mc02 .bg02 p.fukidashi {
    background:#61c8b5;
        margin-top: 15%;
}
.mc02 .bg02 p.fukidashi:after {
    border-top-color:#61c8b5;
}
ul.check {
        max-width: 94%;
    margin: 0 auto 5%;
}
ul.check li{
    font-size: 18px;
    background: url(img/mc_icon01.png) no-repeat left 5px;
    padding-left: 25px;
    margin-bottom: 2px;
}
.mc02 .bg02 ul.check li{
    background-image: url(img/mc_icon02.png);
}
.mc02 h4 {
    font-size: 24px;
    background: #4a77bc;
    border-radius:9px;
    color: #fff;
    text-align: center;
    padding: 0.2em 0.4em;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 3%;
}
.mc02 .bg03 h3 {
    color: #e05c90;
    font-size: 36px;
    line-height: 1.3;
    margin-bottom: 2%;
}
.mc02 .bg03 p.ttl {
    position: absolute;
    right: 5%;
    top: -30px;
}
.mc02 .bg04 p.ttl {
    position: absolute;
    left: 5%;
    top: -30px;
    z-index: 1;
}
.mc02 .bg04 h4 {
    max-width: 440px;
    margin: 4% auto 5%;
    background: #605597;
    letter-spacing: 0.1em;
    padding: 0.6em;
}
.mc02 .bg04 h5{
    font-size:20px;
    color:#605597;
    letter-spacing: 0.05em;
    line-height: 1.3;
    background: #fff;
    border:1px solid;
    border-radius: 7px;
    margin-bottom:3%;
    display: block;
    text-align: center;
    padding: 0.3em;
        margin-top: 5%;
    }
.ul01 li::before {
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    background: #645194;
    top: 3px;
    left: 0;
    border-radius: 50%;
}

.mc03{
    background: url(img/mc_bg03.jpg) no-repeat center / cover;
    padding: 5% 0 110px;
}
.mc03 .bg{
    background: rgba(255,255,255,.7);
    box-sizing: border-box;
    padding: 5%;
}
.mc03 h3 {
    font-size: 30px;
    margin-bottom: 2.5%;
}
.mc03 h3 img {
    margin-right: 0.8em;
}
.mc03 .bg p {
    line-height: 1.5;
}
.mc03 .clearfix + .clearfix {
    margin-top: 3.5%;
    border-top: 4px dotted #c9cac9;
    padding-top: 4.5%;
}
.mc04{
    background: url(img/mc_bg04.png);
    padding: 3% 0 ;
}
.mc04 .bg{
    background: #fff;
    text-align: center;
    box-sizing: border-box;
    padding:1% 4% 4%;
}
.mc04 h3 {
    color: #4a77bc;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    margin-bottom: 3%;
        margin-top: 5%
}
.mc04 h3 img {
    margin-right: 10px;
}

.mc05{
    background: url(img/mc_bg05.jpg) no-repeat center / cover;
    padding: 3% 0 2%;
}
.time-table {
    font-size: 18px;
    border: none;
    background: #fff;
        margin-top: 3%;
   }
.time-table th, .time-table td {
    text-align: center;
    font-weight: normal;
    padding: 12px 3px;
    vertical-align: middle;
    border:none;
}
.time-table thead tr{border:none;}
.time-table thead th {
    border-bottom: none;
    background: #dadf00;
    padding: 7px 3px;
}
.time-table tbody tr{
    border:none;
    border-bottom:1px solid #ccc;
}
span.grn{
    color:#89c330;
}
.time-table + p{
    font-size:18px;
        margin-bottom: 2em;
}
p.indent-1 {
padding-left:1em;
text-indent:-1em;
    margin-left: 1em;
}

/********************************
	Responsive
*********************************/

@media screen and (min-width: 768px) {/* タブレットまで */

/*================================
	mainimage　が一枚画像の場合
================================*/
    .mainimage {
   background: none;
   margin: 0;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 0;
   z-index: -1;
}
   .mainimage{
        background: url(img/mc_mainimage.jpg) no-repeat center / cover;
        height:1200px;
    }

.page .main_wrap {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   z-index: -1;
}
.mc_contact.first {
   margin-top: 1084px;
}

/*==========================
	　TOP コンテンツ
==========================*/
/*-- FLEX設定 --------------*/
.columns {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
}
.col_wrap{ /*改行して組む場合*/
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /*IE10*/
	-webkit-flex-wrap: wrap; /* Safari6.1以降 */
}
.columns.reverse{ /*左右反転*/
-webkit-box-direction:reverse;
    -moz-box-direction:reverse;
    -webkit-box-orient:horizontal;
    -moz-box-orient:horizontal;
    -webkit-flex-direction:row-reverse;
    -moz-flex-direction:row-reverse;
    flex-direction:row-reverse;
}
.columns .column {
    box-sizing: border-box;
    max-width: 48%;
    -webkit-box-flex-basis: 48%;
    -webkit-flex-basis: 48%;
    flex-basis: 48%;
}
.columns.col3{
    -webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.columns.col3 .column {
    max-width: 30%;
    -webkit-box-flex-basis: 30%;
    -webkit-flex-basis: 30%;
    flex-basis: 30%;
    margin-right: 5%;
}
.columns.col3 .column:nth-of-type(3n){
        margin-right:0;
}
/*-- ボックスその他 --------------*/
.mainblock .mc03 img.alignright{
    max-width: 47%;
}
.googlemap.mc_map {
    padding-bottom: 20%;
}
    .border-table.bt01 tbody th {
    padding-left: 14%;
}
    .border-table.bt02 tbody th {
    padding-left: 5%;
}
}

@media screen and (min-width: 768px)  and (max-width: 1280px) {/* 程よいブラウザサイズでメインイメージを縮小 */
.mainimage {
    height: 830px;
}
    .mc_contact.first {
    margin-top: 660px;
}
}
@media screen and (min-width: 768px)  and (max-width: 1041px) {
.mc02 .bg03 {
    padding-right: 30%;
}
    .mc02 .bg04 p.ttl {
    top: -50px;
    }
}

@media screen and (max-width: 1041px) {/*コンテンツが横幅いっぱいになったら*/
.mc_contact .topinner {
    padding: 4%;
    }
    .border-table.bt01 tbody th {
    padding-left: 3%;
}
    .mc03 h3 {
    font-size: 25px;
    }
}

@media screen and (max-width: 767px) {/* スマホ */

.topinner {
	width:420px;
	margin:0 auto;
	box-sizing:border-box;
}
.page #contents,
.page #aside{
	margin-bottom:0;
}
/*==========================
	　mainimage
==========================*/
.mainimage, .slider {
    margin-bottom: 0;
}
.mainimage img {
    height: auto;
    max-width: none;
    max-height: none;
    width: 100%;
}
/*==========================
	ボタン
==========================*/


/*==========================
	　TOP コンテンツ
==========================*/
.mc_contact .topinner:before {
    content: "";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
}

/*-- 見出し --------------*/

/*-- ボックスその他 --------------*/

.mc_contact .topinner {
    top: -40px;
    padding: 30px;
}
    .mc01 .bg01 {
    background-position: 65%;
}
    .mc02 .bg02 p.fukidashi {
    margin-top: 7%;
}
    .mc02 .bg03 p.ttl,
    .mc02 .bg04 p.ttl{
    position: relative!important;
    right: inherit;
    top: -30px;
        left:0;
        right: 0;
    text-align: center;
    margin: 0 auto;
}
    .mc02 .bg03 {
    padding: 4% 6% 2%;
    }
    .mc03 h3 {
    margin-top: -37px;
}
    .mc02 h3 .sub {
    left: 5%;
}
    .mc02 .bg03 h3 {
    font-size: 27px;
    }
    .mc03 {
    padding: 5% 0 50px;
}
}

@media screen and (max-width: 480px) {/* スマホ480px */
.mc_contact .topinner {
    top: -20px;
}
    .mc03 h3 {
    font-size: 20px;
}
}

@media screen and (max-width: 320px) {/* スマホ320px */
}