@charset "utf-8";

/* =============================================================
基本設定、各ページ共通のスタイリングを定義
============================================================= */


/* reset
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
	vertical-align: bottom
}



/* base
-------------------------------------------------------------- */

html {
	font-size:10px;
}

body {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.4rem;
	line-height: 1.8;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.menu-opend{
	overflow: hidden;
}

body * {
	box-sizing: border-box;
}

sup {font-size: 78%; vertical-align: top;}
sub {font-size: 78%; vertical-align: baseline;}


::-moz-selection {
  color: #FFF;
  background: #43adac;
}

::selection {
  color: #FFF;
  background: #43adac;
}


@media screen and (max-width:768px) {
	body {
		-webkit-text-size-adjust: 100%;
		-moz-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
		-o-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}
}



/* a
-------------------------------------------------------------- */

a {
	color: #333;
	text-decoration: underline;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

a:hover,
a:active {
	text-decoration: none;
}

a[href^="tel:"] {
	text-decoration: none;
}

@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}



/* img
-------------------------------------------------------------- */

img {
	max-width: 100%;
	height: auto;
	border: 0;
}

.img-rp {
	display: block;
	width: 100%;
	height: auto;
}



/* layout
---------------------------------------------------------- */

.sec_inner{
	position:relative;
    z-index:0;
	width: 100%;
	max-width:1050px;
	margin:auto;
}


@media screen and (max-width:767px) {
    .sec_inner{
		padding:0 20px;
	}
}



/* wrapper
---------------------------------------------------------- */

#wrapper {
	overflow: hidden;
}


@media screen and (min-width:768px) {
    #wrapper {
		min-width:1200px;
		width:100%;
	}
}



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

#header {
	position: relative;
	z-index:100;
	width:100%;
	background:#FFF;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#header h1{
	font-size:1.0rem;
	width:100%;
	margin-bottom:1em;
	padding:4px 0 0 8px;
	color: #444;
}

#header .site-id a{
	display:block;
	position: relative;
	z-index:0;
	padding-bottom:4px;
}

#header .site-id_area{
	position: absolute;
	z-index:1;
	bottom:0;
	left:64px;
	font-size:1.6rem;
	line-height: 1;
}

.header-slim {
	padding-bottom: 10px;
}

.header_inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width:100%;
	padding:0 264px 0 10px;
}

.header_contact{
	position: absolute;
	z-index:0;
	top:0;
	right:0;
	width:253px;
	padding:10px 10px 16px;
	background:#43ADAC;
}

.header_contact .contact_phone {
	display:block;
	font-size:2.9rem;
	margin:8px 0 3px;
	line-height: 1;
}

.header_contact .contact_phone span{
	position: relative;
	z-index:0;
	padding-left:22px;
}

.header_contact .contact_phone span:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 17px;
	height: 25px;
	background: url(../img/common/ico_smphone_wh.svg) no-repeat;
}

.header_contact .contact_sub {
	font-size:1.2rem;
	margin-bottom: 8px;
}

#btn-phone-header,
#btn-contact-header{
	display:none;
	text-align: center;
	font-size:1.0rem;
	font-size: calc(10 / 375 * 100vw);
	font-weight:bold;
	color: #444;
}

#btn-contact-header{
	margin:0 12px;
}

#btn-contact-header .ico {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: calc(30 / 375 * 100vw);
	height: calc(32 / 375 * 100vw);
}

#btn-phone-header .ico img{
	width: calc(21 / 375 * 100vw);
	height: calc(32 / 375 * 100vw);
}

#btn-contact-header .ico img{
	width: calc(25 / 375 * 100vw);
	height: calc(19 / 375 * 100vw);
}


@media screen and (min-width:768px){
	.header_inner{
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

@media screen and (max-width:767px) {
    #header {
        position: fixed;
        top: 0;
        left: 0;
    }
    #header.is-hidden {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
    }
	.header-slim {
		padding-bottom: 4px;
	}
	#header h1{
		font-size: calc(10 / 375 * 100vw);
		margin-bottom: 0.5em;
	}
	.header_inner{
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding:0 0 0 8px;
	}
	#header .site-id{
		margin-right: auto;
	}
	#header .site-id img{
		width: calc(200 / 375 * 100vw);
	}
	#header .site-id_area{
		font-size: calc(13 / 375 * 100vw);
		left:calc(51 / 375 * 100vw);
	}
	.header_contact{
		display:none;
	}
	#btn-phone-header,
	#btn-contact-header{
		display:block;
	}
}



/* g-nav
---------------------------------------------------------- */

#g-nav a{
	text-decoration: none;
}


/*PC用 ヘッダーナビ*/

.nav-header-pc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.nav-header-pc > li > a {
	display: block;
	position: relative;
	z-index: 0;
	font-size:1.5rem;
	font-weight: bold;
	padding:12px 15px 35px;
	color: #444;
	text-decoration: none;
}

.tablet .nav-header-pc > li > a {
	padding:12px 10px 35px;
}

.nav-header-pc_child {
	visibility: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	opacity: 0;
	position: absolute;
	z-index:1;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.drop-down:hover .nav-header-pc_child,
.drop-down.is-active .nav-header-pc_child{
	visibility: visible;
	opacity: 1;
}

.tablet .drop-down > a {
    pointer-events: none;
}

.nav-header-pc_child_ttl {
	width:300px;
	padding:30px 30px 30px 40px;
	background:#43ADAC;
}

.ttl-nav{
	font-size:2.0rem;
	font-weight:bold;
	margin-bottom: 1em;
	letter-spacing: 0.05em;
}

.ttl-nav a{
	color:#FFF;
}

.ttl-nav a:hover{
	opacity:0.7;
}

.ttl-nav .ico{
	position: relative;
	z-index:0;
	padding-right:28px;
}

.ttl-nav .ico:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
	height: 12px;
	margin-top: 2px;
	background: url(../img/common/ico_arw_right_02_ylw.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.nav-header-pc_child_menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding:35px 35px 15px 35px;
	background:#FFF;
}

.nav-header-pc_child_menu a:hover{
	opacity:0.7;
}

.nav-header-pc_child_menu a .ico {
	display: inline-block;
	position: relative;
	z-index:0;
	font-size:1.5rem;
	line-height: 1.46;
}

.nav-header-pc_child_menu a .ico:after {
	content: "";
	display: inline-block;
	width: 23px;
	height: 12px;
	margin-left: 5px;
	background: url(../img/common/ico_arw_right_02_red.svg) no-repeat;
	background-size: contain;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.nav-header-pc_child_menu .nav-01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 572px;
	margin-right: 30px;
}

.nav-header-pc_child_menu .nav-01 li {
	text-align: center;
	width:30.04%;
	margin-bottom:2.62%;
}

.nav-header-pc_child_menu .nav-01 li:not(:nth-child(3n)){
	margin-right:4.94%;
}

.nav-header-pc_child_menu .nav-01 img {
	display:block;
	margin-bottom: 6px;
}

.nav-header-pc_child .nav-02 li {
	margin-bottom:10px;
}

.overlay{
	visibility: hidden;
	opacity: 0;
	display:block;
	position: fixed;
	z-index:2;
	top:0;
	left:0;
	width:100vw;
	height: 100vh;
	background:rgba(68,68,68,.56);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.overlay.is-shown{
	visibility: visible;
	opacity: 1;
}


/*SP用 ヘッダーナビ*/

.nav-header-sp{
	display:none;
	width:46%;
}

.nav-header-sp > li {
	margin-bottom:calc(25 / 375 * 100vw);
}

.nav-header-sp > li > a {
	position: relative;
	z-index:0;
	font-size: calc(16 / 375 * 100vw);
	font-weight:bold;
	line-height: 1.46;
}

.nav-header-sp > li > a .ico{
	position: relative;
	z-index:0;
}

.nav-header-sp > li > a .ico:after{
	content: "";
	display: inline-block;
	width: 8px;
	height: 11px;
	width: calc(8 / 375 * 100vw);
	height: calc(11 / 375 * 100vw);
	margin-left: 6px;
	background: url(../img/common/ico_arw_right_06_gr.svg) no-repeat;
	background-size: contain;
}

.nav-header-sp li a:hover{
	color:#43adac;
}

.nav-header-sp_child{
	margin-top:12px;
}

.nav-header-sp_child > li {
	font-size: calc(13 / 375 * 100vw);
	padding-left: 0.5em;
	margin:0.5em 0;
	line-height: 1.38;
}


@media screen and (min-width:768px) {
	#g-nav{
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
	.nav-header-pc > li > a:after {
		content: '';
		position: absolute;
		z-index: -1;
		bottom: 0;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 0;
		height: 6px;
		background: #43ADAC;
		opacity: 0;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	.nav-header-pc > li:hover > a:after {
		opacity: 1;
		width: 100%;
	}
}

@media screen and (max-width:1280px) {
	.nav-header-pc > li > a {
		font-size:1.4rem;
		padding:12px 10px 35px;
	}
}

@media screen and (max-width:767px) {
	#g-nav {
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		display: none;
		position: fixed;
		z-index: 3;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		padding:26% 22px 0;
		background: #FFF;
	}
	#g-nav nav{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.nav-header-pc{
		display:none;
	}
	.nav-header-sp{
		display:block;
	}
}



/* btn-nav
---------------------------------------------------------- */

#btn-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	position: relative;
	z-index:3;
	width: calc(54 / 375 * 100vw);
	height: calc(48 / 375 * 100vw);
	background:#43ADAC;
	cursor: pointer;
}

#btn-nav.is-active{
	position: absolute;
	top:10px;
	right: 5px;
	background:none;
}

.btn-nav_inner{
	padding-top:4px;
}

.btn-nav_inner .ico-nav{
    position: relative;
	z-index:1;
	width: 100%;
	max-width: calc(24 / 375 * 100vw);
	margin:0 auto;;
}

.btn-nav_inner .ico-nav span,
.btn-nav_inner .ico-nav span:nth-of-type(2):after{
    display: block;
	width: 100%;
    height: 3px;
    background: #FFF;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

.btn-nav_inner .ico-nav span:nth-of-type(2):after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
}

.btn-nav_inner .ico-nav span:not(:nth-of-type(3)) {
    margin-bottom: 6px;
	margin-bottom: calc(6 / 375 * 100vw);
}

.btn-nav_inner p{
	font-size:1.0rem;
	font-size: calc(10 / 375 * 100vw);
	font-weight:bold;
	margin-top:5px;
	margin-top: calc(5 / 375 * 100vw);
	color:#FFF;
	line-height: 1;
}

#btn-nav.is-active .btn-nav_inner .ico-nav span,
#btn-nav.is-active .btn-nav_inner .ico-nav span:after{
	background:#444444;
}

#btn-nav.is-active .btn-nav_inner p{
	color:#444444;
}

#btn-nav.is-active .btn-nav_inner .ico-nav span:nth-of-type(1) {transform: translateY(20px) scale(0);}
#btn-nav.is-active .btn-nav_inner .ico-nav span:nth-of-type(2) {transform: rotate(-45deg);}
#btn-nav.is-active .btn-nav_inner .ico-nav span:nth-of-type(2)::after {transform: rotate(90deg);}
#btn-nav.is-active .btn-nav_inner .ico-nav span:nth-of-type(3) {transform: translateY(-20px) scale(0);}


@media screen and (min-width:768px) {
	#btn-nav {
		display: none;
	}
}



/* .sec-contact-footer
-------------------------------------------------------- */

.sec-contact-footer{
	padding:55px 0px 60px 0px;
	background:#43ADAC;
}

.sec-contact-footer h3{
	font-size:2.9rem;
	font-weight:bold;
	margin-bottom: 1.37em;
	letter-spacing:0.15em;
}

.contact-footer_cont {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 50px;
}

.contact-footer_cont h4 {
	font-size:1.7rem;
	font-weight:bold;
	color: #FFF;
}

.contact-footer_cont_phone .en{
	position: relative;
	z-index:0;
	font-size:6.1rem;
	line-height:1;
	text-decoration: none;
}

.contact-footer_cont_phone .ico{
	position: relative;
	z-index:0;
	padding-left: 44px;
}

.contact-footer_cont_phone .en .ico:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-top: 1px;
	width: 33px;
	height: 50px;
	background: url(../img/common/ico_smphone_wh.svg) no-repeat;
	background-size:contain;
}

.contact-footer_cont .hukidashi-pc{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	position: relative;
	z-index:0;
	font-size:2.2rem;
	width:74px;
	height: 76px;
	line-height:1.18;
	letter-spacing:0.1em;
	background: #FDE73F;
	border-radius: 11px;
	margin:5px 0 0 30px;
}

.contact-footer_cont .hukidashi-pc:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left:-20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 20px 8px 0;
	border-color: transparent #FDE73F transparent transparent;
}

.contact-footer_cont .hukidashi-sp{
	display:none;
	text-align: center;
	font-size:1.6rem;
	font-size: calc(16 / 375 * 100vw);
	font-weight:bold;
	width:100%;
	max-width:calc(140 / 375 * 100vw);
	margin:10px auto;
	padding:1px 10px;
	letter-spacing: 0.1em;
	background:#FFF080;
	border-radius:calc(21 / 375 * 100vw);
}

.contact-footer_nav ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom:58px;
	border-top:1px solid #CECECE;
	border-bottom:1px solid #CECECE;
	border-left:1px solid #CECECE;
	box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.16);
}

.contact-footer_nav li {
	text-align: center;
	width:25%;
	border-right:1px solid #CECECE;
}

.contact-footer_nav li a {
	display:block;
	position: relative;
	z-index:0;
	font-size:1.8rem;
	font-weight:bold;
	color: #444;
	height: 100%;
	padding:48px 10px 4px;
	background:#FFF;
	text-decoration: none;
}

.contact-footer_nav li:nth-child(1) a {
	color:#FFF;
	background:#A1281E;
}

.contact-footer_nav li a:hover {
	opacity:0.7;
}

.contact-footer_nav .ico {
	position: relative;
	z-index:0;
	padding-top:45px;
}

.contact-footer_nav .ico:before {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top:0;
	left:  50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.contact-footer_nav li:nth-child(1) .ico:before{
	width:30px;
	height: 30px;
	background:url(../img/common/ico_phone_wh.svg) no-repeat;
	background-size:contain;
}

.contact-footer_nav li:nth-child(2) .ico:before{
	top:8px;
	width:28px;
	height: 20px;
	background:url(../img/common/ico_contact_02_br.svg) no-repeat;
	background-size:contain;
}

.contact-footer_nav li:nth-child(3) .ico:before{
	top:3px;
	width:25px;
	height: 25px;
	background:url(../img/common/ico_beginner_br.svg) no-repeat;
	background-size:contain;
}

.contact-footer_nav li:nth-child(4) .ico:before{
	top:6px;
	width:28px;
	height: 23px;
	background:url(../img/common/ico_talk_br.svg) no-repeat;
	background-size:contain;
}

.contact-footer_share ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width:100%;
	max-width:590px;
	padding:20px 0;
	margin:0 auto;
	border-top:1px solid #FFF;
	border-bottom:1px solid #FFF;
}

.contact-footer_share ul li.meiryo {
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.contact-footer_share .btn-line,
.contact-footer_share .btn-contact{
	display:block;
	text-align: center;
	font-size: 1.4rem;
	font-weight:bold;
	width: 178px;
	line-height: 41px;
	background:#FFF;
	border:1px solid #CECECE;
	border-radius:23px;
	text-decoration: none;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

.contact-footer_share .btn-line:hover,
.contact-footer_share .btn-contact:hover{
	opacity: 0.7;
}

.contact-footer_share .btn-line .ico,
.contact-footer_share .btn-contact .ico{
	position: relative;
	z-index:0;
	padding-left:34px;
}

.contact-footer_share .btn-line .ico:before,
.contact-footer_share .btn-contact .ico:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.contact-footer_share .btn-line .ico:before{
	width: 24px;
	height: 24px;
	background: url(../img/common/ico_line.png) no-repeat;
	background-size:contain;
}

.contact-footer_share .btn-contact .ico:before{
	width: 26px;
	height: 21px;
	background: url(../img/common/ico_contact_01_bk.svg) no-repeat;
	background-size:contain;
}


@media screen and (min-width:768px) {
	.contact-footer_cont h4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.contact-footer_cont h4:before,
	.contact-footer_cont h4:after{
		content: "";
		display: block;
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		height: 1px;
		background: #FFF;
	}
	.contact-footer_cont h4:before {margin-right:.3em;}
	.contact-footer_cont h4:after {margin-left:.3em;}
	.contact-footer_share ul li:nth-child(1){margin-right:auto;}
	.contact-footer_share ul li:nth-child(2){margin-right:20px;}
}

@media screen and (max-width:767px) {
	.sec-contact-footer{
		padding:30px 0 45px 0;
	}
	.sec-contact-footer h3 {
		font-size: calc(22 / 375 * 100vw);
		line-height: 1.36;
	}
	.contact-footer_cont{
		padding:12px 15px;
		margin-bottom: 20px;
		border:2px solid #FFF;
	}
	.contact-footer_cont_phone{
		width:100%;
	}
	.contact-footer_cont_phone .en{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		width:100%;
		font-size: calc(40 / 375 * 100vw);
	}
	.contact-footer_cont_phone .en .ico{
		padding-left: calc(30 / 375 * 100vw);
	}
	.contact-footer_cont_phone .en .ico:before{
		width:calc(23 / 375 * 100vw);
		height:calc(34 / 375 * 100vw);
	}
	.contact-footer_cont h4{
		text-align: center;
		font-size: calc(14 / 375 * 100vw);
	}
	.contact-footer_cont .hukidashi-pc{
		display:none;
	}
	.contact-footer_cont .hukidashi-sp{
		display:block;
	}
	.contact-footer_nav ul{
		margin-bottom:40px;
		border-bottom:none;
	}
	.contact-footer_nav li {
		width:50%;
		border-bottom: 1px solid #CECECE;
	}
	.contact-footer_nav li a {
		font-size: calc(13 / 375 * 100vw);
		padding:44px 5px 4px;
	}
	.contact-footer_nav .ico {
		padding-top:40px;
	}
	.contact-footer_share ul{
		padding:14px 0 20px;
	}
	.contact-footer_share ul li:first-child{
		text-align: center;
		width:100%;
		margin-bottom: 5px;
	}
	.contact-footer_share ul li:nth-child(2),
	.contact-footer_share ul li:nth-child(3){
		width:48%;
	}
	.contact-footer_share .btn-line,
	.contact-footer_share .btn-contact{
		font-size: calc(12 / 375 * 100vw);
		width: 100%;
		line-height: calc(41 / 375 * 100vw);
		border-radius: calc(23 / 375 * 100vw);
	}
}



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

#footer{
	padding-bottom:60px;
}

.footer_nav {
	border-bottom:1px solid #CCC;
}

.footer_nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.footer_nav ul li a {
	display: block;
	position: relative;
	z-index: 0;
	font-size:1.5rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding:1em 0;
	color: #444;
	text-decoration: none;
}

.footer_nav ul li a:after {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 0;
	height: 5px;
	background: #43ADAC;
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

.footer_nav ul li a:hover:after {
	opacity: 1;
	width: 100%;
}

.footer_cont {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding:45px 0 20px;
}

.footer_cont_left{
	margin-right:auto;
}

.footer_cont_left .p-text{
	line-height: 1.875;
}

.site-id-footer a{
	display:block;
	position: relative;
	z-index:0;
	padding-bottom:4px;
	margin-bottom:30px;
}

.site-id-footer .site-id_area{
	position: absolute;
	z-index:1;
	bottom:0;
	left:64px;
	font-size:1.5rem;
	line-height: 1;
}

.footer_cont_right{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.footer_cont_right a{
	text-decoration:none;
}

.footer_cont_right a:hover{
	color: #43ADAC;
}

.nav-footer-pc:nth-child(1),
.nav-footer-pc:nth-child(2){
	margin-right:80px;
}

.nav-footer-pc > li {
	margin-bottom: 15px;
}

.nav-footer-pc > li > a {
	position: relative;
	z-index:0;
	font-size:1.5rem;
	font-weight:bold;
}

.nav-footer-pc_child{
	margin: 8px 0 20px;
}

.nav-footer-pc_child > li {
	margin-bottom: 5px;
}

.nav-footer-pc_child > li > a {
	font-size:1.3rem;
	padding-left: 1em;
}

.nav-footer-sp{
	display:none;
	width:50%;
}

.nav-footer-sp > li {
	margin-bottom: 15px;
}

.nav-footer-sp > li > a {
	position: relative;
	z-index:0;
	font-size:1.5rem;
	font-size: calc(15 / 375 * 100vw);
	font-weight:bold;
	line-height: 1.46;
}

.nav-footer-sp > li > a .ico{
	position: relative;
	z-index:0;
}

.nav-footer-sp > li > a .ico:after{
	content: "";
	display: inline-block;
	width: 8px;
	height: 11px;
	width: calc(8 / 375 * 100vw);
	height: calc(11 / 375 * 100vw);
	margin-left: 5px;
	background: url(../img/common/ico_arw_right_06_gr.svg) no-repeat;
	background-size: contain;
}

.copy-right {
	font-size:1.2rem;
	padding:20px 20px;
	line-height: 1.5;
	background:#8B8B8B;
}


@media screen and (max-width:767px) {
	#footer{
		padding-bottom:15%;
	}
	.footer_cont {
		padding: 25px 0 20px;
	}
	.footer_nav {
		display:none;
	}
	.footer_cont_right{
		width:100%;
		margin: 18px 0;
		padding:18px 0 5px;
		border-top:1px solid #CECECE;
		border-bottom:1px solid #CECECE;
	}
	.footer_cont_left .p-text{
		line-height: 1.56;
	}
	.nav-footer-pc{
		display:none;
	}
	.nav-footer-sp{
		display:block;
	}
	.copy-right {
		font-size: calc(11 / 375 * 100vw);
	}
}



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

#footer-fixed {
	position: fixed;
	z-index: 2;
	bottom: 0;
	left:0;
	width:100%;
}

#footer-fixed .sec_inner{
	padding:0;
}

.footer-fixed_img{
	position: absolute;
	z-index:1;
	bottom:-45px;
	left:36px;
	width:90px;
}

.footer-fixed_cont{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer-fixed_cont_ttl {
	font-size:1.5rem;
	font-weight:bold;
	margin-right:50px;
	line-height:1.4;
	letter-spacing: 0.15em;
}

.btn-phone-footer{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	z-index:0;
	font-size:2.9rem;
	line-height:1;
	margin-right:76px;
	text-decoration: none;
}

.btn-phone-footer .is-white {
	display:block;
	font-size:0.37em;
	line-height: 1.4;
	padding-left: 20px;
}

.btn-phone-footer .hukidashi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	position: relative;
	z-index:0;
	font-size:1.2rem;
	width:38px;
	height: 38px;
	line-height:1.2;
	letter-spacing:0.1em;
	background: #FDE73F;
	border-radius: 7px;
	margin: 5px 0 0 14px;
}

.btn-phone-footer .hukidashi:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left:-8px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 8px 4px 0;
	border-color: transparent #FDE73F transparent transparent;
}

.btn-contact-footer {
	display: block;
	text-align: center;
	position: relative;
	z-index:0;
	font-size: 1.4rem;
	font-weight:bold;
	width: 236px;
	background:#FFF;
	line-height: 37px;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-contact-footer:before,
.btn-contact-footer:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn-contact-footer:before{
	left: 14px;
	width: 19px;
	height: 15px;
	background: url(../img/common/ico_contact_01_gr.svg) no-repeat;
	background-size: contain;
}


@media screen and (min-width:768px) {
    #footer-fixed {
		min-width:1200px;
		width:100%;
		padding:8px 0;
		background:#43ADAC;
	}
	.footer-fixed_cont{
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding-left: 155px;
	}
	.btn-contact-footer:after{
		right: 14px;
		width: 6px;
		height: 11px;
		background: url(../img/common/ico_arw_right_03_gr.svg) no-repeat;
		background-size:contain;
	}
	.btn-contact-footer:hover {
		opacity: 0.7;
	}
	.btn-phone-footer .en{
		position: relative;
		z-index:0;
		padding-left: 20px;
	}
	.btn-phone-footer .en:before{
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		margin-top: 1px;
		width: 16px;
		height: 24px;
		background: url(../img/common/ico_smphone_wh.svg) no-repeat;
		background-size:contain;
	}
}

@media screen and (max-width:767px) {
	.footer-fixed_img,
	.footer-fixed_cont_ttl,
	.btn-phone-footer .hukidashi{
		display:none;
	}
	.footer-fixed_cont,
	.btn-phone-footer .is-white{
		padding-left: 0;
	}
	.btn-phone-footer{
		width:50%;
		font-size: calc(21 / 375 * 100vw);
		padding-left: calc(35 / 375 * 100vw);
		margin-right: 0;
		background:#43ADAC;
	}
	.btn-phone-footer:before{
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 10px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		margin-top: 1px;
		width: calc(18 / 375 * 100vw);
		height: calc(28 / 375 * 100vw);
		background: url(../img/common/ico_smphone_wh.svg) no-repeat;
		background-size:contain;
	}
	.btn-contact-footer{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		font-size: calc(14 / 375 * 100vw);
		width:50%;
		padding:10px 0 10px 20px;
		line-height: 1.28;
	}
	.btn-contact-footer:before{
		left: 16px;
		width: calc(26 / 375 * 100vw);
		height: calc(22 / 375 * 100vw);
	}
}



/* page-top
---------------------------------------------------------- */

#page-top {
	display:none;
    position: fixed;
    z-index: 3;
    right: 2%;
    bottom: 4.4%;
}

#page-top a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
    width: 47px;
    height: 47px;
    background:#FFF;
    text-decoration:none;
	border:1px solid #CECECE;
	border-radius:50%;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

#page-top a img{
	padding-bottom:3px;
}

#page-top a:hover img{
	animation: anim-pagetop .65s cubic-bezier(0.215,.61,.355,1) 0s 1;
}

@keyframes anim-pagetop {
	0% {
		transform: translate3d(0, 0, 0);
		opacity: 1
	}
	50% {
		transform: translate3d(0, -5px, 0);
		opacity: 0
	}
	50.1% {
		transform: translate3d(0, 5px, 0);
		opacity: 0
	}
	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1
	}
}


@media screen and (max-width:767px) {
	#page-top {
		right: 2%;
		bottom:12%;
	}
}

.article-content {
    padding: 0;
}

.article-summary {
    overflow: hidden;
    margin: 15px 15px 5px;
    background-color: #fff;
    padding-bottom: 5px;
}

.summary-list {
    line-height: 20px;
    font-size: 14px;
    color: #000;
}

.summary-list li {
    padding: 0 0 0 38px;
    margin-bottom: 7px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAUCAMAAACpgK3LAAAATlBMVEUAAABRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNZRuNYl4GFzAAAAGXRSTlMA/viNdmsLk3s68eaemUgJwLy5Rd+2T0sMqNJMOwAAAG1JREFUKM99yUkSgCAMRNGoOKKiOOb+F5UCykgl+Be96AdylXKTM0SVN1cnW+uIlBthv/3YUH50iqaiIZZz3oJygwORdEwNmiXq9VpRe0n05OZ0jScZV7JULTfKWDLerQO2INV4rUDOaDJBd2YPHBgQgMHQ9BoAAAAASUVORK5CYII=) no-repeat 5px 5px;
    -webkit-background-size: 14px 10px;
    background-size: 14px 10px;
}

li {
    list-style: none;
}

.image_title{
	display: flex;
	flex-wrap:wrap;
}
.image_title li {
	width: calc(25%/75%);/*←画像を横に4つ並べる場合*/
	box-sizing:border-box;
}

.image_title li img {
	max-width:100%; /*画像のはみだしを防ぐ*/
	height: auto; /*画像の縦横比を維持 */
}

.blog_button{
display: inline-block;
position: relative;
width:100px;
font-weight:bold;
text-decoration: none;
text-align:center;
color:white;
padding: 0.25em 0.5em;
background-color:#43ADAC;
margin-right:10px;
}

.blog_button:hover{
  background-color:#69DDDA;
}

.blog_gifu_box{
  padding: 0.5em 1em;
  margin: 2em 0;
  color: #2c2c2f;
  background: #DFF7F7;/*背景色*/
}

.blog_gifu_h2{
font-size:1.5em;
font-weight:600;
color:#43ADAD;"
}

.blog_gifu_h3{
  font-weight:600;
}

.blog_gifu_buttonwp{
  display: flex;
  justify-content:
  flex-start;
  text-align:center;
}



@media screen and (max-width:480px) {
    /*　画面サイズが480pxからはここを読み込む　*/
    .article-content-wp{
      display: none;
    }
}

@media screen and (min-width:481px) {
    /*　画面サイズが480pxからはここを読み込む　*/
    .article-content-sp{
      display: none;
    }
}


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

    #footer-fixed{
		display: none;
	}


.fix {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    padding: 0;
    min-width: 0;
    height: 92px;
    background: rgba(0,0,0,0.8);
}

.fix ul, .fix ul li {
    /* display: -webkit-box; */
    display: -ms-flexbox;
    /* display: -webkit-flex; */
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    /* -webkit-justify-content: space-between; */
    justify-content: space-around;
    /* -webkit-align-items: flex-end; */
    align-items: flex-end;
    /* -webkit-flex-wrap: nowrap; */
    flex-wrap: nowrap;
    background-color: transparent;
        padding:0 0;
        margin:8px 5px;
}

.fix ul.btns li {
    width: calc(225 / 450 * 100vw);
}

.fix ul li {
    /* -webkit-justify-content: center; */
    justify-content: center;
    /* -webkit-align-items: flex-end; */
    align-items: flex-end;
    color: #FFF;
    font-size: 100%;
    /* border-radius: 2px; */
    padding: 0;
}

.fix ul li {
    /* color: #FFF; */
    /* font-size: 16px; */
    line-height: 1.15;
    font-weight: 600;
    /* border-radius: 2px 0 0 2px; */
    background: #000;
    /* padding: 22px 12px; */
    text-align: center;
    /* -webkit-transition: all .3s; */
    transition: all .3s;
}

.btns li {
    /* display: flex; */
    -webkit-box-flex: 1;
    flex: 1;
    /* width: 50px; */
    height: 64px;
    border-radius: 5px !important;
    overflow: hidden;
    border: 1.5px #fff solid;
}

.fix_tel {
    margin-right: 4px;
}

li {
    list-style: none;
}

.fix ul.btns li a {
    line-height: 0;
}

.btns li:nth-child(1) a {
    background: #4472C4 !important;
}

.fix ul li a {
    align-items: center;
}

.btns li a {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    /* align-items: center; */
    -webkit-box-pack: center;
    justify-content: center;
    width: 100%;
    font-size: calc(18/375*100vw);
    font-weight: bold;
    /* line-height: 1.2; */
    color: #FFF;
    text-decoration: none;
}

.btns li a .is-sm {
      display: block;
      position: relative;
      top: -6px;
      width: 100%;
      font-size: 11px;
      text-align: center;
      padding: 15px 0px 10px;
      background: #fff;
      color: #000;
      letter-spacing: 0.3px;
  }


#denwa-kakeru {
    width: 100%;
    height: 28px;
    background: url(../img/common/ico_phone_01.svg) no-repeat;
    background-size: cover;
    margin-top: 8px;
    position: relative;
    bottom: 7px;
    left: -3px;
}

.fix ul li a > span {
    display: block;
    padding-top: 10px;
}

.fix ul li:not(:first-of-type) {
    margin-top: 3px;
}

.fix_contact {
    margin-left: 4px;
}

.btns li:nth-child(2) a {
    background: #FFC000 !important;
}

#siryou-seikyuu {
	width: 100%;
    position: relative;
    bottom: 7px;
    left: -3px;
    height: 28px;
    background: url(../img/common/ico_contact_01.svg) no-repeat;
    background-size: cover;
    margin-top: 8px;
    text-align: center;
}

}
