@charset "utf-8";

header {
	position: relative;
	padding: 3% 0;
	/* border-bottom: 1px solid #efefef; */
}
.header_logo {
	text-align: center;
}
.header_logo img {
	width: 32.8%;
}
.header_title {
	padding: 1% 0;
	font-size: 0.6em;
	font-weight: normal;
}
.header_left {
	position: absolute;
	top: 15%;
	left: 2%;
	width: 12%;
}
.header_right {
	position: absolute;
	top: 10%;
	right: 2%;
	width: 12%;
}

/* 検索 */
.header_search {
	display: none;
	padding: 3% 0;
	position: relative;
	width: 100%;
}
.header_btn_sp_search {
	font-size: 1.8em;
	text-align: center;
	color: #4b4b4b;
}
.search_box {
	width: 96%;
	margin: 0 auto;
	vertical-align: middle;
}
.search_item {
	background-color: #fff;
	border: 1px solid #707070;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 0;
}
.search_item dt {
	display: inline-block;
	vertical-align: middle;
	width: 78%;
}
.search_item dd {
	display: inline-block;
	vertical-align: middle;
  width: 22%;
}
.search_item .search_text {
	width: 100%;
	background: none;
	border: none;
	font-size: 28px;
	padding: 0 3%;
}
.search_button {
	background: #4b4b4b;
	width: 100%;
	padding: 3%;
	border: none;
	color: #FFF;
	font-size: 28px;
}
@media only screen and (max-width: 639px) {
	.search_item .search_text,
	.search_button {
	font-size: 4.375vw;
	}
}


/* ------------------------------------
	ハンバーガーメニュー
------------------------------------*/
.sachikoi_hamburger {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
	margin: 0 auto;
}
.sachikoi_hamburger span {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 6px;/* 1本辺りの高さ */
	background: #4b4b4b;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	border-radius: 5px;
}
.sachikoi_hamburger span:nth-of-type(1) { top: 15px;}
.sachikoi_hamburger span:nth-of-type(2) { top: 29px;}
.sachikoi_hamburger span:nth-of-type(3) { bottom: 0;}
.sachikoi_hamburger.active span:nth-of-type(1) {
	top: 29px; /* 上から2番目の線の位置に変更 */
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.sachikoi_hamburger.active span:nth-of-type(2) {
	opacity: 0;
}
.sachikoi_hamburger.active span:nth-of-type(3) {
	top: 29px; /* 上から2番目の線の位置に変更 */
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

@media only screen and (max-width: 639px) {
	.sachikoi_hamburger {
	width: 28px;
	height: 32px;
	}
	.sachikoi_hamburger span {
	height: 4px;
	}
	.sachikoi_hamburger span:nth-of-type(1) { top: 8px;}
	.sachikoi_hamburger span:nth-of-type(2) { top: 18px;}
	.sachikoi_hamburger.active span:nth-of-type(1) {
	top: 21px;
	}
	.sachikoi_hamburger.active span:nth-of-type(3) {
	top: 21px;
	}
	
}
@media only screen and (max-width: 410px) {
	.sachikoi_hamburger {
	width: 20px;
	height: 26px;
	}
	.sachikoi_hamburger span {
	height: 3px;
	}
	.sachikoi_hamburger span:nth-of-type(1) { top: 9px;}
	.sachikoi_hamburger span:nth-of-type(2) { top: 16px;}
	.sachikoi_hamburger.active span:nth-of-type(1) {
	top: 16px;
	}
	.sachikoi_hamburger.active span:nth-of-type(3) {
	top: 16px;
	}
	
}


/* ------------------------------------------------------------------
SpNavi
-------------------------------------------------------------------*/
.sp_nav_wrap {
	position: relative;
	display: block;
	text-align: left;
}
.sp_nav {
	position: fixed;
	overflow-y: scroll;
	left: auto;
	display: none;
	z-index: 999;
	background: #fff2f2;
	width: 100%;
	height: 100%;
	padding-bottom: 20%;
}
@media only screen and (min-width: 640px) {
	.sp_nav {
		width: 640px;
	}
}
.sp_nav.open {
	display: block;
}
.sp_nav.close {
	display: none;
}

.scroll-prevent {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
	top: 0;
	left: auto;
}

.sp_nav_list {
	overflow: hidden;
	margin-bottom: 10%;
}
.sp_nav_item_head {
	padding: 2% 3%;
	font-weight: bold;
	font-size: 0.8em;
	width: 100%;
}
.bg_pink{
	background: #fcdede;
}

/* sp_nav_list_1 */
.sp_nav_list_1 .sp_nav_item_sub {
	position: relative;
	border-bottom: solid 2px #fcdede;
	float: left;
	width: 50%;
}
.sp_nav_list_1 .sp_nav_item_sub:after {
	content: "\f054";
	font-family: FontAwesome;
	position: absolute;
	top: 30%;
	right: 9%;
	font-size: 0.6em;
}
.sp_nav_list_1 .sp_nav_item_sub:nth-child(even) {
	border-right: solid 2px #fcdede;
}
.sp_nav_list_1 a {
	display: block;
	padding: 4% 18% 4% 6%;
	color: #333333;
	text-decoration: none;
	font-size: 0.8em;
}

/* sp_nav_list_2 */
.sp_nav_list_2 .sp_nav_item_head {
	margin-bottom: 4%;
}
.sp_nav_list_2 .keyword_list{
	padding: 0 3%;
	font-size: 0;
}
.sp_nav_list_2 .keyword {
	display: inline-block;
	margin: 0 2% 3% 0;
	font-size: 20px;
	line-height: 1.5;
	color: #333;
}
@media only screen and (max-width: 639px) {
	.sp_nav_list_2 .keyword {
	font-size: 2.8125vw;
	}
}
.sp_nav_list_2 .keyword a {
	display: inline-block;
	padding: 5px 8px;
	border: solid 1px #fcdede;
	border-radius: 10px;
	color: inherit;
}

/* SNSアイコン */
.sp_nav_list_2 .share_icon {
	padding: 0 3%;
}


/* ------------------------------------------------------------------
	2-2. GlobalNavi styles
-------------------------------------------------------------------*/
.gnav { }
.gnav_list {
	border-bottom: solid 1px #e0e1e3;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.gnav_item {
	white-space: nowrap;
	font-size: 0.8em;
	line-height: 3em;
	height: 3em;
}
.gnav_item a {
	display: block;
	padding: 0 8px;
	text-decoration: none;
	color: inherit;
}
.gnav_item.active {
	border-bottom: 2px solid #e5414e;
	font-weight: bold;
}
.gnav_item.active a {
	color: #e5414e;
}

.body_sachikoi{
	min-width: 0;
}
.page_sachikoi{
	max-width: 640px;
	margin: 0 auto;
}
.page_sachikoi .wrapper{
	width: auto;
}
.page_sachikoi .form_wrapper{
	width: auto;
}
.page_sachikoi .form_subject_name{
	font-size: 16px;
}
.sachikoi_header{
	position: relative;
	padding: 3% 0;
	text-align: center;
}
.sachikoi_footer{
	padding: 3% 0;
	text-align: center;
}
.th_col_bg{
	/*background: #666;*/
}
.page_sachikoi .heading03{
	padding: 3% 2%;
	margin-bottom: 1em;
	background: #f4f4f4;
	border-left: 8px solid #2b6b9f;
	font-size: 1.16em;
	border-bottom: none;
	color: #000;
}
.heading04{
	color: #666;
	border-left: solid 12px #666;
}
.btn_gradation{
	background: #000;
}
.btn_gradation:hover{
	color: #000;
	border: solid 1px #000;
}
.sachikoi_form_intro{
	padding: 0 0 5% ;
}
.sachikoi_form_caution{
	margin: 0 auto;
}
.sachikoi_form_caution ul{
	padding-left: 1em;
	list-style: disc outside;
}
.sachikoi_form_caution ul li{
	padding: 0.5em 0;
}
.sachikoi_form_agree{
	text-align: center;
	padding: 10% 0 5%;
}
.sachikoi_free_bnr{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
.sachikoi_h3_img{
	border: none;
}
.img_block{
	display: block;
	margin: 0 auto 30px;

}
.sachikoi_mov{
	margin: 0 auto 30px;
}
.sachikoi_mov iframe {
	width: 100%;
	height: auto;
	width: 500px;
	height: 300px;
	display: block;
	margin: 0 auto;
}
.sachikoi_section{
	line-height: 2em;
}
.sachikoi_read{
	border: 4px double #ddd;
	padding: 4%;
	margin-bottom: 2em;
	font-size: 0.8em;
}
.sachikoi_text{
	padding: 0 0 2em;
}
.sachikoi_author_name{
	font-weight: bold;
	font-size: 1.3em;
	line-height: 2em;
}
.sachikoi_section ol{
	list-style: decimal outside;
	padding: 0 0 2em 2em;
}
@media only screen and (max-width: 640px) {
	header{
		height: auto;
	}
	.sachikoi_header {
	}
	.th_col_bg{
		background: #666;
	}
	.heading03{
		color: #666;
	}
	.btn_gradation:hover{
		background: none;
		color: #000;
		border: solid 1px #000;
	}
	.form_subject_name{
		color: #000;
	}
	.th_col_bg{
		background: #eee;
	}
	.sachikoi_mov iframe{
		width: 100%;
		height: auto;
	}
}