@charset "UTF-8";

p {text-justify: inter-ideograph;}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
	margin: 0;
	text-rendering: optimizeLegibility;}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    -ms-interpolation-mode: bicubic}

.mt10p    { margin-top: 10px; }
.mt15p    { margin-top: 15px; }
.mt20p    { margin-top: 20px; }
.mt30p    { margin-top: 30px; }
.mt40p    { margin-top: 40px; }
.mt50p    { margin-top: 50px; }
.mt60p    { margin-top: 60px; }
.mt70p    { margin-top: 70px; }
.mt80p    { margin-top: 80px; }
.mt90p    { margin-top: 90px; }
.mt100p   { margin-top: 100px;}

.mt-10p   { margin-top: -10px; }
.mt-20p   { margin-top: -20px; }

.mb10p    { margin-bottom: 10px; }
.mb15p    { margin-bottom: 15px; }
.mb20p    { margin-bottom: 20px; }
.mb30p    { margin-bottom: 30px; }
.mb40p    { margin-bottom: 40px; }
.mb50p    { margin-bottom: 50px; }
.mb60p    { margin-bottom: 60px; }
.mb70p    { margin-bottom: 70px; }
.mb80p    { margin-bottom: 80px; }
.mb90p    { margin-bottom: 90px; }
.mb100p   { margin-bottom: 100px;}

.mb-10p   { margin-bottom: -10px;}
.mb-20p   { margin-bottom: -20px;}

.mr5p    { margin-right: 5px;}
.mr10p    { margin-right: 10px;}
.ml5p    { margin-left: 5px; }
.ml10p    { margin-left: 10px; }


/* ガター幅（余白）を調整 */

.row-0      { margin-left:0px; margin-right:0px;}
.row-0>div  { padding-right:0px; padding-left:0px;}

.row-10     { margin-left:-5px; margin-right:-5px;}	
.row-10>div { padding-right:5px; padding-left:5px;}

.row-20     { margin-left:-10px; margin-right:-10px;}
.row-20>div { padding-right:10px; padding-left:10px;}

.row-30     { margin-left:-15px; margin-right:-15px;}
.row-30>div { padding-right:15px; padding-left:15px;}

.row-40     { margin-left:-20px; margin-right:-20px;}
.row-40>div { padding-right:20px; padding-left:20px;}

.row-50     { margin-left:-25px; margin-right:-25px;}
.row-50>div { padding-right:25px; padding-left:25px;}

.row-60     { margin-left:-30px; margin-right:-30px;}
.row-60>div { padding-right:30px; padding-left:30px;}

/* 色を設定 */

.cl_mint {color:#62c0b1;}


/* スマホ用の改行設定 */
@media screen and (min-width:576px) {
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 576px) {
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 576px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/* トグルメニュー */
.menu{
    height: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 30px;
    z-index: 99;}

.menu__line{
    background: #666;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;}

.menu__line.active{background-color: #fff;}
.menu__line--center{top: 9px;}
.menu__line--bottom{bottom: 0;}
.menu__line--top.active{top: 8px; transform: rotate(45deg);}
.menu__line--center.active{transform:scaleX(0);}
.menu__line--bottom.active{bottom: 10px; transform: rotate(135deg);}

/*gnav*/
.gnav{
    background: rgba(0,0,0,0.8);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;}

.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;}

.gnav__menu{text-align: center; list-style-type:none; padding: 0px;}

.gnav__menu__item{
    margin: 40px 0;}

.gnav__menu__item a{
    color: #fff;
    font-size: 2em;
    font-weight: bold;
    padding: 40px;
    text-decoration: none;
    transition: .5s;}

.gnav__menu__item a:hover{
    color: #62c0b1;}

header {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  height: 60px;
  padding: 0 20px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  box-sizing: border-box;}

/* headder */
.menu-page_ul{float: right; text-align:right;}
.menu-page_ul ul {display: flex; padding: 0px; margin: 0px;}
.menu-page_ul ul li {flex: 1 0 auto;}
.menu-page_ul li {display: inline; text-align: center;}

@media screen and (min-width:768px) {
#page_hed{padding:29px 0px 29px 38px; margin-bottom:60px;}
.menu-page_ul {width: 450px;}
.p_hed_title{width:155px; float: left;}
.p_hed_contact{margin: -10px 40px 10px 0;}
}
@media screen and  (min-width:576px) and (max-width: 768px) {
#page_hed{padding:29px 0px 29px 38px; margin-bottom:60px;}
.menu-page_ul {width: 300px;}
.p_hed_title{width:155px; float: left;}
.p_hed_contact{margin: -10px 18px 10px 0;}
}
@media screen and  (max-width: 576px) {
#page_hed{padding:29px 38px 29px 38px; margin-bottom:20px; text-align:center;}
.p_hed_title{width:155px;}
}

/* footer */
@media screen and (min-width:576px) {
	#content_c{padding:25px 50px 25px; text-align:left; background:#62c0b1;}
}
@media screen and (max-width: 576px) {
	#content_c{padding:25px 15px 25px; text-align:left; background:#62c0b1;}
}
#content_c:after {content: ""; display: block; clear: both;}
#content_c p{line-height:150%; padding:0; margin:0;}
.c_box_tel {float:left; margin-right:20px;}
.c_tel {font-size:170%; letter-spacing:0.21em;}
.c_mail {padding:11px 30px;}
#home_foot{text-align:center;}
.foot_access{min-height:300px;}
.foot_outside_img{background:url(../images/home/foot_outside.jpg) no-repeat center center; background-size:cover;}
.foot_box{padding:90px 20px 20px; background:url(../images/footer_bg.png) repeat-x top;}
.topbt{display: block; width:80px; margin:0 auto;}