@charset "utf-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}
nav ul {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:bottom;
background:transparent;
text-decoration: none;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
li {
	list-style-type: none;
}
address {
	font-style: normal;
}
/* ↓↓↓　スマホ入力時のフォーカスを防ぐ*/
input, select {
font-size: 16px;
vertical-align:middle;
}
textarea {
font-size: 16px;
}
/* =============================================================================
   移動＋フェードイン表示
   ========================================================================== */
   .fade {
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px);
	transition: .8s;
}
.mv {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}
/* =============================================================================
   基本設定
   ========================================================================== */
*, *:before, *:after {
	box-sizing: border-box;
	-webkit-appearance: none;
}
html {overflow-y: scroll;}
body {color: #2a2a2a;line-height: 1.6;font-size: 16px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif; font-weight: 500;}
#overwrap {overflow: hidden;position: relative;}
a {color: #333;text-decoration: none;}
a:link {color: #333;}
a:visited {color: #333;}
a:hover {color: #2442a2;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;}
a:active {color: #333;}
a:hover img {opacity: 0.8;filter: alpha(opacity=80);-moz-opacity: 0.8;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;}
img {width: auto;max-width: 100%;height: auto;vertical-align: bottom;}
em {font-style: normal;}
h1, h2, h3, h4, h5, h6 {font-weight: normal;}
ul {list-style: none;}
sup {vertical-align: super;}
sub {vertical-align: sub;}
section {padding: 100px 0;}
section h2 {font-size: 88px; line-height: 0.6em; font-weight: bold; text-align: center; color: #2a2a2a;margin-bottom: 80px;}
section h2 span {
    color: #2442a2;
    font-size: 20px;
    font-weight: bold;
    display: block;
}
/* ========================================================================== */
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	-o-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-webkit-transform: rotate(0.028deg);
	transform: rotate(0.028deg);
}

.ttl {
    font-family: alternate-gothic-no-2-d, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.shadow {
	text-shadow:
    #fff 2px 0px, #fff -2px 0px,
    #fff 0px -2px, #fff -2px 0px,
    #fff 2px 2px, #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px, #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px, #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
.btn {
	text-align: center;
}
.btn a {
    -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    display: inline-block;
    border: 1px solid #676767;
    border-collapse: collapse;
    height: 44px;
    line-height: 44px;
	font-weight: bold;
    text-align: center;
    color: #676767;
    position: relative;
    cursor: pointer;
    font-size: 13px;
  z-index: 2;
  background-color: #fff;
  overflow: hidden;
  
}
.btn a:hover {
    /* border: none; */
    /* background: #2442a2; */
    text-decoration: underline;
    color: #fff;
}
.btn a:after {
    
}
.btn a:before {
    position: absolute;
    content: "";
    top: 12px;
    right: 13px;
    width: 18px;
    height: 18px;
    background: url(../images/global/btnArrow.png);
}
.btn a:hover:before {
    position: absolute;
    content: "";
    top: 12px;
    right: 13px;
    width: 18px;
    height: 18px;
    background: url(../images/global/btnArrowHover.png);
}
.btn a:after {
    position: absolute;
  z-index: -1;
  display: block;
  content: '';
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
.btn a:hover:after {
    position: absolute;
    content: "";
    -webkit-transform: scale(2) rotate(180deg);
    transform: scale(2) rotate(180deg);
    background: #2442a2;
  }


@media screen and (min-width: 768px) {
/*	body {background: #ccc; }*/
    .wrap {max-width: 1170px;padding: 0 10px;margin: 0 auto;}
    .pc {display: block;}
    .sp {display: none;}
}
@media screen and (max-width: 767px) {
	/*body {background: #000;}*/
    section {padding: 60px 0;}
    section h2 {font-size: 40px;line-height: 1em;margin-bottom: 40px;}
    section h2 span {
        font-size: 13px;
    }
    .wrap {width: 100%;padding: 0 10px;}
    .pc {display: none;}
    .sp {display: block;}

    .btn a {
        width: 100%;
    }
    .btn1 a span:before {
        left: 32px;
    }
    .btn2 a span:before {
        left: 93px;
    }
    .btn1 a span:hover:before {
        left: 32px;
    }
    .btn2 a span:hover:before {
        left: 93px;
    }
}

/* =============================================================================
	header
   ========================================================================== */
#wrapper {
    position: relative;
} 
header {
/*	max-width: 1280px;*/
	margin: 0 auto;
	padding-bottom: 0;
    /* background-color: #fff; */
    position: absolute;
    z-index: 99999;
    /* height: 100px; */
}
header h1{
    padding-top: 20px;
    padding-left: 15px;
    width: 368px;
}
header .headerTop {padding: 0 20px;}
header .headContactSP {
    display: none;
}
header .headContact {	
    cursor: pointer;
    text-align: center;
    position: fixed;
    top: 35px;
	right: 170px;
    z-index: 10;
}
header .headContact a {
	background-color: #29af4b;
	border-radius: 100px;
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: bold;	
	padding: 10px 25px;
	transition:0.5s;
}
header .headContact a:hover {
	background-color: #000;
	opacity: 1 !important;
}
header .headContact a img {
    padding-bottom: 5px;
    padding-right: 10px;
}
/*　ハンバーガーボタン　*/
.hamburger {
    display : block;
    position: fixed;
    z-index : 3;
    right: 20px;
    top: 20px;
    width : 95px;
    height: 95px;
    cursor: pointer;
    text-align: center;
    background: #2442a2;
  }
  .hamburger span {
    display : block;
    position: absolute;
    width   : 35px;
    height  : 3px ;
    left    : 30px;
    background : #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
    top: 35px;
  }
  .hamburger span:nth-child(2) {
    top: 45px;
  }
  .hamburger span:nth-child(3) {
    top: 55px;
  }
  
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top : 45px;
    left: 30px;
    background :#fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 45px;
    background :#fff;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
  }
  
  nav.globalMenuSp {
    padding: 0 20px;
    position: fixed;
    z-index : 2;
    top  : 0;
    right : 0;
    color: #2a2a2a;
    background: rgba(255,255,255,0.9);
    text-align: center;
    width: 70%;
    height: 100vh;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
    visibility: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; 
  }
  
  nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  
  nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
    text-align: left;
  }
  nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }
  nav.globalMenuSp ul li a:hover{
    color: #2442a2;
  }
  
  nav.globalMenuSp ul li a {
    display: inline-block;
    color: #2a2a2a;
    padding-top: 15px;
    text-decoration :none;
    position: relative;
    font-size: 26px;
    line-height: 44px;
    text-align: left;
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
    opacity: 100;
    visibility: visible;
  }
.menu-head {
    max-width: 1320px;
    margin: 0 auto;
    padding-top: 20px;
    /* padding-left: 30px; */
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
}
.menu-rogo {
    width: 400px;
    padding-right: 30px;
    border-right: 1px solid #2442a2;
}
.menu-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 30px; 
}
.menu-tel .menu-tel-inner a {
    position: relative;
    padding-left: 24px;
    font-size: 18px;
}
.menu-tel .menu-tel-inner a:before {
    position: absolute;
    content: "";
    top: 3px;
    left: 0px;
    width: 15px;
    height: 14px;
    background: url(../images/global/icon-tel.png);
    background-repeat: no-repeat;
}
.menu-tel .menu-tel-inner .btn a {
    position: relative;
    font-size: 13px;
    padding: 0 10px;
    padding-left: 20px;
    width: 170px;
    height: 27px;
    line-height: 27px;
    border: 1px solid #000;
    
}
.menu-tel .menu-tel-inner .btn a:before {
    position: absolute;
    content: "";
    top: 6px;
    left: 15px;
    width: 15px;
    height: 14px;
    background: url(../images/global/icon-mail.png);
    background-repeat: no-repeat;
}
.menu-tel .menu-tel-inner .btn a:hover:before {
    position: absolute;
    content: "";
    top: 6px;
    left: 15px;
    width: 15px;
    height: 14px;
    background: url(../images/global/icon-mailHover.png);
    background-repeat: no-repeat;
}
.menu-tel .menu-tel-cap {
    text-align: left;
    padding-left: 30px;
    font-size: 12px;
    line-height: 2.4em;
    letter-spacing: 0.08em;
}
.hamburger.active {
    z-index: 9999;
}
.globalMenuSp.active {
    z-index: 999;
}
nav.globalMenuSp .navWrap {
    max-width: 1320px;
    margin: 0 auto;
    display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
}
nav.globalMenuSp .navMenu li a {
    font-size: 50px;
}
nav.globalMenuSp .navMenu li span {
    display: block;
    font-size: 15px;
    color: #42a1fe;
    line-height: 1.6em;
}
nav.globalMenuSp .navMenu .subMenu {
    padding-top: 10px;
}
nav.globalMenuSp .navMenu .subMenu li a {
    font-size: 18px;
    color: #7c7c7c;
    padding-top: 0;
    padding-left: 30px;
    position: relative;
    display: inline-block;
    line-height: 2em;
}
nav.globalMenuSp .navMenu .subMenu li a:hover {
    color: #2442a2;
}
nav.globalMenuSp .navMenu .subMenu li a:before {
    position: absolute;
    content: "";
    top: 22px;
    left: 0;
    width: 19px;
    height: 1px;
    background-color: #7c7c7c;
}
nav.globalMenuSp .navMenu .subMenu li a:hover:before {
    position: absolute;
    content: "";
    top: 22px;
    left: -10px;
    width: 19px;
    height: 1px;
    background-color: #7c7c7c;
}
@media screen and (max-width: 939px) {
    .menu-tel {
        display: none;
    }
    .menu-rogo {
        border-right: none;
        text-align: center;
    }
}
@media screen and (max-width: 1420px) {
    header h1 img {
        width: 250px;
        padding-top: 10px;
    }
}
@media screen and (max-width: 767px) {
    
header .pc {
	display: none;
	}
    #wrapper{
        overflow:hidden;
           z-index:9999;
    }
   
    .overlay {
        display: none;
        background-color: rgba(0,0,0,0.49);
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
    }
    header {
        position:fixed;
        /* height: 60px; */
        padding:0;
    }
    header h1 {
        padding-top: 0;
    }
    header h1 img {
        width: 250px;
        padding-top: 10px;
    }
    header h1 .logo_box.fixed {
        /* position: fixed; */
        top: 0;
        left: auto;
        z-index: +1;
    }
    header h1 .logo_box.fixed.none {
        opacity: 0;
        z-index: -1;
    }
    #top-main{
       z-index:100;
    }
    header .headerTop{
        padding:inherit;
    }
    .hamburger {
        right: 10px;
        top: 10px;
        width: 60px;
        height: 60px;
        z-index: 9999;
    }
    .hamburger span {
        width: 30px;
        left: 16px;
    }
    .hamburger span:nth-child(1) {
        top: 20px;
    }
    .hamburger span:nth-child(2) {
        top: 30px;
    }
    .hamburger span:nth-child(3) {
        top: 40px;
    }
    .hamburger.active span:nth-child(1) {
        top: 30px;
        left: 15px;
    }
    .hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
        top: 30px;
        left: 15px;
    }
    nav.globalMenuSp {
        padding: 0 10px;
        width: 80%;
    }
    nav.globalMenuSp ul li a {
        font-size: 20px;
        padding-left: 0;
        line-height: 30px;

    }
    .menu-head {
        height: 60px;
        padding-top: 10px;
        margin-bottom: 10px;
    }
    .menu-rogo {
        width: 240px;
    }

    nav.globalMenuSp .navMenu li a {
        font-size: 24px;
        padding-top: 10px;
    }
    nav.globalMenuSp .navMenu li span {
        /* font-size: 13px; */
        display: none;
    }
    nav.globalMenuSp .navMenu .subMenu li a:before {
        display: none;
    }
    nav.globalMenuSp .navMenu .subMenu li a {
        padding: 0;
        font-size: 13px;
        line-height: 1.6em;
        padding-top: 10px;
    }
    nav.globalMenuSp .navMenu .subMenu li:first-child a {
        padding-top: 0;
    }
    nav.globalMenuSp ul {
        padding-right: 10px;
    }
    nav.globalMenuSp ul:last-child {
        padding-right: 0;
    }
    nav.globalMenuSp .navMenu .subMenu {
        padding-top: 0;
    }
    
	

}
/* =============================================================================
    Footer
   ========================================================================== */
   #page-top a {
    width: 73px;
    height: 73px;
    margin-left: 34px;
    position: absolute;
    bottom: 120px;
    right: 54px;
    z-index: 30;
  }
	#page-top a:hover {
	transition: 0.3s ease-in-out;
	}

    footer {
        padding-top: 60px;
        background-color: #2442a2;
        color: #fff;
        text-align: center;
    }
    .footLogo-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        margin-bottom: 100px;
    }
    .footLogo-wrap .foot-logo {
        width: 440px;
        border-right: 1px solid #fff;
		margin-bottom: 20px;
    }
    .footLogo-wrap .foot-logo p {
        text-align: left;
        padding-left: 80px;
        font-size: 13px;
        padding-top: 10px;
    }
    .footLogo-wrap .mark {
        padding-left: 50px;
    }

    .footNav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
        text-align: left;
    }
    .footNav ul li {
        /* margin-bottom: 15px; */
    }
    .footNav ul li a {
        color: #fff;
        font-weight: bold;
        font-size: 16px;
        padding-bottom: 5px;
        border-bottom: 2px solid #fff;
        display: inline-block;
        margin-bottom: 30px;
        letter-spacing: 0.08em;
    }
    .footNav ul .mb0 a {
        margin-bottom: 0;
    }
    .footNav .footNav-sub {
        margin-bottom: 30px;
        margin-top: 10px;
    }
    .footNav .footNav-sub li a {
        font-size: 15px;
        color: #c1c1c1;
        border-bottom: none;
        position: relative;
        padding-left: 24px;
        margin-bottom: 0;
    }
    .footNav .footNav-sub li a:before {
        position: absolute;
        content: "";
        top: 9px;
        left: 0;
        width: 13px;
        height: 2px;
        background: #c1c1c1;
        }
    .footNav .btn a {
        display: block;
        color: #2442a2;
        border: none;
        border-bottom: none;
        width: 206px;
    }
    .footNav .btn a:before {
        position: absolute;
        content: "";
        top: 12px;
        left: 13px;
        width: 17px;
        height: 14px;
        background: url(../images/global/icon-mailFoot.png);
        background-repeat: no-repeat;
    }
    .footNav .btn a:hover {
        border: 2px solid #fff;
        color: #fff;
    }
    
    footer .copy {
        color: #fff;
        padding: 20px 0;border-top: 1px solid #fff;}
    footer .copy small {font-size: 13px;}
    footer .copy a {
        font-size: 14px;
        color: #fff;
    }

@media screen and (min-width: 768px) {
    footer .cont {padding: 20px 0;}
    footer h1 {text-align: center;padding: 0 20px; }
    
}
@media screen and (max-width: 767px) {
    footer {
        padding-top: 40px;
    }
    #page-top a {
        right: 28px;
        bottom: 191px;
        width: 60px;
    }
    footer h1 {text-align: center;}
    
    .footLogo-wrap {
        margin-bottom: 0;
    }
    .footLogo-wrap .foot-logo {
        width: 100%;
		text-align: center;
   		padding: 0 20px;
    }
    .footLogo-wrap .foot-logo p {
        padding-left: 0;
        font-size: 12px;
    }
    .footLogo-wrap .mark {
        padding-left: 20px;
    }
    .footNav {
        display: none;
    }
}

/* =============================================================================
    トップページ keyimages
   ========================================================================== */

/* .topKeyimages {background: url(../images/global/bgKeyimages.jpg) no-repeat 50% 100%;background-size: cover;} */
/* .topKeyimages {
    background: url(../images/top/bgKeyimages.jpg) no-repeat 50% 100%;
    background-size: cover;
} */
.topKeyimagesSP {
    display: none;
}
.topKeyimages {position: relative;}
.topKeyimages h2 {
    position: absolute;
    width: 1239px;
    height: 283px;
    left: 0;
    right: 0;
    top: 0;
    bottom :0;
    margin:  auto;
    z-index: 100;
    text-align: center;
}
.top-scroll {
    position:absolute;
    left:0%;
    bottom: 150px;
}
.top-scroll span {
    position: absolute;
    left: 38px;
    bottom: 17px;
    width: 18px;
    /* height: 228px; */
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}
.top-scroll::after {
    content: "";
    position: absolute;
    top: 0;
    left: 44px;
    width: 1px;
    height: 60px;
    background: #eee;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
    }

/*高さ・位置・透過が変化して線が上から下に動く*/
    @keyframes pathmove {
        0%{
            height:0;
            top:0;
            opacity: 0;
        }
        30%{
            height:30px;
            opacity: 1;
        }
        100%{
            height:0;
            top:50px;
            opacity: 0;
        }
    }
/* iPads (横向き) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    .topKeyimages h2 {
        width: 80%;
        padding: 0 10px;
      }
}

/* iPads (縦向き) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
    .topKeyimages h2 {
        width: 100%;
        padding: 0 10px;
      }
}

@media screen and (min-width: 768px) {
    

}
@media screen and (max-width: 1280px) {
    .topKeyimages h2 {
        padding: 0 77px;
    }
}
@media screen and (max-width: 1000px) {
    .topKeyimages h3 img {
        width: 80%;
    }
}
@media screen and (max-width: 767px) {
    /* キーイメージ */
    .topKeyimages {
        display: none;
    }
    .topKeyimagesSP {
        display: block;
        position: relative;
        /* margin-top: 70px; */
        /* background: url(../images/top/bgKeyimagesSP.jpg) no-repeat 50% 100%;
        background-size: cover;
        height: 550px; */
    }
    .topKeyimagesSP h2 {
        position: absolute;
        /* width: 368px;
        height: 87px; */
        left: 0;
        right: 0;
        top: 300px;
        bottom :0;
        margin:  auto;
        z-index: 100;
        text-align: center;
        padding: 10px;
    }
    .topKeyimagesSP h3 {
        position: absolute;
    left: 50%;
    top: 100px;
    z-index: 100;
    transform: translateX(-50%);
    width: 18%;
    }
    .topKeyimagesSP .top-scroll {
        display: none;
    }
    .topKeyimagesSP .top-scroll span {
        position: absolute;
        left: 38px;
        bottom: 0;
        width: 18px;
        height: auto;
        color: #eee;
        font-size: 0.7rem;
        letter-spacing: 0.05em;
    }
.topKeyimagesSP .top-scroll::after {
        left: 43px;
    }
    
    /* .topKeyimages h2 {padding: 40px 10px;} */
    .topKeyimages h2 {
        top: 200px;
        width: 80%;
    }
    .topKeyimages h3 {
        left: 0;
    right: 0;
    top: 100px;
    bottom :0;
    margin:  auto;
    width: 75px;
    }

}
/* =============================================================================
    message
   ========================================================================== */
    /* #topMessage */
    #topMessage .btn {
        text-align: left;
    }
    #topMessage .btn a {
        width: 232px;
    }
    
    #topMessage h3 {
        font-size: 33px;
        margin-bottom: 20px;
    }
    #topMessage .txt {
        width: 40%;
    }
    #topMessage .txt p {
        letter-spacing: 0.08em;
        line-height: 2em;
        margin-bottom: 40px;
    }
    #topMessage .img {
        width: 58%;
    }
   
    @media screen and (min-width: 1100px) {
        
    }
    
    @media screen and (min-width: 768px) {
        #topMessage .flex {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: space-between;
            -ms-flex-pack: space-between;
            justify-content: space-between;
        }
    }
    @media screen and (max-width: 767px) {
        #topMessage .img {
            width: 100%;
            margin-bottom: 20px;
        }
        #topMessage .txt {
            width: 100%;
        }
        #topMessage h3 {
            font-size: 24px;
        }
        #topMessage .txt p {
            margin-bottom: 20px;
        }
        #topMessage .btn {
            text-align: center;
        }   
    }
    /* =============================================================================
   topInfo
   ========================================================================== */
 #topInfo .btn a {
    width: 200px;
    padding-right: 20px;
 }
 #topInfo .infoCont li {
     border-bottom: 1px solid #d8d8d8;
     padding: 10px 0;
 }
 #topInfo .infoCont .day {
     color: #37c0ff;
     font-weight: bold;
     padding-right: 5px;
 }
 #topInfo .infoCont .cat {
    color: #888888;
    border: 1px solid #888888;
    padding: 0 20px;
    font-size: 12px;
 }
 #topInfo .infoCont p {
     padding-top: 10px;
 }
 #topinfo .infoCont #mkcontents .news-top {
     line-height: 2em;
 }

  @media screen and (min-width: 768px) {
      #topInfo h2 {
          text-align: left;
          margin-bottom: 20px;
      }
    #topInfo .flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-between;
        -ms-flex-pack: space-between;
        justify-content: space-between;
    }
      #topInfo .btn {
          text-align: left;
      }
  }
  @media screen and (max-width: 767px) {
    #topInfo .infoCont {
        margin-bottom: 20px;
    }
    #topInfo .infoCont .day {
        font-size: 13px;
    }
  }

  /* =============================================================================
    topService
   ========================================================================== */
  #topService {
      background: url(../images/top/bgService.jpg);
      background-size: cover;
      background-position: top;
      padding-top: 146px;
  }
  #topService ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #topService ul li {
      background: #fff;
      padding: 30px 50px;
      height: 400px;
      position: relative;
      margin-bottom: 50px;
  }
  
  #topService h3 {
      text-align: center;
      color: #2442a2;
      font-size: 20px;
      font-weight: bold;
      padding: 10px 0;
      border-bottom: 3px solid #2442a2;
      margin-bottom: 10px;
      line-height: 1.2em;
  }
  #topService .btn {
      position: absolute;
      bottom: 10px;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
  }
  #topService .btn a {
    width: 235px;
 }
 #topService li .icon {
     /* background: #2442a2; */
     text-align: center;
     /* height: 84px; */
     position: relative;
     padding: 42px 0;
 }
 #topService li .icon img {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     -webkit-transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
 }
 #topService li p {
     letter-spacing: 0.08em;
 }
  @media screen and (min-width: 768px) {
    #topService ul li {
        width: 31%;
    }
    #topService ul li:after {
        display: block;
        content:"";
        width: 31%;
      }
}
@media screen and (max-width: 767px) {
    #topService {
        padding-top: 60px;
    }
    #topService ul li {
        width: 48%;
        padding: 15px;
        margin-bottom: 30px;
        height: 384px;
    }
    #topService h3 {
        font-size: 17px;
    }
    #topService ul li p {
        text-align: justify;
        font-size: 14px;
        line-height: 1.6em;
        letter-spacing: 0;
    }
    #topService .btn {
        bottom: 0;
    }
    #topService .btn a {
        width: 150px;
    }
    #topService li .icon {
        padding: 26px 0;
    }
}
/* =============================================================================
   お問い合わせ
   ========================================================================== */
#topContact {
    background-image: url(../images/top/bgContact.png);
    background-size: cover;
    color: #fff;
    margin-top: -100px;
}

#topContact h2 {
    color: #fff;
    margin-bottom: 30px;
}
#topContact h2 span {
    color: #fff;
    letter-spacing: 0.2em;
}
#topContact p {
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding-bottom: 30px;
}
#topContact .tel a {
    position: relative;
}
#topContact .tel a:before {
    position: absolute;
    content: "";
    top: 0;
    left: -47px;
    width: 28px;
    height: 27px;
    background: url(../images/top/icon-tel.png);
    background-repeat: no-repeat;
}
#topContact .tel span {
    display: block;
    font-size: 15px;
    padding-top: 5px;
}
#topContact .btn a {
    border: none;
    height: 52px;
    width: 312px;
    line-height: 52px;
    font-size: 16px;
}
#topContact .btn a:hover {
    background: #2442a2;
}
#topContact .btn a:before {
    position: absolute;
    content: "";
    top: 15px;
    left: 13px;
    width: 27px;
    height: 22px;
    background: url(../images/top/icon-mail.png);
    background-repeat: no-repeat;
}
#topContact .btn a:hover:before {
    position: absolute;
    content: "";
    top: 12px;
    left: 13px;
    width: 27px;
    height: 22px;
    background: url(../images/top/icon-mailHover.png);
    background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
    #topContact {
        padding-top: 200px;
    }
    #topContact ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-between;
        -ms-flex-pack: space-between;
        justify-content: space-between;
        max-width: 700px;
        margin: 0 auto;
    }
    #topContact ul li {
        width: 50%;
        text-align: center;
    }
    #topContact ul li:first-child {
        border-right: 1px solid #fff;
    }
    #topContact .mail {
        text-align: right;
    }
}
@media screen and (max-width: 767px) {
    #topContact {
        padding-top: 120px;
    }
    #topContact ul li {
        text-align: center;
    }
    #topContact ul .tel {
        margin-bottom: 10px;
    }
   
}
/* =============================================================================
    under 共通
   ========================================================================== */

/*#under {padding-bottom: 60px;}*/
#under .keyimages {
    background: url(../images/global/bgUnder.png);
    background-size: cover;
    height: 556px;
    position: relative;
}
#under .keyimages h2 {
    text-align: center;
	/* letter-spacing: 0.1em; */
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    font-size: 88px;
    color: #fff;
    line-height: normal;
}
#under .keyimages h2 span {
    color: #fff;
    display: block;
    font-size: 20px;
    font-weight: bold;
}

#under .keyimages h2 span.green {color: #00877e;}
#under .keyimages h2 small {display: block;font-size: 12px;}
#under h3 {text-align: center;font-size: 30px;margin-bottom: 40px;}
#under h3 .box {
    padding: 0 20px;
    background: #fff;
    position: relative;
    z-index: 5;
    font-weight: bold;
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
    #under {
        /* padding-bottom: 20px; */
        /* margin-top: 67px; */
    }
    #under .keyimages {
        height: 200px;
    }
    #under .keyimages h2 {font-size: 20px;}
	#under .keyimages h2 span{font-size: 16px;}
    #under h3 {font-size: 18px;}
}




/* =============================================================================
    お問い合わせ
   ========================================================================== */
.contact section {padding-bottom: 60px;}

.contact #telSec {text-align: center;}
.contact #telSec h3 {padding-top: 60px; font-size: 20px;}
.contact #telSec h3 + div {padding: 20px 0;border-top: 1px solid #00877e;border-bottom: 1px solid #00877e;}
.contact #telSec p {font-size: 18px;font-weight: bold;}
.contact #telSec .ttl {font-weight: normal;}
.contact #telSec .tel {display: inline-block;margin-right: 20px;}
.contact #telSec .fax {display: inline-block;}
.contact #telSec p span {font-size: 30px;}
.contact #telSec p small {font-weight: normal;display: inline-block;}

.contact #mailSec p {margin-bottom: 2em;}
.contact .submit {text-align: center;}
.contact label.error {color: #fe0030;}

#formWrap {max-width: 800px;margin: 0 auto;}
#formWrap p {margin-bottom: 2em;}
#formWrap table {width: 100%;border-top: 1px solid #ccc;margin-bottom: 2em;}
#formWrap tr {border-bottom: 1px solid #ccc;}
#formWrap th {padding: 20px 0;width: 30%;font-weight: bold;text-align: left;}
#formWrap td {padding: 10px 0;width: 70%;}


@media screen and (min-width: 768px) {
    .contact #mailSec .wrap {max-width: 800px;}
    .contact #mailSec dl {width: 100%;letter-spacing: -0.4em;}
    .contact #mailSec dt {padding: 20px 0;width: 30%;display: inline-block;letter-spacing: normal;vertical-align: top;font-weight: bold;}
    .contact #mailSec dt span {color: #fe0030;padding-left:10px;font-weight: normal;}
    .contact #mailSec dd {padding: 10px 0;width: 70%;display: inline-block;letter-spacing: normal;vertical-align: top;}
    .contact #mailSec dd input,.contact #mailSec dd textarea {width: 100%;padding: 10px;}
}
@media screen and (max-width: 767px) {
    .contact section {padding-bottom: 30px;}
    .contact #telSec h3 {font-size: 14px;padding-top: 30px;}
    .contact #telSec p {font-size: 14px;font-weight: bold;}
    .contact #telSec .ttl {font-weight: normal;}
    .contact #telSec .tel {display: inline-block;margin: 0 10px;}
    .contact #telSec .fax {display: inline-block;}
    .contact #telSec p span {font-size: 20px;}
    .contact #telSec p small {font-weight: normal;display: inline-block;}

    .contact #mailSec dl {width: 100%;}
    .contact #mailSec dt {padding: 20px 0 10px;font-weight: bold;}
    .contact #mailSec dt span {color: #fe0030;padding-left:10px;font-weight: normal;}
    .contact #mailSec dd {padding: 0 0 10px;}
    .contact #mailSec dd input,.contact #mailSec dd textarea {width: 100%;padding: 10px;}

    #formWrap th {width: 100%;display: block;padding: 10px 0 0;}
    #formWrap td {width: 100%;display: block;padding: 0 0 10px;}
}

.grecaptcha-badge { visibility: hidden; }

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

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

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}
/* =============================================================================

   ========================================================================== */
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}
