@charset "utf-8";
/*
Theme Name: company
Theme URI: http://sphere-links.co.jp/
Description: company
Version: 1.0
Author: sphere-links
Author URI: http://sphere-links.co.jp/
Tags: company

*/

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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;
}

ul,ol {
    list-style: none;
}

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;
}


/* change colours to suit your needs */

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


/* change colours to suit your needs */

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;
}


/* change border colour to suit your needs */

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

input,
select {
    vertical-align: middle;
}




/*************************************************************

ここまでリセット

*************************************************************/
/*共通*/
/*全体のフォントサイズを指定、remでbodyに引っ張られないようにする*/
html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	line-height: normal;/*詰まりすぎを防ぐ*/
	color: #000000;
	font-family: 'Noto Sans JP', sans-serif;
}
/*全体のフォントサイズを指定*/



a{
	color: #bd4846;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}


a:hover img{
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}

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

div{
	box-sizing: border-box;
}

img{
	max-width: 100%;
	vertical-align: bottom;
}

header {
    border-top: 5px solid #331f1f;
    box-sizing: border-box;
    padding-top: 20px;
    padding-bottom: 35px;
}

.logo {
    max-width: 548px;
}

.logo p{
    font-size: 1.2rem;
    margin-bottom: 3px;
}

.header_box {

}
.header_box .header_box_top {
    display: flex;
    justify-content: space-between;
    max-width: 1140px;
    margin: 0 auto 35px;
    padding: 0 20px;
    box-sizing: border-box;
    align-items: center;
}
@media screen and (max-width: 1200px){
    h1{
        width: 98%;
    }
    .header_box .header_box_top {
        width: 98%;
    }
}


/*ナビ*/

#g_nav {
    max-width: 100%;
    padding: 0;
    width: 100%;
}


#g_nav .clone_nav {
    width: 100%;
    overflow: hidden;
    max-width: 1200px;
    margin: 0 auto;
}


#g_nav ul, .c_nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    color: #fff;
    width: 100%;
    overflow: hidden;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
}

#g_nav ul li, .c_nav ul li {
    float: none;
    position: relative;
    margin: 0;
    display: block;
    box-sizing: border-box;
    text-align: center;
    height: 20px;
    display: inline-block;
    font-size: 1.5rem;

}
#g_nav ul li:last-child, .c_nav ul li:last-child{
	border-right: none;
}

#g_nav ul.dropdown,.c_nav ul.dropdown{
        display: none;
        position: absolute;
        padding: 0;
		width: 100%;
}
#g_nav ul.dropdown li,.c_nav ul.dropdown li{
	width: 100%;
	height: 20px;
}
#g_nav ul li a, .c_nav ul li a {
    display: block;
    color: #333;
    box-sizing: border-box;
    height: 20px;
    padding: 0 10px;
    font-weight: bold;
    font-size: 1.5rem;
    border-right: 1px solid #331f1f;
    text-decoration: none;
}
#g_nav ul li a img, .c_nav ul li a img {
    vertical-align: unset;
}
@media screen and (max-width: 1000px){
#g_nav ul li a, .c_nav ul li a {
    font-size: 1.2rem;
}
}
#g_nav li a:hover, .c_nav li a:hover {
    background: #eee;
    box-sizing: border-box;
}
#g_nav ul.dropdown a,.c_nav ul.dropdown a{
	height: 35px;
	padding: 6px 0 0px;
}
#sp_g_nav{
    display: none;
}

.inq_btn {
    width: 100%;
    max-width: 200px;
    display: block;
}
.inq_btn a {
    padding: 8px 0 8px 0;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 1.5rem;
    font-weight: normal;
    box-sizing: border-box;
    position: relative;
    transition: .3s;
    text-align: center;
    background: #4f2f17;
    border-radius: 5px;
    position: relative;
    text-decoration: none;
}
.inq_btn a:before{
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width:4px 0 4px 5px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -4px;
}
.inq_btn a:hover{
    opacity: 0.9;
}


/*ナビクローン用*/
.c_nav {
    position: fixed;
    top: -80px;
    width: 100%;
    z-index: 30;
    transition: top 0.25s;
    background-color: #fff;
    height: 50px;
    box-sizing: border-box;
    max-width: 100%;
	padding-top: 10px;
	
}
.c_nav .nav_box{
    max-width: 1320px;
    margin: 0 auto;
}
@media screen and (max-width: 1000px){
	.c_nav .nav_box{
    width: 98%;
    margin: 0 auto;
}
	
}
@media screen and (max-width: 800px){
	.c_nav {
		display: none;
	}
}

.visible {
    top: 0;
	display: block;
}



@media screen and (max-width: 768px){
header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 20;
    padding: 0;
    border-top: none;
}
	
.inq_btn {
    max-width: 110px;
    position: absolute;
    right: 75px;
    top: 15px;
}
.inq_btn a:before {
    right: 6px;

}
.inq_btn a {
    font-size: 1rem;
}
	
	.c_nav{
		display: none!important;
	}
.header_box,.h1_box {
    display: none;
}
	#sp_g_nav{
		display: block;
		z-index: 20;
		width: 100%;
	}
	#g_nav{
		display: none;
	}

.sp_logo {
    position: absolute;
    top: 12px;
    left: 10px;
    text-align: left;
    width: 170px;
    line-height: 1.2;
}
.sp_logo p{
    font-size: 0.9rem;
}
	
	.sp_logo img{
		width: 100%;
		width: 220px;
	}

.sp_logo span {
    font-weight: bold;
    padding-left: 10px;
    margin-top: 6px;
    font-size: 11px;
}
	.sp_to_top{
		position: absolute;
		top: 10px;
		right: 10px;
		width: 100px;
	}

.lg_m {
    text-align: right;
    height: 60px;
	background: #fff;
}
	/*メニューの動き*/
	.menu-trigger,
	.menu-trigger span{
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	  cursor :pointer;
	}
.menu-trigger {
    position: relative;
    width: 60px;
    height: 60px;
    z-index: 2;
    background: #4f2f17;
}
	.menu-trigger span{
	  position: absolute;
	  background: #fff;
	  width: 30px;
	  height: 2px;
	  left: 0;
	  right: 0;
	  margin: auto;
	}
	.menu-trigger span:nth-of-type(1){
	  top: 17px;
	}
	.menu-trigger span:nth-of-type(2){
	  top: 0;
	  bottom: 0;
	}
.menu-trigger span:nth-of-type(3) {
    bottom: 17px;
}
	.menu-trigger.active span:nth-of-type(1){
	  -webkit-transform: translateY(15px) rotate(-45deg);
		transform: translateY(15px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2){
	  opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3){
	  -webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
	/*メニューの動き END*/

	#sp_g_nav .sp_nav ul{
		background-color: #e6e6e6;
		opacity: 0.9;
		display: block;
	}
	#sp_g_nav .sp_nav ul.dropdown{
		border-top: 1px solid #10305a;
	}
	#sp_g_nav .sp_nav ul.dropdown{
		background: #fff;
	}
	.sp_nav{
	  display: none;
	  position: absolute;
	  top: 70;
	  width: 100%;
	z-index: 3;
	}
	#sp_g_nav .sp_nav li{
		text-align:center;
		width: 100%;
		border-bottom: solid 1px #000;
		position: relative;
	}
    
    
#sp_g_nav .sp_nav li span.arrow_icon {
    top: 18px;
    right: 26px;
    width: 15px;
    height: 15px;
    content: "";
    background: url(images/sp_arrow.png) no-repeat center top;
	position: absolute;
}
#sp_g_nav .sp_nav li a {
    display: block;
    padding: 15px 5px;
    color: #000;
    text-decoration: none;
    font-size: 1.6rem;
}
.sp_nav div{
		display: flex;
		justify-content: center;
		background-color: #e6e6e6;
		opacity: 0.9;
		width: 100%;
	}
	.sp_nav span.txt_en{
		display: none;
	}
}



/*トップ-コンテンツ*/
.mainimage {
    position: relative;
    margin: 0 auto;
    background: url(images/mainimage.png) no-repeat center center;
    height: 600px;
    background-size: cover;
}

.mainimage .main_catch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    font-weight: bold;
    background: rgba(255,255,255,0.8);
    padding: 35px 55px;
    max-width: 670px;
    box-sizing: border-box;
}
.mainimage .main_catch .catch_inner p:first-of-type{
	text-align: left;
	font-size: 1.8rem;
	color: #331f1f;
	margin-bottom: 10px;
	
}
.mainimage .main_catch .catch_inner p.main_logo{
	text-align: left;
	margin-bottom: 20px;
}
.mainimage .main_catch .flex .img {
    flex-basis: 22.5%;
}
.mainimage .main_catch .flex .txt{
	flex-basis: 75%;
}
.mainimage .main_catch .flex .txt p {
    font-size: 1.4rem;
    text-align: left;
}
.mainimage .main_catch .flex .txt p span {
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    width: auto;
    margin-bottom: 2px;
}




@media screen and (max-width: 768px){
	.mainimage{
		margin-top: 60px;
		height: 400px;
	}
	.mainimage .main_catch{
		padding: 20px;
	}
	.mainimage .main_catch .catch_inner .flex{
		display: flex!important;
	}

}

@media screen and (max-width: 600px){
.mainimage .main_catch {
    padding: 20px;
    width: 300px;
}
.mainimage .main_catch .catch_inner > p:first-of-type {
    text-align: center;
    font-size: 1.4rem;
}
.mainimage .main_catch .catch_inner .flex {
    display:block!important;
}
.mainimage .main_catch .flex .img {
    text-align: center!important;
    margin: 0 auto;
    display: block;
    max-width: 100px;
}
.mainimage .main_catch .flex .txt p {
    font-size: 1.3rem;
}
.mainimage .main_catch .flex .txt p span {
    display: block;
	font-size: 1.4rem;
}

}


.side {
    position: fixed;
    background: #4f2f17;
    right: 0;
    bottom: 300px;
    z-index: 10;
	padding: 15px;
	border-radius: 15px 0 0 15px;
	text-align: center;
	color: #fff;
}
.side p.close {
    left: 10px;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.4rem;
    color: #000;
    background: #fff;
    width: 20px;
    border-radius: 5px;
    height: 20px;
    font-weight: bold;
    padding-bottom: 2px;
    box-sizing: border-box;
	cursor: pointer;
}



.side p{
	margin-bottom: 5px;
}
.side p.center{
	margin-bottom: 10px;
}
.contents_box {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}
.contents_box p {
    margin-bottom: 20px;
    font-size: 1.6rem;
}

.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.mainimage .flex{
	align-items: center;
}
.flex.column2 div,.flex.column2 li{
	flex-basis: 49%;
}
.flex.column3 div,.flex.column3 li{
	flex-basis: 32%;
}
.flex.column4 div,.flex.column4 li{
	flex-basis: 23%;
}
.flex.column3 li{
    margin-bottom: 20px;
    text-align: center;
}
.flex > .img{
	flex-basis: 40%;
	text-align: center;
	align-items: center;
}
.flex > .txt{
	flex-basis: 58%;
}
p.catch {
    font-size: 26px;
    margin-bottom: 40px!important;
    text-align: center;
    font-weight: bold;
}
.h2_sub {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 5px!important;
}
h2 {
    font-size: 4rem;
    margin: 0 auto 50px;
    color: #331f1f;
    text-align: center;
    letter-spacing: 0.05em;
    position: relative;
    font-weight: bold;
	padding: 50px 0 40px;
	background: url("images/line1_2.png") no-repeat center top,url("images/line2_2.png") no-repeat center bottom;
}
h2 span{
    font-weight: bold;
}


h2.border_b{
	background: none;
	padding: 0;
	font-size: 3.5rem;
	color: #fff!important;
	
}

/*
 h2.border_b:before{
  position: absolute;
  bottom:0;
  left: calc(50% - 30px);
  width: 60px;
  height: 2px;
  content: '';
  background: #fff;
}*/

h3{
	text-align: center;
    font-size: 3rem;
    color: #331f1f;
    margin: 0 auto 25px;
}

h4 {
    font-size: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
    padding: 0px 0 5px 15px;
    box-sizing: border-box;
}
table{
	width: 100%;
	margin-bottom: 20px;
}
table.table1 th{
	width: 25%;
	color: #000;
	border-bottom: solid 1px #ccc;
	padding: 8px 5px;
	text-align: left;
}
table.table1 td{
	border-bottom: solid 1px #ccc;
	text-align: left;
	padding: 8px 5px;
	vertical-align: middle;
	color: #000;
}
table.table2 td, table.table2 th {
    border: 5px solid #64b9b7;
    padding: 10px;
    line-height: 1.6;
    font-size: 1.8rem;
    text-align: left;
    background: #fff;
}

table.table2 thead th { background:#e60012; font-weight:normal; width: 25%;color: #fff;}
table.table2 th {
    background: #1f6863;
    font-weight: normal;
    width: 55%;
    color: #fff;
}
table.table2 th a {
    color: #ffe031;
}

table.table2.case_table thead th {
    background: #555;
    width: 20%;
    color: #fff;
}
table.table2.case_table tbody th{
    text-align: left;
}
table.table2.case_table th, table.table2.case_table td {
    font-size: 14px;
    padding: 10px 5px;
}

@media screen and (max-width: 600px){
table.table2.case_table th, table.table2.case_table td {
    font-size: 11px;
    padding: 3px 5px;
}
}

span[id]:not([href]){
    margin-top:-60px; 
    padding-top:60px; 
	display: inline-block; 
	vertical-align: top;
	width: 0;
	height: 0;
}

.center{
	text-align: center;
}

br.sp{
    display: none;
}

.home #contents{
	background: #f6f3f1;
}

#contents1{
	margin: 0 0 60px;
	text-align: center;
	padding-top: 30px;
}
#contents1 p{
	font-size: 1.8rem;
	font-weight: bold;
}

.red{
    color: #e60012;
}


#contents2  .flex div {
    border: 2px solid #331f1f;
    padding: 30px 20px 20px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    background: #fff;
}
#contents2  .flex div .bg_p {
    display: block;
    margin: 0 auto 15px;
    background: #e3e46a;
    padding: 5px 15px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    text-align: center;
    max-width: 250px;
    font-size: 2rem;
}
#contents2  .flex div h3{
	text-align: center;
	font-size: 3rem;
	color: #331f1f;
	margin: 0 auto 25px;
}
#contents2  .flex div p.p1{
	text-align: left;
	margin-bottom: 0;
	font-size: 1.7rem;
}

#contents2 {
    background: url("images/top2_bg.png") no-repeat center top 80px;
    padding-bottom: 280px;
}

#contents3 {
    background: url(images/top3_bg.png) no-repeat center top 160px;
    padding-bottom: 230px;
}

#contents3 h2 {
    color: #331f1f;
}

#contents3 .bg_box_top{
    padding: 20px;
	border-radius: 10px;
	box-sizing: border-box;
	background: #a4d0cf;
	margin-bottom: 25px;
}
#contents3 ul li{
	margin-bottom: 0;
}

#contents3 h4 {
    background: #bd4846;
    padding: 6px 0;
    width: 100%;
    color: #fff;
    border-radius: 5px;
    box-sizing: border-box;
    margin: 0 auto 10px;
    border-bottom: none;
    font-size: 2rem;
}
#contents3 h3 {
    margin: 0px auto 15px;
}

#contents3 .bg_box{
	background: #fff;
	border-radius: 10px;
	padding: 35px;
	margin-bottom: 45px;
}
#contents3 .bg_box_top p{
	text-align: left;
	font-size: 1.8rem;
}
#contents3 .flex.con3_flex{
	justify-content: center;
	max-width: 600px;
	margin: 0 auto;
}
#contents3 .flex.con3_flex li{
	max-width: 200px;
	margin: 0 auto;
}
#contents3 .flex.con3_flex li h4 {
    font-size: 1.4rem;
    text-align: center;
    padding: 5px 0;
}
#contents3 .flex.con3_flex li .name{
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 5px;
}
#contents3 .flex.con3_flex li .name span{
	font-size: 1.3rem;
}
#contents3 .flex.con3_flex li p{
	font-size: 1.4rem;
}
#contents3 table{
	max-width: 1000px;
	margin: 0 auto;
}

#contents4 h2{
	color: #331f1f;
}

#contents5 {
    background: url("images/top5_bg.png") no-repeat center top 100px;
    padding: 300px 0 390px;
    margin-top: -180px;
}



#contents5 h3{
	background: #ffe031;
	color: #234f76;
	padding: 15px;
	border-radius: 10px;
	box-sizing: border-box;
	margin-bottom: 15px;
}
#contents5 ul{
	margin-bottom: 50px;
}

#contents5 .bg_w{
	max-width: 700px;
	background: #fff;	
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto
}
#contents5 .bg_w .bold{
	font-weight: bold;
	font-size: 1.8rem;
}

#contents5 .bg_w p{
	color: #234f76;
}

#contents5 ul li p{
	color: #fff;
	font-size: 1.7rem;
}
#contents5 ul li a{
	color: #5effff;
	text-decoration:  underline;
}
#contents5 ul li a:hover{
	text-decoration: none;
}
#contents5 ul li a.tel{
	pointer-events: none;
	color: #fff;
	text-decoration: none;
}

span.color_y{
	color: #ffe031;
}

#contents6 {
    background: url("images/top6_bg.png") no-repeat center top 190px #f6f3f1;
    padding: 110px 0 250px;
    margin-top: -180px;
}

.qa_wrap {
    list-style: none;
    max-width: 900px;
    margin: 0 auto 50px;
}

.qa_wrap li {
    background: none;
    padding: 0;
    box-sizing: border-box;
    margin-bottom: 20px;
    position: relative;
}
.qa_wrap h4 {
    font-size: 1.8rem;
    padding: 40px 70px 40px 85px;
    position: relative;
    border-bottom: none;
    margin-bottom: 25px;
    box-sizing: border-box;
    background: #fff;
    color: #333333;
    cursor: pointer;
    border-radius: 10px;
	font-weight: normal;
    cursor: pointer;
}
.qa_wrap h4:before {
    position: absolute;
    content: "";
    right: 25px;
    top: 30px;
    font-size: 5rem;
    width: 45px;
    background: #331f1f;
    height: 45px;
    border-radius: 50%;
    font-weight: normal;
}
.qa_wrap h4:after {
content: '';
display: block;
width: 8px; /* 矢印の大きさの指定 */
height: 8px; /* 矢印の大きさの指定 */
border-top: 2px solid #fff; /* 矢印の太さの指定 */
border-left: 2px solid #fff; /* 矢印の太さの指定 */
}
 
.qa_wrap h4:after {
    position: absolute;
    right: 42px;
	    transform: rotate(226deg);
    top: 46px;
}



.qa_wrap li.open h4:after {
        top: 49px;
    		transform: rotate(45deg);
}

.qa_wrap h4 span {
    position: absolute;
    color: #28b4ff;
    padding-left: 10px;
    box-sizing: border-box;
    padding-top: 0px;
    font-size: 3rem;
    line-height: 1.3;
    left: 20px;
    top: 35px;
}

.qa_wrap li.open h4 {
    margin-bottom: 0;
    border-radius:  10px 10px 0 0;
}
a.link{
    text-decoration: underline;
    color: #B53333;
}
a.link:hover{
    text-decoration: none;
}
.txt_a {
    font-size: 1.8rem;
    padding: 30px 35px 40px 85px;
    position: relative;
    border-bottom: none;
    box-sizing: border-box;
    display: none;
    margin-top: -25px;
    background: #fff;
    border-radius: 0 0 5px 5px;
    line-height: 1.3;

}
.txt_a p{
    margin-bottom: 0;
}
.txt_a.open{
	display: block;
}
.txt_a span {
    position: absolute;
    left: 30px;
    top: 28px;
    color: #fff;
    box-sizing: border-box;
    padding-top: 0px;
    font-size: 3rem;
    font-weight: bold;
}


#contents7 {
    padding: 0 0 120px;
    background: #f6f3f1;
    box-sizing: border-box;
    margin-top: -50px;
}
#contents7 .bg_box{
    background:#fff;
    padding: 15px;
    box-sizing: border-box;
}

#contents7 p{
    max-width: 800px;
    margin: 0 auto;
}

#contents_inq{
	margin-bottom: 60px;
}

.link_btn {
    width: 100%;
    max-width: 750px;
    display: block;
    margin: 0 auto;
}
.link_btn a {
    padding: 20px 10px;
    background: #bd4846;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    font-weight: normal;
    box-sizing: border-box;
    position: relative;
    transition: .3s;
    text-align: center;
    max-width: 420px;
    margin: 0 auto;
    font-size: 2.2rem;
    border-radius: 10px;
    text-decoration: none;
}
.link_btn a:hover{
    opacity: 0.9;

}

.link_btn a:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -6px;
}



@media screen and (max-width: 768px){
	.side{
		display: none;
	}
	
br.sp{
    display: inline;
}

#main {
        display: block;
}
	
h2 {
    font-size: 3rem;
}
h3 {
    font-size: 2.5rem;
}
.contents_box {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}
#contents {
        width: 100%;
        max-width: 100%;
}
	
	.link_btn a {
    max-width: 320px;
}

.flex{
    display: block!important;
}


	
.flex > .img {
    margin: 0 auto 20px;
}
.tab_item {
    font-size: 1.4rem;
}
#contents1 p {
    font-size: 1.6rem;
}
	#contents2 .contents_box,
	#contents3 .contents_box,
	#contents6 .contents_box{
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}
	#contents2,#contents3,#contents6{
    background: none;
    padding-bottom: 60px;
    padding-top: 60px;
		margin-top: 0;
}
	#contents2{
		padding-bottom: 0;
	}
#contents3 {
    padding-top: 30px;
    padding-bottom: 30px;
}

#contents5 {
    background: #234f76;
    padding: 60px 0;
    margin-top: 0;
}
	.bg_inner{
		max-width: 480px;
    margin: 0 auto;
    padding: 0 10px;
	}
		.sp_bg{
		padding: 60px 0;
	}
	#contents2 .sp_bg{
		background: #e3e46a;
	}
		#contents3 .sp_bg{
		background: #64b9b7;
	}

		#contents6 .sp_bg{
		background: #e2d7d0;
	}

		#contents2  .flex div {
    margin: 0 auto 40px;
}
	#contents2 .flex div:last-child{
		margin-bottom: 0;
	}
	#contents3 .bg_box_top p.img{
		text-align: center;
	}
	#contents3 .bg_box {
    padding: 20px;
}
	#contents3 h4 {
    font-size: 1.7rem;
}
#contents3 .bg_box_top p {
    font-size: 1.6rem;
}
h2.border_b {
    font-size: 3rem;
}
#contents5 {
    padding: 40px 0 60px;
}
#contents5 h3 {
    padding: 10px;
    font-size: 2rem;
}
#contents5 ul li p {
    font-size: 1.6rem;
}
#contents7 {
    margin-top: 0;
}
.qa_wrap h4 {
    font-size: 1.6rem;
}
.txt_a p {
    font-size: 1.4rem;
}


}

@media screen and (max-width: 600px){
h2 {
    font-size: 2.8rem;
}
	#contents1{
	margin: 0;
}
    #contents1 h4 {
        font-size: 2rem;
    }
    #contents1 .flex.column2 li {
        margin-bottom: 20px;
    }
    p.catch {
        font-size: 2rem;
        margin-bottom: 20px!important;
    }
    .tab_item span {
        max-width: 100px;
        font-size: 1rem;
    }
table.table2 td, table.table2 th {
    border: 1px solid #64b9b7;
    padding: 10px 10px;
    line-height: 1.8;
    font-size: 1.2rem;
}
table.table2 th {
    width: 50%;
}

#contents5 ul li a.tel{
	pointer-events:auto;
	color:#5effff;
	text-decoration: underline;
}
#contents5 ul li a.tel:hover{
	text-decoration: none;
}

}

/* フッター */
footer .contents_box {
    max-width: 1040px;
    padding: 0 20px;
}
.footer_box {
    background: #563e3b;
    padding: 35px 0 20px;
    box-sizing: border-box;
	color: #fff;
}

footer .copy{
    text-align: center;
    padding: 10px 0;
    font-size: 1.2rem;
}
footer .copy p {
    margin-bottom: 0;
    font-size: 1.3rem;
    color: #fff;
}
footer .flex .bold{
    font-size: 20px;
    font-weight: bold;
}
footer .flex p.p1{
	font-size: 1.5rem;
	line-height: 1.6;
}
footer .flex p.p1 a{
	color:#fff;
}
footer .flex .footer_box2{
	margin-top: 45px;
}
footer .flex .footer_box2 p{
	font-size: 1.3rem;
}

  a.sample {
    display: block;
    box-shadow: 2px 2px 4px #eee;
    max-width: 700px;
    margin: 0 auto 10px;
    background: url(images/bn_pt.png) repeat 30px center #f76565;
    text-align: center;
    padding: 20px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    position: relative;
}
a.sample:before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 0 3px rgb(255 255 255 / 50%) inset;
}
a.sample.sample2 {
    background: url(images/bn_pt.png) repeat 30px center #406cb3;
}
a.sample.sample3{
    background: url(images/bn_pt.png) repeat 30px center #6b6b6b;
}
a.sample:hover{
    opacity:0.8 ;
}

@media screen and (max-width: 768px){
.footer_box .contents_box {
    display: block;
    justify-content: space-between;
    text-align:left;
}
.footer_box .logo{
    margin: 0 auto 20px;
}
footer .footer_nav {
    width: 100%;
    text-align: center;
}
footer ul li {
    display: block;
    padding: 0 0 10px 20px;
    border-left: none;
    width: 100%;
    text-align: left;
    max-width: 480px;
    margin: 0 auto;
    position: relative;
}
footer ul li:before {
    position: absolute;
    content: "";
    left: 0;
    top: 12px;
    width: 10px;
    height: 2px;
    background: #fff;
}
footer .copy {
    padding: 0;
}
footer .copy p {
    font-size: 1.2rem;
	}
}

/* 下層 */

.under_con_box{
    margin-bottom: 30px;
}
.under_con_box .flex{
    margin-bottom: 20px;
}
.ul_check{
    margin-bottom: 40px;
}
.ul_check li {
    position: relative;
    display: block;
    margin: 1em auto 1em auto;
    padding: 15px 10px 15px 30px;
    max-width: 100%;
    font-size: 16px;
    background: #eee;
    max-width: 600px;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
}
  
  .ul_check li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #eee;
  }
  .ul_check span{
	padding-left:24px;
	position:relative;
}
.ul_check span:before,
.ul_check span:after{
	content:"";
	display:block;
	position:absolute;
}
.ul_check span:before{
	width:16px;
	height:16px;
	background:#ffffff;
    	border:1px solid #000000;
	left:0;top:2px;
}
.ul_check span:after{
	border-left:2px solid #ff0000;
	border-bottom:2px solid #ff0000;
	width:6px;
	height:3px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:7px;
}
ul.ul01{
    margin-bottom: 30px;
}
ul.ul01 li {
    padding: 0 0 5px 15px;
    position: relative;
}
ul.ul01 li:before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    box-sizing: border-box;
    background: #00a0e9;
    left: 0;
    top: 10px;
    border-radius: 50%;
}

@media screen and (max-width: 600px){
.ul_check li {
    padding: 15px 10px 15px 10px;
    font-size: 14px;
}
.ul_check span:before {
    top: -1px;
}
.ul_check span:after {
    top: 5px;
}
}

span[id]:not([href]) {
    margin-top: -50px;
    padding-top: 50px;
    display: inline-block;
    vertical-align: top;
    width: 0;
    height: 0;
}


/*qa*/

.post-type-archive-faq .lower_wrap{
	background: #e2d7d0;
}
.lower_wrap {
    padding: 50px 0;

}

@media screen and (max-width: 768px){
.lower_wrap {
    margin-top: 60px;
}
}


/* zoomページ */
.btn_flex{
	justify-content: center;
	max-width: 700px;
	margin: 0 auto 30px;;
}
.btn_flex li{
	flex-basis: 30%;
	margin: 0 1%;
	text-align: center;
}
.btn_flex a {
    background: #e36460;
    display: block;
    padding: 15px;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.6rem;
    border-radius: 5px;
    text-decoration: none;
}


p.num_txt {
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    padding: 5px 0 0 40px;
    box-sizing: border-box;
    margin-left: -40px!important;
	margin-top: 40px;
}

p.num_txt  span {
    text-align: center;
    color: #fff;
    position: absolute;
    width: 30px;
    height: 30px;
    left: 0;
    top: 0;
    background: #4f2f17;
    border-radius: 5px;
    padding-top: 3px;
    box-sizing: border-box;
}

.zoom img{
	width: 700px;
	max-width: 100%;
	border: 1px solid #000;
}
p.num_txt {
    margin-left: 0!important;
}
.zoom h3{
	margin-top: 50px;
}
.zoom .block2 img{
	width: 300px;
}
.zoom .block3 img{
width: 400px;
}
@media screen and (max-width: 768px){
	
	.btn_flex li{
		margin: 0 auto 20px;
	}
	p.num_txt {
    margin-left: 0!important;
}
.zoom .block3 img {
    width: 300px;
}
}

/* お問い合わせ */

.inq_body{
	margin: 0 auto;
	max-width: 800px;
}

 .inq_body table, .inq_body tbody, .inq_body thead, .inq_body tr, .inq_body td, .inq_body th {
  display: block;
  width: 100%;
}

.inq_body table{
	width: 100%;
	margin-bottom: 50px;
	margin-top: 30px;
}
.inq_body th span {
    font-size: 14px;
    background: #c33f7f;
    width: 50px;
    display: inline-block;
    text-align: center;
    color: #fff;
	border-radius:3px; 
    margin-left: 10px;
    padding: 2px 0;
}
@media screen and (max-width: 768px){
	.inq_body table{
		margin: 0 auto 40px auto;
	}
}

.inq_body tr{
	border-bottom: solid 1px #f0f0f0;
}

.inq_body th {
    padding: 0;
    text-align: left;
    vertical-align: middle;
    font-size: 1.6rem;
    color: #000000;
}
span.wpcf7-list-item {
    margin: 0;
}
@media screen and (max-width: 768px){
 .inq_body th {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 10px 0;
}
}

.inq_body th span{
	font-size: 14px;
}
.inq_body td {
    padding: 10px 0 20px 0;
}
@media screen and (max-width: 768px){
	.inq_body td{
		display: block;
		width: 100%;
	}
}

.inq_body td span{
	display: block;
}
.inq_body td span.wpcf7-not-valid-tip{
	display: block;
}
.inq_body td span.wpcf7-list-item, .inq_body td span.wpcf7-list-item-label {
 display: inline-block;
 margin-bottom: 5px;
 padding-right: 5px;
 vertical-align: middle;
}
input[type="radio"] {
 vertical-align: inherit;
}


.inq_body input[type="text"], .inq_body input[type="email"], .inq_body input[type="tel"], .inq_body .wpcf7-form-control-wrap textarea {
    padding: 5px;
    width: 100%;
    box-sizing: border-box;
    height: 50px;
    font-size: 1.6rem;
    border: none;
}
.inq_body .wpcf7-form-control-wrap textarea {
 height: 150px;
}
.wpcf7-form-control-wrap.your-zipcode{
 max-width: 110px;
 margin-bottom: 25px;
 }
 .wpcf7-form-control-wrap.address1{
  max-width: 110px;
  }
 .inq_body td span.your-zipcode{
  display: inline-block;
 }
.inq_body select{
	height: 30px;
	font-size: 1.4rem;
	padding: 0 10px;
}

.inq_body td>div{
	margin-bottom: 10px;
}
.inq_body table dl{
	overflow: hidden;
	display: block;
	margin-bottom: 20px;
}
.inq_body table dt{
	float: left;
	width: 60%;
	padding: 8px 0;
}
.inq_body table dd{
	float: right;
	padding: 8px 0;
}
.inq_body input[type="submit"], .inq_body input[type="button"] {
    border: none;
    padding: 20px 10px;
    background: #e36460;
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    margin: 20px auto 0;
    display: block;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 0;
    -webkit-appearance: none;
    width: 360px;
    border-radius: 10px;
}
.inq_body input[type="submit"]:hover,
.inq_body input[type="button"]:hover{
	opacity: 0.8;
}


.inq_body input[type="submit"]:disabled {
 pointer-events: none;
 border: none;
 background: #777;
 opacity: 0.8;
}



.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
 padding: 10px 0;
 text-align: center;
 background-color: #ff2626;
 color: #fff;
 width: 80%;
 margin: 0 auto;
 border: none;
}
.wpcf7 form.sent .wpcf7-response-output {
 border: none!important;
 text-align: center;
 padding: 20px;
 box-sizing: border-box;
 background: #fffca7;
 margin-top: 20px!important;
}

.wpcf7c-conf {
    background-color: #dcdcdc;
}

@media screen and (max-width: 768px){
.inq_body input[type="submit"], .inq_body input[type="button"] {
    padding: 20px 10px;
    width: 320px;
}
}

.pagetop {
    position: fixed;
    right: 30px;
    bottom: 40px;
}

.pagetop a{
    display: block;
    font-size: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #4f2f17;
    border-radius: 50%;
    line-height: 50px;
}
.pagetop a i{
    font-size: 20px;
    color:#fff;
    line-height: 50px;
}
@media screen and (max-width: 768px){
.pagetop {
    bottom: 20px;
    z-index: 30;
    right: 20px;
}
.pagetop a{
    width: 40px;
    height: 40px;
    line-height: 40px;
}
.pagetop a i{
    font-size: 16px;
    line-height: 40px;
}
}

.v_middle{
    vertical-align: middle;
}

.accordion_btn_bg{
	/*background: #f6f3f1;*/
    padding: 50px 0;
}
.accordion_btn{
    font-size: 0;
    text-align: center;
	margin:0 auto 20px;
	
}
.accordion_btn img{
    text-align: center;
	margin:0 auto 20px;
	
}
.accordion_btn:hover{
	opacity: 1;
}
.accordion_btn a:hover img{
	opacity: 1;
}
.accordion_btn.hover{
	opacity: 0.8;
}


@media screen and (max-width: 1200px){
.accordion_btn {
    max-width: 600px;
    margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}
.accordion_btn > a:first-of-type{
	flex-basis:28.2%;		
}
.accordion_btn > span{
	flex-basis:42.8%;		
}
.accordion_btn > a:last-of-type{
	flex-basis:29%;		
}
}

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


.pagination {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
.pagination .page-numbers {
    width: 30px;
    height: 30px;
    border: 1px solid #d0cdbc;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    font-size: 16px;
    box-sizing: border-box;
    padding: 1px 5px 0 5px;
    color: #59554e;
    margin: 0 2px 0 0;
    background: #fafafa;
    position: relative;
    text-decoration: none;
}
.pagination .page-numbers.prev,
.pagination .page-numbers.next{
	width: 50px;
}
.pagination .page-numbers:hover{
	text-decoration: none;
	opacity: 0.8;
}
.pagination .page-numbers.current{
	background: #563e3b;
	border: 1px solid #d0cdbc;
	color: #fff;
}
.pagination .page-numbers span {
    max-width: 100%;
    position: absolute;
    top: 1px;
    left: 10px;
    vertical-align: bottom;
}