@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
	font-family:"Noto Sans Japanese",'Noto Sans JP', Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size:100%/1.4;
	background-color: #fff;
	margin: 0;
	padding: 0;
	color: #000;
}

/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl {
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;
	padding: 0;
}
p {
	font-size:90%;
	margin
}
h2{
	text-align:center;
	font-size:xx-large;
}
h3{
	font-size:x-large;
	}
h3 ~ h3{
	margin-top: 2em;
}
h4{
	font-size:130%;
	}
img{
	display:block;
	width:100%;
	height:auto;
	margin:0;
	}
a img {
	border: none;
}
a:link {
	color:#414958;
	text-decoration: none;
}
a:visited {
	color:#414958;
}
a:hover, a:active, a:focus {
	color:#414958;
	text-decoration: underline;
}
div{
	box-sizing:border-box;
	}
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 768px) {
h2{
	font-size:x-large;
}
h3{
	font-size:large;
	}
h4{
	font-size:large;
	}
p {
	font-size:small;
	}
}
@media screen and (max-width: 480px) {
}

/* ~~ コンテナ~~ */
.container {
	position:relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.content{
	position:relative;
	width: 90%;
	max-width: 1080px;
	min-width: 10px;
	margin: 0 auto;
}
.content .snsbox,
.content .flexbox{/*--二分割-PC左右配置/SP上下配置--*/
	display: flex;
	flex-direction: row;
	justify-content:space-between;
}
.content .flexbox.ai_center{
	align-items: center;
	}
.content .snsbox .box,
.content .flexbox .box{
	width:48%;
	max-width:1000px;
	min-width:50px;
	margin:0;
}
.content .snsbox{
	padding:150px 0 0;
	justify-content: center;
	align-items: center;
}
.content .snsbox .box{
	max-width:500px;
}
.content .flexbox .box2:first-child{
	width:76%;
}
.content .flexbox .box2:last-child{
	width:20%;
}
.content .flexbox .box3:first-child{
	width:60%;
}
.content .flexbox .box3:last-child{
	width:36%;
}
.content .flexbox.logoon{
	margin:0 0 1em;
	}
.content .flexbox.logoon img{
	max-width:200px;
	}
.content .flexbox.phot img{
	}
@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 768px) {
.content .snsbox{
	padding:100px 0 0;
}
.content .snsbox,
.content .flexbox{
	flex-direction: column;
	}
.content .flexbox.rev{
	flex-direction: column-reverse;
	}
.content .snsbox .box,
.content .flexbox .box2:first-child,
.content .flexbox .box3:first-child,
.content .flexbox .box3:last-child,
.content .flexbox .box{
	width:100%;
	}
.content .flexbox .box:last-child{
	margin:1em 0 0;
}
.content .flexbox .box2:last-child{
	width:100px;
	}
}
@media screen and (max-width: 480px) {
}

/*--------------------------------------------個別カラー------*/
.container.col1,
.container.col2,
.container.col3{
	position:relative;
	margin:200px auto;
}
.container.col1::before,
.container.col2::before,
.container.col3::before {
    content: '';
    position: absolute;
    top: -100px;
    bottom: -100px;
    left: 0;
    right: 0;
    z-index: -1;
}
.container.col1::before {
    background-color: #e9efaf;
    transform: skewY(3deg);
}
.container.col3::before {
    background-color: #eee;
    transform: skewY(-3deg);
}
@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 768px) {
.container.col1,
.container.col2,
.container.col3{
	margin:100px auto;
	}
.container.col1::before,
.container.col2::before,
.container.col3::before {
    top: -50px;
    bottom: -50px;
	}
}
@media screen and (max-width: 480px) {
}

/*--------------------------------------------QAふきだし------*/
.container.col3 p{
	width:90%;
}
.container.col3 p span{
	display:inline-block;
	background-color: #fff;
	padding:15px;
	}
.container.col3 p.mid{
	font-size:large;
}
.container.col3 p.chleft{
	text-align:left;
	margin-right:auto;
}
.container.col3 p.chleft ~ p.chleft{
	margin-top:1em;
}
.container.col3 p.chright{
	text-align:right;
	margin-left:auto;
	}
.container.col3 p.chleft span{
	border-radius: 20px 20px 20px 0;
	}
.container.col3 p.chright span{
	text-align:left;
	border-radius: 20px 20px 0 20px;
	}
.container.col3 p.chleft.mid{
	color: #cf1426;
	}
.container.col3 p.chright.mid{
	color:;
	font-weight:bold;
	}
@media screen and (max-width: 768px) {
.container.col3 p.mid{
	font-size:middle;
	}
}
@media screen and (max-width: 480px) {
}

/*---------------------------------------------SNSうめこみ-----*/
.twitter_wrap{
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 500px;
}
 
.twitter_wrap iframe{
  width: 100% !important;
}
.facebook_wrap{
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
 
.fb-page,
.fb-page span,
.facebook_wrap iframe{
  width: 100% !important;
  height: 500px !important;
}


/*-----------------------------------------------------------リンクボタン-------*/
a.linkbtn{
    display: block;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 1em 0;
    width: 100%;
    background-color: #cf1426;
    text-align: center;
    color: #fff;
    overflow: hidden;
}
a.linkbtn:hover,
a.linkbtn:focus,
a.linkbtn:active{
	text-decoration: none;
}
a.linkbtn::before {
    content: "";
    vertical-align: middle;
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    margin: auto;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
a.linkbtn.ya2::before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
a.linkbtn::after {
    content: "";
background-color:#ff4e5a;
    position: absolute;
    z-index: -1;
    display: block;
    width: 110%;
    height: 100%;
    top: 0;
    left: -120%;
    transform: skewX(-20deg);
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
a.linkbtn:hover::after,
a.linkbtn:focus::after,
a.linkbtn:active::after{
    left: -10px;
}

/* --------------------------------------------------------------~~ ヘッダー ~~ */
.header_index{
	width:100%;
	max-height:700px;
	position:relative;
	margin:0;
	overflow:hidden;
}
.header_index.inqpg{
	height:300px;
	background-image: url("../img/topimg_01.jpg");
	background-repeat:no-repeat;
	background-size:100% auto;
	background-position: center;
}
.header_index.inqpg img.spbg{
	display:none;
}
.header_index video{
	width:100%;
	height:56.25%;
	}
.header_index img.index_txt{/*------動画上テキスト------*/
	width:90%;
	max-width:900px;
	z-index:1;
	position:absolute;
	right:0;
	bottom:25%;
}
.header_index .logo{/*-----動画の上にロゴを置く-----*/
	z-index:1;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
}
.header_index .logo::before{
	content:"";
	background-color: #282828;
	z-index:-1;
	position:absolute;
	bottom:-50px;
	left:0;
	right:0;
	width:100%;
	height:200px;
	transform: skewY(3deg);
}
.header_index .logo::after{
	content:"";
	background-color: #c1272d;
	z-index:-2;
	position:absolute;
	bottom:-30px;
	left:0;
	right:0;
	width:100%;
	height:200px;
	transform: skewY(4deg);
}
.header_index .logo img{
	width:100%;
	max-width:600px;
	height:auto;
	margin:0 0 0 20px;
}
.header_index .logo a{
	display:inline-block;
	width:100%;
	max-width: 600px;
}
.header {/*------------------------------ヘッダー本体---*/
	width:100%;
	z-index:1;
	position:relative;
	background-color: #282828;
	color:#fff;
}
.header::after{
	content:"";
	background-color: #282828;
	z-index:-1;
	position:absolute;
	top:0;
	left:0;
	right:0;
	width:100%;
	height:100px;
	transform: skewY(-2deg);
}
.header .head_menu{/*---メニュー---*/
	z-index:2;
	text-align:center;
	padding:1em 0 0;
	}
.header .head_menu a{
	display:inline-block;
	color:#fff;
	padding:0 1em;
}
.header_index.inqpg ~ .info.container,
.header_index.inqpg ~ main.info{
	padding:100px 0 0;
}
@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 768px) {
.header_index img.index_txt{
	display:none;
}
.header_index.inqpg img.spbg{
	display:block;
	}
.header_index.inqpg ~ main.info{
	padding:50px 0 0;
	}
}

@media screen and (max-width: 480px) {
.header_index.inqpg{
	height:200px;
	}
.header_index .logo::before{
	bottom:-30px;
	height:130px;
	}
.header_index .logo::after{
	bottom:-10px;
	height:130px;
	}
}


/* ---------------------------------------------------------------~~ フッター ~~ */
.footer {
	position:relative;
	z-index:1;
	margin:150px 0 0 0;
	padding: 10px 0 100px;
	background-color: #282828;
	color:#fff;
}
.footer::before{
	content:"";
	background-color: #282828;
	position:absolute;
	z-index:-1;
	top:-50px;
	left:0;
	right:0;
	width:100%;
	height:200px;
	transform: skewY(3deg);
}
.footer img.logo{
	display:block;
	width:100%;
	max-width:600px;
	height:auto;
	margin:0 0 1em;
}
.footer img.logo ~ div p:first-child{
	font-weight:bold;
	margin:0 0 0.5em;
	text-decoration: underline;
}
.footer p.copy{
	font-size:small;
	text-align:center;
	margin:1em 0 0;
}
.footer .flexbox .box{
	min-height:300px;
}
.footer iframe{
	width:100%;
	height:100%;
	min-height:400px;
	}
@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 768px) {
.footer {
	margin:100px 0 0 0;
	padding: 10px 0 170px;
	}
.footer iframe{
	min-height:300px;
	}
}
@media screen and (max-width: 480px) {
}


/*topへ戻るリンク*/
.totop{
	position:fixed;
	right:10px;
	bottom:95px;
	display:block;
	z-index:999;
	}
.totop a{
	display:block;
	overflow:hidden;
	border-radius: 20px;		/* CSS3草案 */
	-webkit-border-radius: 20px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 20px;	/* Firefox用 */
	opacity:1;
	}
.totop a:hover,
.totop a:focus{
	opacity:0.5;
	}
.totop a img{
	display:block;
	width:40px;
	height:40px;
	}
@media screen and (max-width: 768px) {
.totop {
	bottom:160px;
	}
}
@media screen and (max-width: 480px) {
.totop {
	bottom:140px;
	}
}


/* 下部固定のメニュー */
div#floating-menu {
	display: table;
    position: fixed;
	width: 100%;
	bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 0px;
	background-color:#282828;
	border-top:2px solid #282828;
    z-index: 9998;
	text-align:center;
}
.floating-bnr{
	margin:0 auto;
	width:100%;
	display:flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	}
.floating-bnr .tel{
	display:flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin:1em 0;
	}
.floating-bnr .tel p{
	color:#fff;
	margin:0 1em 0 1em;
	padding:0;
	font-size:small;
	text-align:left;
	flex-grow: 0;
	flex-shrink: 0; 
	}
.floating-bnr .tel p span{
	 display:inline-block;
	}
.floating-bnr .tel img{
	display:block;
	width:100%;
	max-width:271px;
	height:auto;
	margin:0;
	}
.floating-bnr .buttun{
	display:flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	margin: 0 0 0 3em;
	}
.floating-bnr .buttun a.btn{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:1em;
	background-color:#c1272d;
	color:#fff;
	position:relative;
	transform:skewX(-25deg);
	flex-grow: 50;
	width:13em;
	}
.floating-bnr .buttun a.btn + a.btn{
	margin-left:2px;
	}
.floating-bnr .buttun a.btn span{
	font-weight:bold;
	display:inline-block;
	transform:skewX(25deg);
	font-size:130%;
	width:100%;
	}
.floating-bnr .buttun a.btn + a.btn span{
	font-size:130%;
	}
.floating-bnr .buttun a.btn span.sml,
.floating-bnr .buttun a.btn + a.btn span.sml{
	font-size: 90%;
	}
.floating-bnr .buttun a.btn:focus,
.floating-bnr .buttun a.btn:hover{
	background-color:#ff4e5a;
	text-decoration:none;
	}
@media screen and (max-width: 910px) {
.floating-bnr .buttun a.btn{
    width: 11em;
	}
.floating-bnr .buttun a.btn span.sml,
.floating-bnr .buttun a.btn + a.btn span.sml{
	font-size: 70%;
	}
	}
@media screen and (max-width: 768px) {
.floating-bnr{
	flex-direction: column;
	overflow:hidden;
	}
.floating-bnr .tel{
	flex-direction: row;
	}
.floating-bnr .tel p{
	margin:0 0 0 1em;
	width:50%;
	}
.floating-bnr .tel .telimg{
	width:50%;
	box-sizing:border-box;
	padding-right:5px;
	}
.floating-bnr .buttun{
	margin: 0 0 0 -10%;
	width:120%;
	}
.floating-bnr .buttun a.btn{
	padding:1em 1em 1em 1em;
	flex-grow: 50;
	width:50%;
	}
.floating-bnr .buttun a.btn span,
.floating-bnr .buttun a.btn + a.btn span{
	font-size:x-large;
	}
.floating-bnr .buttun a.btn + a.btn{
	padding:1em 10% 1em 1em;
	}
}
@media screen and (max-width: 640px) {
.floating-bnr .tel p{
	font-size:small;
	}
}
@media screen and (max-width: 480px) {
.floating-bnr .tel{
	margin:0.5em 0;
	}
.floating-bnr .tel p{
	font-size:small;
	width:40%;
	}
.floating-bnr .tel .telimg{
	width:60%;
	}
.floating-bnr .tel img{
	display:block;
	width:100%;
	max-width:300px;
	height:auto;
	margin:0 auto;
	}
.floating-bnr .buttun a.btn{
	padding:0.5em 0 0.5em 10%;
	}
.floating-bnr .buttun a.btn + a.btn{
	padding:0.5em 10% 0.5em 0;
	}
.floating-bnr .buttun a.btn span,
.floating-bnr .buttun a.btn + a.btn span{
	font-size:large;
	}
.floating-bnr .buttun a.btn span.sml,
.floating-bnr .buttun a.btn + a.btn span.sml{
	font-size: small;
	}
}

