
@charset "UTF-8";

html{
	font-size: 10px;
	scroll-behavior: smooth;
}

html.pc .sp{ display: none !important; }
html.sp .pc{ display: none !important; }

body{
	padding: 0;
	margin: 0;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.75;
	/*letter-spacing: 1.5px;*/
	overflow-x: hidden;
	scroll-behavior: smooth;
	font-family: "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	font-feature-settings: "palt"; /* 文字詰め（フォントにカーニング情報が含まれる場合） */

	 /* iPhoneで上下のバーを抜いた高さ */
	height: -webkit-fill-available;
	height: -moz-available;
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

.gill_sans_nova_400{
	font-family: gill-sans-nova, "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-weight: 400 !important;
}

.ib{
	display: inline-block;
}

h1{
	margin: 50px 0;
}

h2{
	font-size: 1.8rem;
	margin: 0;
}

h3{
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.06em;
	margin: 80px 0 ;
}

h4{
	font-size: 1.2rem;
	font-weight: normal;
	margin: 15px 0;
}

img{
	vertical-align: middle;
	max-width: 100%;
}
img.double{
	display: none;
}
img.double.show{
	display: inline-block;
}

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

a,
a:link,
a:visited{
	color: inherit;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}

a img{
	border-style: none;
	transition: filter 0.15s linear;
}

a:hover img{
	filter: brightness(1.2);
}

a.fade{
	display: inline-block;
	text-decoration: none;
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;
	     -o-transition: 0.2s ease-in-out;
	        transition: 0.2s ease-in-out;
}

a.fade:hover{
	opacity: 0.6;
	filter: alpha(opacity=60);
	text-decoration:none;
}

#page{
	min-height: 100vh;
}

header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding: 5px 30px;
	min-height: 63px;
	background-color: #fff;
}
header .title1{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
header .title1 img{
	margin-right: 30px;
}
header .title2{
	white-space: nowrap;
	margin-top: 5px;
}
@media (max-width: 700px) {
	header .title1{
		width: 330px;
	}
}

header p{
	display: inline-block;
	font-size: 1.2rem;
	margin: 0;
}
header .contact{
	text-align: right;
	white-space: nowrap;
}
header .contact a{
	color: #1fb0ff;
	margin: 0 0 0 20px;
}
header .contact p{
	margin: 0 0 0 20px;
}
header .contact .ib{
	text-align: left;
}
header .contact2 a{
	text-decoration: none;
	margin: 0 0 0 10px;
}
table.header_table{
	width: 100%;
}
table.header_table td{
	vertical-align: middle;
}


footer{
	position: sticky;
	top: 100vh;

	color: #fff;
	background-color: #000;
	margin: 80px auto 0;
	padding: 80px 0;
}
footer a{
	text-decoration: none;
}
footer a:hover{
	text-decoration: underline;
}
footer .img_footer_1{
	margin: 0 0 70px;
}
footer .footer2{
	font-size: 1.2rem;
	margin: 5px 0 0;
}

.copyright{
	text-align: right;
	font-size: 1rem;
	margin: 70px 0 0;
}

.gototop{
	position: fixed;
	right: 15px;
	bottom: 0;
	transition: filter 0.2s linear;
	z-index: 500;
}
.gototop:hover{
	filter: brightness(1.2);
}

.page_width1{
	max-width: 90%;
	width: 940px;
	margin: 0 auto;
}
.page_width2{
	max-width: 90%;
	width: 870px;
	margin: 0 auto;
}
.page_width1 .page_width2{
	max-width: 100%;
}

.contents{
}

table.type1{
	border-collapse: collapse;
	border-top: 1px solid #c2c2c2;
	width: 100%;
}
table.type1 th,
table.type1 td{
	font-weight: 300;
	border-bottom: 1px solid #c2c2c2;
	padding: 40px 40px;
}
table.type1 th{
	text-align: center;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	white-space: nowrap;
	background-color: #e5eef4;
	padding: 40px 50px;
}
table.type1 td{
	text-align: left;
	background-color: #fff;
	width: 750px;
}
html.sp table.type1 th,
html.sp table.type1 td{
	padding: 20px 20px;
}

table.contact{
	border-collapse: collapse;
	width: 100%;
}
table.contact th,
table.contact td{
	text-align: left;
	font-weight: 300;
	padding: 20px 20px;
}
table.contact th{
	font-size: 1.6rem;
	white-space: nowrap;
	padding: 20px 100px 20px 50px;
}
html.sp table.contact th{
	padding: 20px 10px 20px 20px;
}
table.contact th.hissu{
	background-image: url(/img/common/hissu.svg);
	background-position: 100% 50%;
	background-repeat: no-repeat;
}
html.sp table.contact th.hissu{
	background-position: 5% 50%;
	padding-left: 80px;
}
table.contact td{
	background-color: #fff;
	width: 750px;
}
html.sp table.contact td{
	padding: 0px 10px 20px 20px;
}
table.contact tr:nth-of-type(2n+1) th,
table.contact tr:nth-of-type(2n+1) td{
	background-color: #e5eef4;
}
html.sp table.contact,
html.sp table.contact tbody,
html.sp table.contact tr,
html.sp table.contact th,
html.sp table.contact td{
	display: block;
	box-sizing: border-box;
	width: 100%;
}

a.youtube img{
	position: absolute;
	top: 90px;
	right: 20px;
	z-index: 100;
}

@media (min-width: 1161px) {
	.max_w1160{
		display: none !important;
	}
}
@media (min-width: 881px) {
	.max_w880{
		display: none !important;
	}
}
@media (min-width: 701px) {
	.max_w700{
		display: none !important;
	}
}
@media (max-width: 700px) {
	.min_w701{
		display: none !important;
	}
}










