@charset "UTF-8";
/* ウィンドウ幅が～680pxの場合に適用するCSS */
@media only screen and (max-width: 768px) {
#catch2 {
	font-size:1.2rem;
	max-width:auto;
}
}

@media only screen and (max-width: 680px) {
/* ↓ 共通スタイル
================================== */

body {
	font-size: 1.0rem;
	background:#333;
	}

img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

#container {
	background-image:none;
	border-top:0;
}

.contents {
	padding:2em 1em;
}

.btn a {
	width:100%;
}

.lineup li {
	width:100%;
}

.sp {display:block;}
.pc {display:none;}

/* ↓ ヘッダー
================================== */

header {
	width:100%;
	margin: 0 auto;
	text-align:left;
	background:#fff;
	border-bottom:solid 1px #81d8d0;
	height:70px;
}


header h1,
.sec header h1 {
	width: 300px;
	height:60px;
	top:5px;
}

	header h1 a {
		display:block;
		width: 300px;
		height:55px;
	}




/* ↓ ナビゲーション
================================== */

/* header */
header {
	display:block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
    z-index: 999;
    top: 0;
    position: fixed;
    background:white;
}
header a,
header {
    color: #fff;
    text-decoration: none;
}


/* Fixed */
header.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 0;
    height: 65px;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
header.fixed .logo {
    color: #fff;
}
header.fixed #nav ul li a {
    color: #333;
    padding: 0 20px;
}

#nav {
	display:block;
	position: absolute;
	/* 開いてないときは画面外に配置 */
	top: -500px;
	background: #333;
	width: 100%;
	text-align: left;
	padding: 0;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}

#nav ul {
    list-style: none;
    position: static;
    display:block;
    width:100%;
    background:#81d8d0;
}
#nav ul li {
     position: static;
    width:100%;
}

header #nav ul li a,
header.fixed #nav ul li a {
	width: 100%;
	display: block;
	color: #fff;
	padding: 10px;
	border-bottom:solid 1px #333;
	border-top:0;
	color:#333;
}
 
 
/* Toggle Button */
#nav-toggle {
    display: block;
    position: absolute;
    right: 12px;
    top: 15px;
    width: 40px;
    height: 30px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 5px;
    width: 100%;
    background: #81d8d0;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 15px;
}
#nav-toggle span:nth-child(3) {
    top: 30px;
}


/* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 13px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 13px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #nav スライドアニメーション */
    .open #nav {
        /* #nav top + #mobile-head height */
        /*-moz-transform: translateY(565px);
        -webkit-transform: translateY(565px);
        transform: translateY(565px);*/
        display:block;
        top:70px;
    }


/* ↓ 共通コンテンツ
================================== */

#index_contents {
	width:100%;
	margin:0 auto;
	min-height:450px;
	overflow:inherit;
	background:url(../images/back_sp.jpg) no-repeat center center #fff ;
	background-size:cover;
}

#catch {
	top:90px;
	left:0;
	width:100%;
}

#catch .sp {
	text-align:center;
}

#catch img {
	width:50%;
	margin:0 auto;
}

#catch2 {
	top:150px;
	max-width:100%;
	font-size:0.8rem;
	width:60%;
	font-weight:bold;
}

.syokai {
	font-size:0.7rem;
}

.inr {
	min-height:auto;
}

#contact_btn {
	right: 0;
	top:400px;
	width: 50%;
}

.first_contents {
	background:url(../images/first_back_sp.jpg) no-repeat bottom center;
	background-size:cover;
}

	.sec_contents li {
		width:calc(100%/2 - 5%);
		margin:2%;
		padding:1em 0.5em;
		font-size:1.2rem;
		border-radius:20px;
		text-align:left;
		aspect-ratio:auto;
	}

	.sec_contents li br {
		display:none;
	}
	.sec_contents .contents::before {
		width:110px;
		height:150px;
		background-size:contain;
		z-index:1;
		left:0;
	}

	.sec_contents .contents::after {
		width:140px;
		height:160px;
		background-size:contain;
		z-index:1;
		right:-50px;
	}

	.third_contents .tC {
		text-align:left;
	}

	.third_contents .flexbox_cwap li {
		list-style:disc;
		margin-left:1em;
		width:100%;
	}

	#home .c2 .flexbox_sbwap {
		display:block;
	}

	#home .c2 .flexbox_sbwap li {
		width:100%!important;
		margin-bottom:20px;
	}

	#home .c2 h2 br{
		display:none;
	}

	.more {
		float:right;
		margin:0;
	}

	.info li:last-child {
		clear:both;
		margin-top:20px;
	}

	.info dt {
		float:left;
	}
	.info dd.cate {
		float:left;
	}

	.info dl {
		display:block;
	}
	.info dd:last-child {
		width:100%;
		clear:both;
	}


/* ↓ contents
================================== */

#home #main_contents {
	font-size:1.2rem;
}

#home #main_contents h1 {
	width:100%;
	text-align:left;
	font-size:1.6rem;
}

.sec #main_contents {
	padding-top:1em;
}

#contents {
	width:100%;
	margin:0 auto;
	padding:0;
}

	.heightLineParent dl {
		width:95%;
		float:none;
		margin:10px auto;
	}

.box2 .new,
.box2 .new2 {
		width:95%;
		background:white;
		float:none;
		margin:10 auto;
	}


	.box2 .new2 dt {
		float:none;
		margin-bottom:0;
	}
	.box2 .new2 dd {
		margin:0 0 0 2em;
	}

.effect2 blockquote {
	font-size:1em;
}

.effect2 strong {
	display:block;
}


.line-through {
	font-size:1.4rem;
}

#page-top {
	width:50px;
}

/* ↓ フッター
================================== */
#footer {
	width:100%;
}

#tel {
	float:none;
	text-align:center;
}

#copy {
	clear:both;
	float:none;
	text-align:center;
	line-height:1.4;
}


/* ↓ ２階層目コンテンツ
================================== */
#title {
	margin-top:60px;
	padding:0;
}

#title h2 {
	clear:both;
	width:100%;
	height:65px;
	line-height:65px;
	background:url(../images/h2_back.jpg) no-repeat 80% center;
	padding-left:1em;
	margin-top:15px;
	padding-top:0;
	}

.txt_contents {
	text-align:center;
	margin-bottom:1em;
}

.txt_contents p,
.txt_contents li {
	text-align:left;
}

.txt_contents .fR,
.txt_contents .fL,
.txt_contents .alignright,
.txt_contents .alignleft {
	float:none;
	max-width:100%;
	height:auto;
	margin:10px auto 20px auto;
	display:block;
}


.list_flow_txt {
    display: none;
}

.list_flow_step {
    position: relative;
    padding: 0 20px;
    font-size: 1.0rem;
}

.sec .txt {
	margin:0;
}

.form_box th,
.form_box td {
	display:block;
	width:100%;
}

#blog_main,
#blog_sidebar {
	width:100%;
	padding:1em;
}

#home table td {
	display:block;
	width:100%;
}

.txt_contents img {
	max-width:100%;
	height:auto;
	margin:0 auto!important;
}

.sp_mT1em {
	margin-top:1em;
}

.txt_contents h3 {
	text-align:left;
}


}/* ウィンドウ幅が680px以下の場合に適用するCSSここまで */

