
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html,body {
	font-size: 62.5%;
	overflow-x: hidden;
}
body, table, input, textarea, select, option {
	font-family:'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
	 -webkit-font-smoothing: antialiased;
	 color: #3E352D;
}
.robot{
	    font-weight: 500;
			letter-spacing: 0.14em;
			font-family:'Roboto','Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
	 border-radius: 0;
  }
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
		backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
p{
	line-height: 1.8;
}
a,
a:link {
	color: #464343;
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 0.08em;
	font-family:'Roboto','Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;

}
a:visited {
	color: #464343;
}
a:hover {
	color: #464343;
	cursor: pointer;
}
a:active {
	color: #464343;
}

#cover{
	z-index: 2000;
	position: fixed;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	background-color: #FFF;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
body{
	position: relative;
	background-color: #FFF;
}
@media all and (min-width: 1160px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 1160px) {
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------調整クラス-----------------*/
h3{
	font-weight: 500;
}
.w1{
  width:1136px;
}
.w2{
  width:900px;
}
.w3{
  width:720px !important;
}
.w4{
  width:450px !important;
}
.w5{
  width:790px !important;
}
.container{
	margin: auto;
  position: relative;
  width:1136px;
}
.g_g{
	color: #9E9E9E;
}
.wrapper{
	position: relative;
	text-align: center;
}

.wrapper,
.w100{
  width:100%;
}

.btn_box{
	text-align: center;
}
a{
	transition: .3s;
}
a:hover{
	opacity: 0.6;
}

.color1{
	color: #E585A5 !important;
}
.color2{
	color:#2A2A2A !important
}
.color3{
	color:#0077B5 !important
}
.sidebox{
	position: fixed;
	top:50%;
	right: -380px;
	transition: 0.3s;
	transition: translateY(-50%);
	z-index: 100;
	background: #FFF;
}
.sidebox:hover{
	right: -1px;
}
.sidebox:hover .sl1 img{
	opacity: 0;
}
.sl1{
background: url(../img/s2.jpg);
background-size: cover;
}
.sl2{
	font-size: 17px;
	padding:25px 30px 15px;
	width: 314px;
	border: 1px solid #E585A5 !important;
	text-align: center !important;

}
.sl2 a{
	display: block;
}
.text_box_line {
	padding: 30px 20px 29px;
	background: #FFF !important;
	border-radius: 4px;
	border: 1px solid #DFDFDF;
	display: inline-block;
	color: #1A1A1A;
	width: 552px;
	box-sizing: border-box;
}
.btn1_1{
	font-size: 2rem;
	padding: 30px 0px 29px !important;
	background: #E585A5;
	border-radius: 4px;
	border: 1px solid #E585A5 !important;
	color:#FFF !important;
	display: inline-block;
	width: 400px !important;
	transition: .3s;
}
.btn1_1:hover{
	background:#FFF;
	color:#E585A5 !important;
	opacity: 1 !important;
}
.btn1{
	font-size: 1.5rem;
	padding: 20px 70px !important;
	background: #E585A5;
	line-height: 1;
	border: 1px solid #E585A5 !important;
	color:#FFF !important;
	display: inline-block;
	transition: .3s;
	cursor: pointer;
}
.btn1:hover{
	background:#FFF;
	color:#E585A5 !important;
	opacity: 1 !important;
}

.btn2{
	font-size: 1.5rem;
	padding: 20px 70px !important;
	background: #FFF;
	border: 1px solid #E585A5;
	line-height: 1;
	color:#E585A5 !important;
	display: inline-block;
}
.btn2:hover{
	background:#E585A5;
	color:#FFF !important;
	opacity: 1 !important;
}
.btn3{
	font-size: 1.5rem;
	padding: 20px 70px !important;
	background: #FFF;
	border: 1px solid #E585A5;
	color:#E585A5 !important;
	display: inline-block;
	box-sizing: border-box;
}
.btn3:hover{
	background:#E585A5;
	color:#FFF !important;
	opacity: 1 !important;
}
#NEWS .news_in a{
	display: block;
	border-bottom: 1px solid #DFDFDF;
	padding: 20px 0;
	text-align: left;
}
#NEWS p{
	display: inline-block;
	font-size: 16px;
}
#NEWS p.day{
	width: 130px;
	text-align: left;
}
p.news{
	display: inline-block;
	color: #FFF;
	background: #BABABA;
	padding: 4px 25px 6px;
	border-radius: 3px;
	margin-right: 20px;
	font-size: 14px;

}
.tableBox {
	width: 100%;
	margin: 0 auto;
}
table {
	width: 100%;
	border-collapse: collapse;
}
table th,
table td {
	padding: 15px 0px 16px;
	border-bottom: 1px solid #DFDFDF;
	line-height: 2;
	font-weight: 400;
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
}
table th {
	width: 20%;
	font-weight: bold !important;
	font-weight: 700;
}

.pankuzu{
	width: 100%;
	background: #FFF;
	position: absolute;
	top:-45px;
	left: 0;
	z-index: 1000;
}
.pankuzu ol{
	max-width: 1134px;
	display: flex;
	margin: auto;
	padding: 10px 0;
}
.pankuzu ol li:first-of-type a{
	color: #E585A5;
}
.pankuzu ol li a::after{
	content: ">";
	color: #AAA;
	display: inline-block;
	padding: 0 8px;
	font-weight: 500;
	font-size: 1.5rem;
}
.pankuzu ol li:last-of-type a::after{
	display: none;
}
.pankuzu a{
	color: #000;
	font-size: 1.6rem;
	font-weight: 400;

}

@media screen and (max-width: 1160px) {
	.pankuzu{
		display: none;
	}
	.w1{
	  width:100%;
	}
	.w2{
	  width:100%;
	}
	.w3{
	  width:100% !important;
	}
	.w4{
	  width:100% !important;
		padding: 0 30px;
		box-sizing: border-box;
	}
	.w5{
	  width:100% !important;
	}
	.container{
	  width:100%;
	}
	.sl2{
		font-size: 17px;
		padding:25px 0px 15px;
		width:100%;
		border: 1px solid #E585A5 !important;
		text-align: center !important;

	}
	.sl2 a{
		display: block;
	}
.sidebox{
	width: 339px;
}
	.sidebox .sl1{
		background: url(../img/sl4.jpg) #E585A5 no-repeat !important;
		background-size: contain !important;
	}
	.sidebox{
		top: auto;
		bottom: -265px;
    right:50%;
		margin-right: -170px;
	}

	.sidebox:hover{
		top: auto;
		bottom: -265px;
	right:50%;
	}
	.sidebox.on{
		right:50%;
		bottom: 0;
	}
	.sidebox .sl1{

	}
	.sidebox .sl1 img{
		opacity: 1 !important;
	}
	.sidebox.on .sl1 img{
		opacity: 0 !important;
	}
	.sidebox.on .sl2{
		box-sizing: border-box;
	}
	.btn1{
		font-size: 1.6rem;
		padding: 19px 20px 19px !important;
		width:calc(100%);
		box-sizing: border-box;
		white-space: nowrap;
	}
	#TOP03 .btn1{
		width:calc(100% - 50px);
	}
	.wrapper>.btn1{
		width:calc(100% - 50px);
	}
	#FOOTER .btn1{
		font-size: 1.6rem;
		padding: 15px 0px 15px !important;
		margin-bottom: 20px;
	}
	#NEWS p.day{
		width: 107px;
		text-align: left;
	}
	p.news{

		display: inline-block;
		color: #FFF;
		background: #BABABA;
		padding: 1px 15px 3px;
		border-radius: 3px;
		margin-right: 10px;
		font-size: 12px;

	}
	p.news_text{
		margin-top: 10px;
		font-size: 14px;
	}
	.text_box_line {
		padding: 30px 10px 29px !important;
		background: #FFF !important;
		border-radius: 4px;
		border: 1px solid #DFDFDF;
		display: inline-block;
		color: #1A1A1A;
		width: calc(100% - 50px);
		box-sizing: border-box;
	}
	.text_box_line.margin_top_25 {
    margin-top: 15px !important;
}
	.text_box_line.font_17 .font_22{
		font-size: 15px !important;
		white-space: nowrap;
	}
	.text_box_line.font_17{
		font-size: 12px !important;
	}
	.btn3 {
    font-size: 1.5rem;
    padding: 30px 10px 29px;
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #E585A5;
    color: #E585A5 !important;
    display: inline-block;
    width: calc(100%);
    box-sizing: border-box;
}
.btn3.margin_top_80 {
	margin-top: 15px !important;
}
table th{
	display: block;
	width: 100%;
	border-bottom: none;
	padding: 15px 0px 0px;
}
 table td{
	padding:0px 0px 16px;
	display: block;
	width: 100%;
}
.wrapper .flex_between.margin_auto .text_lineheight_8{
	margin-bottom: 40px;

}
}
/*------------------header------------------*/

header{
	position: fixed;
	width: 100%;
	z-index: 1001;
	top:0px;
	left: 0;
	background: rgba(255,255,255,0.5);

}

.top_box{
	height: 124px;
}

.logo_header{
  position: fixed;
  top:50%;
  right: 0;
  transform: translate(0%,-50%);
  z-index: 1002;

}
.contact_header{
  position:absolute;
  top:12px;
  left: 0px;
  z-index: 1002;
}
.contact_copy{
	position:absolute;
	top:32px;
	left: 300px;
	z-index: 1002;
	font-size: 20px;
	text-align: center;
}
.content_header{
	position: absolute;
	top:13px;
	text-align: center;
	right:0;
}
.content_header a.t_con{
	font-size: 1.6rem;
	padding: 10px 18px 10px;
	background: #019AFF;
	border-radius: 4px;
	border: 1px solid #019AFF;
	color:#FFF !important;
	display: block;
	margin-bottom: 8px;
}
.content_header a.t_con:hover{
	background:#FFF;
	border-radius: 6px;
	color:#019AFF !important;
	opacity: 1 !important;
}
a.btn4{
	font-size: 1.6rem;
	padding: 10px 18px 10px;
	background: #019AFF;
	border-radius: 4px;
	border: 1px solid #019AFF;
	color:#FFF !important;
	display: inline-block;
	margin-bottom: 8px;
}
a.btn4:hover{
	background:#FFF;
	border-radius: 6px;
	color:#019AFF !important;
	opacity: 1 !important;
}

header .logo_pc{
	padding: 20px 30px;
	position: fixed;
	left: 0;
	right: 0;
	transition: 0.2s;
	width: 107px;
	z-index: 1001;
}
header nav{
	display: flex;
	justify-content:center;

}

header.on .logo_pc{
	width: 76px;
	padding: 8px 30px;
}

header nav ul{
	display: flex;
	width: 465px;
	justify-content:space-between;

}
header nav ul li{
	padding:40px 0px;
	transition: padding 0.2s;
}
header.on nav ul li{
	padding:20px 0px;
}
header nav ul li a{
	display: block;
	text-align: center;
	font-size: 1.5rem;
	padding: 0 0px;
	color: #000 !important;
	line-height: 1.2;
	letter-spacing: -0.34px;
}
header nav ul li a.last{
	display: block;
}
header nav ul li a{
	position: relative;
}
header nav ul li a.active::after{
	content: "";
	width:calc(100%);

	position: absolute;
	bottom:-10px;
	left: 0px;
	border-bottom: 2px #666 solid;
}
#h_sns{
	display: flex;
	position: fixed;
	right: 0;
	top:0;
	padding-right: 20px;
}
#h_sns li{
width: 16px;
height: 16px;
padding: 40px 12px;
transition: padding .2s;
}
header.on #h_sns li{
	padding-top: 24px;
}

#h_sns li:nth-child(4){
	width: inherit;
	padding-left: 30px;
}
.lan{
	display: flex;
}
#h_sns li .lan a{
	font-size: 17px !important;
	line-height: 0.5;
	padding:0 8px;
}
#h_sns li .lan a.on{
	opacity: 0.5
}
.on1 {
	display: none;
}
header .top_box{
	height: 80px;
}
header .contact_header{
	top:5px;
}
header{
	position: fixed;
	width: 100%;
	top:0;

}
header .on1 {
	display: block;
		float: left;
		margin-top: -2px;
		margin-right: 17px;
}
header .on2 {
	display: none;
}
header .content_header a{
	float: left;
}
header .content_header{
	top:17px;
}
header .contact_copy{
	position:absolute;
	top:18px;
	left: 200px;
	z-index: 1002;
	font-size: 16px;
}
header .contact_header a img{
	width: 158px !important;
}


.menu_sp{
	position: fixed;
	right: 0px;
	top:0px;
	z-index: 1001;
}

.menu_sp.on .open,
.menu_sp .close{
	display: none;
}
.menu_sp.on .close{
	display: block;
}


@media screen and (max-width: 1160px) {
	html{
		overflow-x: hidden;
	}
header.on{
		background: none !important;


}
header nav ul{
	width: 100%;
}
header.op{
overflow-y: scroll;
height: 100vh;
}
header nav ul li a.active{
	color: inherit;
	text-decoration: none;
}
header nav ul li a.active::after{
	display: none;
}
	header {
		top:0;
	}
	header nav{
		height: 100vh;
z-index: 100;
display: flex;
justify-content: center;
align-items: center;
display: none;
	}
		header nav .content_he a{
	font-size: 1.7rem;
    padding: 18px 41px 18px;
    background: #019AFF;
    border-radius: 4px;
    border: 1px solid #019AFF;
    color: #FFF !important;
    display: block;
		text-align: center;
    margin-bottom: 8px;
		margin-top: 10px;
	}
	header nav ul li .sns{
		width: 200px;
		margin: auto;
		padding-top: 20px;

	}
header nav ul li .sns img{
	width: 20px !important;
}
header nav ul li .sns li img.f{
	width: 11px !important;
	margin-top: -2px;
}
header nav ul li .sns li{
	padding: 0 !important;
}
header nav ul li {
    padding: 10px 25px;
	}
	header nav.on{
		margin: 0;
		top:0;
		left: 0;
		background:#FFF;
		width: 100%;
		min-height: 600px;
		height: 100vh;
		display: flex;
		align-items: center;
	}
	header nav ul li {
    padding: 20px 0px;
}
	header nav ul li a{
		display: block;
		text-align: left !important;
		border:none !important;
		font-size: 1.7rem !important;
		padding: 0 25px;
		color: #000 !important;
		line-height: 1.4;
		text-align: center !important;
	}
	header nav ul{
		display: block;

	}
	header nav ul li a.on{
		color: inherit;
		text-decoration: none;
	}
	.logo_sp{
		position: fixed;
		top:0;
		left: 0;
		padding: 9px 25px;
		z-index: 100;
		width: 100%;
		height: 41px;
		background: #FFF;
	}
	.position_relative .logo_sp{
		background:#E585A5;
	}
}
footer{
	background: #1A1A1A;
	color: #FFF;
	font-size: 1.5rem;
	padding: 30px;
	text-align: center;
}
