@charset "utf-8";

/****************************************
	/* Reset
*****************************************/

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

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

body {
    line-height:1;
}

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

blockquote, q {
    quotes:none;
}

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

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
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;
    cursor:help;
}

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

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

input, select, textarea, img {
    vertical-align:middle;
}

ul, dl, ol {
	list-style: none;
}

/****************************************
	共通設定
*****************************************/

body {
	font-family: Meiryo, sans-serif;
	font-size: small;
	color: #333;
	line-height: 1.6;
	background: #F7C5C7;
}


/* PC表示確認用
--------------------- */

@media screen and (min-width: 768px) {

	html {
		background: #F9D0D3;
	}

	body {
		max-width: 640px;
		margin: 0 auto;
	}

}

/* Common
--------------------- */

a {
	color: #333;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

a:hover img {
	-moz-opacity: 0.7;
	opacity: 0.7;
}

img, video, object {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: none;
}

/* Clearfix
--------------------- */

.clearfix {
	zoom: 1;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clear {
	clear: both;
}

/* Pagetop
--------------------- */

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
}

#page-top a {
	display: block;
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	background: rgba(0,0,0,0.50);
	padding: 5px 10px;
	border-radius: 20px;
}

#page-top a:hover {
	text-decoration: none;
	background: rgba(0,0,0,0.75);
}

section {
	overflow: hidden;
}


/****************************************
	キービジュアル
*****************************************/

#keyvisual {
	background: url(images/keyvisual_bg.png);
	padding: 10px 0 0;
}

#keyvisual h1,
#keyvisual p {
	margin: 10px 0;
}

/****************************************
	CTA
*****************************************/

.cta {
	background: #FADADB;
	margin: 0px;
	padding: 10px 0;
}

.cta .cta_btn_wrap {
	overflow: hidden;
	margin: 0 10px;
	padding: 0 0 10px;
}

.cta a.line{
	width: 100%;
	display: block;
	text-align: center;
	margin: 0px auto 10px auto;

}

.cta2 a.line2{
	width: 95%;
	display: block;
	text-align: center;
	margin: 0px auto 10px auto;
}


ul.ctabtn {
	width: 98%;
	margin: 0 1%;
}

ul.ctabtn li {
	width: 48%;
	text-align: center;
	margin: 0 1%;
	float: left;
}
.m5{
	margin:5px 0px 0px 0px;
}
.m10{
	margin:10px 0px 0px 0px;
}


/****************************************
	セクション1
*****************************************/

#sec01 {
	background: #F7C5C7;
	padding: 20px 0 20px 0;
}

#sec01 h2 {
	padding: 10px 0 0 0;
}

#sec01 p {
	text-align: center;
}

#sec01 img.sec01_02,
#sec01 img.sec01_03 {
	margin:0 auto;
}
/****************************************
	セクション2
*****************************************/

#sec02 {
	margin: 30px 0;
}

#sec02 h2 {
	margin: 20px 0　0 0;
}

#sec02 img.sec02_01,
#sec02 img.sec02_02,
#sec02 img.sec02_03{
	margin:0 auto 20px 0px;
}

/****************************************
	セクション3
*****************************************/

#sec03 {
	margin: 10px 0 50px 0; 
	background: #fff;
	padding:30px 0 20px 0;
}

#sec03 img.sec03_01{
	margin-top: 0px;
}

#sec03 img.sec03_02{
	margin:0 auto;
}
#sec03 .ftr{
	margin:0;
	padding-top:15px;}
/****************************************
	セクション4
*****************************************/

#sec04 {
	display:block;
	margin: 0 auto;
	background: #fff;
}

#sec04 h2 {
	padding: 60px 0 20px 0;
}

#sec04 p {
	margin: 20px;
	font-size: 15px;
	text-align: left;
}

.slidewrapper {
	width: 90%;
	background: #fff;
	margin: 10px auto;
	text-align: center;
	padding: 5px 0;
}

.slideboxes {
	width:100%;
	margin: 0 auto;
	position: relative;
}

.slidebox{
	padding: 5px;
}

.slidebox img{
	text-align: center;
	margin: 0 auto 10px auto;
	display: block;
}

.slidebox span {
	text-align: left;
	margin: 0 auto 0 20px;
	display:block;
	color: #EB6889;
	font-weight: bold;
	font-size: 20px;
}

.slidebox p{
	letter-spacing: 1px;
	margin:0;
	padding:20px;
	border: 3px solid #ddd;

}

/****************************************
	セクション5
*****************************************/

#sec05 {
	background: url(images/qa_bg.jpg) #fff;
	padding: 40px 0 60px 0;
}

#sec05 h2 {
	padding: 20px 0 10px;
	margin:0 auto;
	text-align: center;
}

#sec05 dl {
	margin: 10px;
}

#sec05 dl dt {
	border: 2px solid #40220F; 
	background: url("images/sec05_open.png") 97% center no-repeat #8DCFCF;
	background-size: auto 50%;
	margin: 4px 0 0 0;
	padding: 15px 10px;
	cursor: pointer;
}

#sec05 dl dt.open {
	background: url("images/sec05_close.png") 97% center no-repeat #C2E4E3;
	background-size: auto 50%;
}

#sec05 dl dd {
	border-left: 2px solid #40220F;
	border-right: 2px solid #40220F;
	border-bottom: 2px solid #40220F;
	background: #fff;
	padding: 10px;
	display: none;
}

/****************************************
	フォーム
*****************************************/

#form {
	background: #fff;
	padding: 0 0 10px;
}

.tel {
	margin: 20px 10px;
}

.web {
	margin: 20px 10px;
}

.box {
	text-align: center;
	margin: 10px 0;
	padding: 10px;
}

/****************************************
	メールフォーム パーツ
*****************************************/

form {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 5%;
}

form .fieldset {
	overflow: hidden;
	width: 100%;
	margin: 0 0 1em;
}

#form h2{
	display:block;
	margin:20px auto 0 auto;
	text-align: center;
}

form input,
form textarea,
form select {
	width: 100%;
	font-size: medium;
	border: 2px solid #ccc;
	border-radius: 5px;
    padding: 10px;
	box-sizing: border-box;
	-webkit-appearance: none;
}


form ul {
	border: 2px solid #ccc;
	border-radius: 5px;
}

form ul li {
	position: relative;
}

form input {
	height: 44px;
}

form ul.list_view input{
	position: absolute;
	top:-5px;
}

form textarea {
	height: 100px;
	border: 2px solid #ccc;
	border-radius: 5px;
}

form select {
	height: 50px;
	background: url("images/form_select.png") no-repeat 98% center #fff;
	background-size: 35px;
    padding: 0 10px;
}

.selectunit select{
	width:45%;
}


form input[type="radio"] {
    opacity : 0;  
    width: 100%;  
    height: 100%; 
}

form input[type="radio"] + p {
    display: block;
    text-decoration: none;
    border-bottom: 1px dotted #ccc;
    background: url("images/form_radio_off.png") no-repeat 98% center #fff;
    background-size: 35px;
    padding: 15px 10px;
}

form input[type="radio"]:checked + p {
    background: url("images/form_radio_on.png") no-repeat 98% center #fff;
    background-size: 35px;
}

form input.check1{
	height: auto;
	width: 100%;
	border: 2px solid #ccc;
	border-radius: 5px;
    margin:3px;
    padding: 0px;
	box-sizing: border-box;
	-webkit-appearance: checkbox;
}

ul.list_view{
margin:0px;
}

ul.list_view li{
	float: left;
	margin-right: 10px;
	display:inline-block;
}

label .md0,label .md1,label .md1,label .md3,{

	height: auto;
	width: auto;
	font-size: medium;
	border: 2px solid #ccc;
	border-radius: 5px;
    margin:0px;
    padding: 0px;
}

form li:first-child p {
    border-radius: 5px 5px 0 0;
}

form li:last-child p {
    border-bottom: none;
	border-radius: 0 0 5px 5px;
}

form .legend {
	color: #333;
	font-weight: bold;
	text-align: left;
	background: #f6f6f6;
	margin: 5px 0;
	padding: 5px;
}

form .legend span.must {
	color: #fff;
	font-size: x-small;
	background: #EB6889;
	padding: 5px;
}

form .legend span.any {
	color: #fff;
	font-size: x-small;
	background: #3ac;
	padding: 5px;
}

form .button{
    display: block;
	width: 90%;
    color: #fff;
	font-size: large;
    font-weight: bold;
    text-align: center;
	margin: 15px auto 0;
    padding: 15px;
    border-radius: 5px;
	border: 1px solid #fff;
	background:#8DCFCF;
	text-shadow: 1px 1px 0  #6b0;
}

/****************************************
	リンク
*****************************************/

#link {
	border-bottom: 2px dotted #fff;
	background: #222;
	margin: 30px 0 0;
}

#link ul {
	overflow: hidden;
}

#link ul li {
	width: 25%;
	border-right: 2px dotted #fff;
	padding: 2%;
	float: left;
}

#link ul li:last-child {
	border-right: 2px dotted #222;
}


/****************************************
	フッター
*****************************************/

footer {
	color: #F7C5C7;
	text-align: center;
	background: #fff;
	padding: 5px 0;
}

/****************************************
	戻るリンク
*****************************************/

#thanks {
	padding: 20px 0;
}

#thanks p {
	text-align: center;
	margin: 200px 0 200px 0;
}

#thanks a.backtop{
	display:block;
	color:#fff;
	text-decoration: none;
	width:200px;
	height:3em;
	margin:20px auto;
	padding:10px 20px;
	text-align: center;
	background:#E05A72;
	border-bottom: 3px solid #E88F98;
}

#thanks a.backtop:hover{
	background:#F9E0E0;
	border-bottom: 3px solid #E88F98;
	color:#fff;
}