@charset "utf-8";

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

* {
	margin: 0;
	padding: 0;
	list-style:none;
	outline:0;
	vertical-align: baseline;
	background:transparent;
}

img,
a img {
	border: 0;
	vertical-align: top;
}

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

blockquote, q {
	quotes:none;
}

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

/*--------------user--------------*/

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

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 #000;
	cursor:help;
}

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

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1rem 0;
    padding:0;
}

input, select {
	vertical-align: middle;
}

/*--------------cmn--------------*/

html, body {
	height: 100%;
}

html{
	font-size: 62.5%;/*基準として10px*/
}

body{
	font-size: 1.6rem;/*16px*/
	font-family: "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;

	line-height: 1.7;
	/*font-family: "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS P Gothic", Verdana,Arial, Helvetica, sans-serif;*/
	color: #000;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 320px) {
  body{
  	font-size: 1rem;/*14px*/
  }
}


.L{
	float: left;
}

.R{
	float: right;
}

.clear {
	clear: both;
}

.st{
	font-weight: bold;
}

.mb5{
	margin-bottom: 5px!important;
}

.mb10{
	margin-bottom: 10px!important;
}

.mb15{
	margin-bottom: 15px!important;
}

.mb20{
	margin-bottom: 20px!important;
}

.mb30{
	margin-bottom: 30px!important;
}

.mb40{
	margin-bottom: 40px!important;
}

.mb50{
	margin-bottom: 50px!important;
}

.mb60{
	margin-bottom: 60px!important;
}

.nbg{
	background: none!important;
}

.nm{
	margin: 0!important;
}
.nmt{
	margin-top: 0!important;
}
.nmr{
	margin-right: 0!important;
}
.nmb{
	margin-bottom: 0!important;
}
.nml{
	margin-left: 0!important;
}

.np{
	padding: 0!important;
}
.npt{
	padding-top: 0!important;
}
.npr{
	padding-right: 0!important;
}
.npb{
	padding-bottom: 0!important;
}
.npl{
	padding-left: 0!important;
}

.nb{
	border: none!important;
}
.nbt{
	border-top: none!important;
}
.nbr{
	border-right: none!important;
}
.nbb{
	border-bottom: none!important;
}
.nbl{
	border-left: none!important;
}

.aleft{
	text-align: left!important;
}
.aright{
	text-align: right!important;
}
.acenter{
	text-align: center!important;
}

.rel{
	position: relative;
}

.super{
	vertical-align: super;
	font-size: 0.8rem;
}
.cap{
	font-size: 0.8rem;
	line-height: 1.5;
	font-weight: normal;
}



main section h3 {
	position: relative;
	text-align: center;
}
main section h3 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
	background-color: #fff;
	text-align: left;
	font-weight:normal;
	font-size:120%;
	/* background: #F8F6F4; */
}
main section h3::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #ccc;
}
main section h3::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

main section.contact_center{
	text-align:center;
}
main .contact_tel a {
    font-size: 220%;
    text-decoration: none;
    display: inline-block;
    color: #E61F3C;
    margin: auto;
    font-weight: bold;
}

footer h1 {
	position: relative;
}

footer h1 .icon_sns {
	position: absolute;
	transform: translate(50%, 50%);
    bottom: 50%;
    right: calc(50% - 100px);
	transition-duration: 0.5s;
}

footer h1 .icon_sns:hover {
	opacity: 0.7;
}

footer h1 .icon_sns img {
	width: 38px;
}

@media screen and (max-width:767px) {
	main section h3 span {
        font-size: 90%;
        margin: 0 1em;
        padding: 0 0.5em;
    }

	main .contact_tel a {
        font-size: 150%;
        text-decoration: none;
        display: inline-block;
        color: #E61F3C;
        margin: auto;
        font-weight: bold;
    }

	main .contact_tel a {
        font-size: 150%;
        text-decoration: none;
        display: inline-block;
        color: #E61F3C;
        margin: auto;
        font-weight: bold;
    }

	.wrapper.gray_bg {
		padding: 60px 0 10px;
	}
}