@charset "UTF-8";
/* CSS Document */

/* ************************************************ 
 *  all
 * ************************************************ */

* {
    margin: 0;
    padding: 0;
}
p, li, ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
/*html, body {
  scroll-behavior: smooth;
}*/
html {
	height: 100%;
	overflow-x: hidden;
	scroll-padding-top: 200px;
}
body {
	margin: 0;
	padding: 0;
	position: relative;
	background-color: #fff;
}
br.clear {
	clear: both;
	font: 0pt/0pt sans-serif;
}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix{
	display: inline-block;
}
.clear {
	clear: both;
	float: none;
	margin: 0;
	padding: 0;
}

/* Hides from IE \*/
* html .clearfix {height: 1%;}
.clearfix { display:block;}
/* End hide from IE */

hr {
	margin: 10px 0;
	border: 0;
	clear: left;
}
img {
	border: none;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
/*	width: inherit\9 !important;
    max-width: 100%;
    height: auto\9 !important;*/
}
.non img {
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	touch-callout:none;
	user-select:none;
}
a img:hover {
	text-decoration: none;
	cursor: pointer;
	cursor: hand;
	transition: all 0.5s ease 0s;
	filter:alpha(opacity=7);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
a:link,
a:visited {
	text-decoration: none;
}
a:hover{
	text-decoration: none;
	cursor: pointer;
	cursor: hand;
	transition: all 0.5s ease 0s;
}
a:active{
	text-decoration: none;
}
.hidden_tl {
	overflow-y: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.hidden_tx {
	overflow-y: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* -------------------------------------
*     ポジション調整
* ------------------------------------- */

.grid_r {display: grid; justify-content: right;}
.grid_l {display: grid; justify-content: left;}
.float_r {float: right;}
.float_l {float: left;}

/* -------------------------------------
*     テキスト調整
* ------------------------------------- */

.tx_l {text-align: left;}
.tx_r {text-align: right;}
.tx_ct {text-align: center;}
.tx_wh {color: #fff;}
.tx_bk {color: #333;}

/* -------------------------------------
*     マージン調整
* ------------------------------------- */

@media screen and (min-width: 767px) {
.mr_t10 {margin: 10px 0 0 0;}
.mr_t20 {margin: 20px 0 0 0;}
.mr_t30 {margin: 30px 0 0 0;}
.mr_t40 {margin: 40px 0 0 0;}
.mr_t50 {margin: 50px 0 0 0;}
.mr_t60 {margin: 60px 0 0 0;}
.mr_t70 {margin: 70px 0 0 0;}
.mr_t80 {margin: 80px 0 0 0;}
.mr_t90 {margin: 90px 0 0 0;}
.mr_t100 {margin: 100px 0 0 0;}

.mr_b10 {margin: 0 0 10px 0;}
.mr_b20 {margin: 0 0 20px 0;}
.mr_b30 {margin: 0 0 30px 0;}
.mr_b40 {margin: 0 0 40px 0;}
.mr_b50 {margin: 0 0 50px 0;}
.mr_b60 {margin: 0 0 60px 0;}
.mr_b70 {margin: 0 0 70px 0;}
.mr_b80 {margin: 0 0 80px 0;}
.mr_b90 {margin: 0 0 90px 0;}
.mr_b100 {margin: 0 0 100px 0;}
.mr_ct {
	margin: 0 auto;
}

.mr_left10 {margin: 0 0 0 10px;}
.mr_left20 {margin: 0 0 0 20px;}
.mr_left30 {margin: 0 0 0 30px;}
.mr_left40 {margin: 0 0 0 40px;}
.mr_left50 {margin: 0 0 0 50px;}

.mr_right10 {margin: 0 10px 0 0;}
.mr_right20 {margin: 0 20px 0 0;}
.mr_right30 {margin: 0 30px 0 0;}
.mr_right40 {margin: 0 40px 0 0;}
.mr_right50 {margin: 0 50px 0 0;}
}

@media screen and (max-width: 768px) {
.sp-mr_t10 {margin: 10px 0 0 0;}
.sp-mr_t20 {margin: 20px 0 0 0;}
.sp-mr_t30 {margin: 30px 0 0 0;}
.sp-mr_t40 {margin: 40px 0 0 0;}
.sp-mr_t50 {margin: 50px 0 0 0;}
.sp-mr_t60 {margin: 60px 0 0 0;}
.sp-mr_t70 {margin: 70px 0 0 0;}
.sp-mr_t80 {margin: 80px 0 0 0;}
.sp-mr_t90 {margin: 90px 0 0 0;}
.sp-mr_t100 {margin: 100px 0 0 0;}

.sp-mr_b10 {margin: 0 0 10px 0;}
.sp-mr_b20 {margin: 0 0 20px 0;}
.sp-mr_b30 {margin: 0 0 30px 0;}
.sp-mr_b40 {margin: 0 0 40px 0;}
.sp-mr_b50 {margin: 0 0 50px 0;}
.sp-mr_b60 {margin: 0 0 60px 0;}
.sp-mr_b70 {margin: 0 0 70px 0;}
.sp-mr_b80 {margin: 0 0 80px 0;}
.sp-mr_b90 {margin: 0 0 90px 0;}
.sp-mr_b100 {margin: 0 0 100px 0;}
.sp-mr_ct {
	margin: 0 auto;
}

.sp-mr_left10 {margin: 0 0 0 10px;}
.sp-mr_left20 {margin: 0 0 0 20px;}
.sp-mr_left30 {margin: 0 0 0 30px;}
.sp-mr_left40 {margin: 0 0 0 40px;}
.sp-mr_left50 {margin: 0 0 0 50px;}

.sp-mr_right10 {margin: 0 10px 0 0;}
.sp-mr_right20 {margin: 0 20px 0 0;}
.sp-mr_right30 {margin: 0 30px 0 0;}
.sp-mr_right40 {margin: 0 40px 0 0;}
.sp-mr_right50 {margin: 0 50px 0 0;}
}

/* -------------------------------------
*     パディング調整
* ------------------------------------- */

@media screen and (min-width: 767px) {
.pd_t10 {padding: 10px 0 0 0;}
.pd_t20 {padding: 20px 0 0 0;}
.pd_t30 {padding: 30px 0 0 0;}
.pd_t40 {padding: 40px 0 0 0;}
.pd_t50 {padding: 50px 0 0 0;}
.pd_t60 {padding: 60px 0 0 0;}
.pd_t70 {padding: 70px 0 0 0;}
.pd_t80 {padding: 80px 0 0 0;}
.pd_t90 {padding: 90px 0 0 0;}
.pd_t100 {padding: 100px 0 0 0;}

.pd_b10 {padding: 0 0 10px 0;}
.pd_b20 {padding: 0 0 20px 0;}
.pd_b30 {padding: 0 0 30px 0;}
.pd_b40 {padding: 0 0 40px 0;}
.pd_b50 {padding: 0 0 50px 0;}
.pd_b60 {padding: 0 0 60px 0;}
.pd_b70 {padding: 0 0 70px 0;}
.pd_b80 {padding: 0 0 80px 0;}
.pd_b90 {padding: 0 0 90px 0;}
.pd_b100 {padding: 0 0 100px 0;}
.pd_ct {
	padding: 0 auto;
}

.pd_left10 {padding: 0 0 0 10px;}
.pd_left20 {padding: 0 0 0 20px;}
.pd_left30 {padding: 0 0 0 30px;}
.pd_left40 {padding: 0 0 0 40px;}
.pd_left50 {padding: 0 0 0 50px;}

.pd_right10 {padding: 0 10px 0 0;}
.pd_right20 {padding: 0 20px 0 0;}
.pd_right30 {padding: 0 30px 0 0;}
.pd_right40 {padding: 0 40px 0 0;}
.pd_right50 {padding: 0 50px 0 0;}
}

@media screen and (max-width: 768px) {
.sp-pd_t10 {padding: 10px 0 0 0;}
.sp-pd_t20 {padding: 20px 0 0 0;}
.sp-pd_t30 {padding: 30px 0 0 0;}
.sp-pd_t40 {padding: 40px 0 0 0;}
.sp-pd_t50 {padding: 50px 0 0 0;}
.sp-pd_t60 {padding: 60px 0 0 0;}
.sp-pd_t70 {padding: 70px 0 0 0;}
.sp-pd_t80 {padding: 80px 0 0 0;}
.sp-pd_t90 {padding: 90px 0 0 0;}
.sp-pd_t100 {padding: 100px 0 0 0;}

.sp-pd_b10 {padding: 0 0 10px 0;}
.sp-pd_b20 {padding: 0 0 20px 0;}
.sp-pd_b30 {padding: 0 0 30px 0;}
.sp-pd_b40 {padding: 0 0 40px 0;}
.sp-pd_b50 {padding: 0 0 50px 0;}
.sp-pd_b60 {padding: 0 0 60px 0;}
.sp-pd_b70 {padding: 0 0 70px 0;}
.sp-pd_b80 {padding: 0 0 80px 0;}
.sp-pd_b90 {padding: 0 0 90px 0;}
.sp-pd_b100 {padding: 0 0 100px 0;}
.sp-pd_ct {
	padding: 0 auto;
}

.sp-pd_left10 {padding: 0 0 0 10px;}
.sp-pd_left20 {padding: 0 0 0 20px;}
.sp-pd_left30 {padding: 0 0 0 30px;}
.sp-pd_left40 {padding: 0 0 0 40px;}
.sp-pd_left50 {padding: 0 0 0 50px;}

.sp-pd_right10 {padding: 0 10px 0 0;}
.sp-pd_right20 {padding: 0 20px 0 0;}
.sp-pd_right30 {padding: 0 30px 0 0;}
.sp-pd_right40 {padding: 0 40px 0 0;}
.sp-pd_right50 {padding: 0 50px 0 0;}
}

/* -------------------------------------
*     アニメーション
* ------------------------------------- */

.foo.delighter {
  transition: all .6s ease-out;
  transform: translateX(-10%);
  opacity: 0;
}
.foo.delighter.started {
  transform: none;
  opacity: 1;
}
.foo.delighter.started.ended {
  border: none;
}

.delighter.top { transform:translateY(-50%); opacity:0; transition: all .90s ease-out; }
.delighter.top.started { transform:none; opacity:1; }

.delighter.bottom1 {
	transform:translateY(50%);
	opacity:0;
	transition: all .50s ease-out;
}
.delighter.bottom1.started { transform:none; opacity:1; }

.delighter.bottom2 {
	transform:translateY(50%);
	opacity:0;
	transition: all .70s ease-out;
}
.delighter.bottom2.started { transform:none; opacity:1; }

.delighter.bottom3 {
	transform:translateY(50%);
	opacity:0;
	transition: all .90s ease-out;
}
.delighter.bottom3.started { transform:none; opacity:1; }

.delighter.right { transform:translateX(-50%); opacity:0; transition: all .90s ease-out; }
.delighter.right.started { transform:none; opacity:1; }

.delighter.left { transform:translateX(50%); opacity:0; transition: all .90s ease-out; }
.delighter.left.started { transform:none; opacity:1; }

/* -------------------------------------
*     contents-wide
* ------------------------------------- */

@media screen and (min-width: 900px) {
.wide_700 {
	width: 700px;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_800 {
	width: 800px;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_930 {
	width: 930px;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_960 {
	width: 960px;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_1080 {
	width: 1080px;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_all,
.wide_all img {
	width: 100%;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.tag_wide {
	width: 780px;
	height: auto;
	margin: 0 auto;
}
.wide_700 img,
.wide_800 img,
.wide_930 img,
.wide_960 img,
.wide_1080 img,
.tag_wide {
	width: 100%;
	height: auto;
}
.detail_info {
	width: auto;
	height: auto;
	margin: 0 auto;
	padding: 30px 0;
}
.detail_cp {
	margin: 10px auto;
	font-size: 14pt;
	line-height: 24pt;
	font-weight: bold;
	color: #333;
	text-align: left;
	letter-spacing: 1pt;
}
.detail_day {
	margin: 10px auto;
	font-size: 9pt;
	line-height: 18pt;
	font-weight: normal;
	letter-spacing: 0;
}
.detail_text {
	width: auto;
	margin: 10px auto;
	padding: 0;
	font-size: 12pt;
	line-height: 24pt;
	font-weight: normal;
	letter-spacing: 0;
	word-break: break-all;
}
.detail_more {
	margin: 5px auto;
	font-size: 10pt;
	line-height: 20pt;
	font-weight: normal;
	color: #333;
	text-align: right;
	letter-spacing: 0;
}
.detail_sub_tl {
	margin: 5px 0;
	font-size: 18pt;
	line-height: 26pt;
	font-weight: normal;
	border-bottom: 1px solid #ccc;
    display: flex;
}
.detail_info_text {
	margin: 20px 0;
	font-size: 14pt;
	line-height: 22pt;
	font-weight: normal;
	word-break: break-all;
}
.detail_list {
	width: 100%;
	height: auto;
}
.detail_ph {
	float: none;
	clear: both;
	width: auto;
	height: auto;
	padding: 0;
	margin: 20px auto;
}
.detail_ph_list {
	width: 560px;
	height: auto;
	margin: 0 auto;
}
.detail_ph_list_small {
	width: 200px;
	height: auto;
	margin: 0 auto;
}
.detail_ph img,
.detail_ph_list img,
.detail_ph_list_small img {
	width: 100%;
	height: auto;
}

/* テキストライン */
.tx_line {
	width: auto;
	height: 1px;
	border-top: 2px solid #5f5f5f;
	line-height:0;
	clear: both;
	float: none;
	padding: 0px;
	margin: 0 auto;
}
.tx_line800 {
	width: 800px;
	height: 1px;
	border-top: 2px solid #5f5f5f;
	line-height:0;
	clear: both;
	float: none;
	padding: 0px;
	margin: 0 auto;
}
.tx_line960 {
	width: 960px;
	height: 1px;
	border-top: 2px solid #5f5f5f;
	line-height:0;
	clear: both;
	float: none;
	padding: 0px;
	margin: 0 auto;
}
}

@media screen and (max-width: 901px) {
.wide_700 {
	width: 70%;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_800,
.wide_930,
.wide_960,
.wide_1080 {
	width: 90%;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_all,
.wide_all img {
	width: 100%;
	height: auto;
	clear: both;
	float: none;
	margin: 0 auto;
	padding: 0;
}
.wide_700 img,
.wide_800 img,
.wide_930 img,
.wide_960 img,
.wide_1080 img,
.tag_wide {
	width: 100%;
	height: auto;
}
.detail_info {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
}
.detail_cp {
	margin: 10px auto;
	font-size: 12pt;
	line-height: 20pt;
	font-weight: bold;
	color: #333;
	text-align: left;
	letter-spacing: 1pt;
}
.detail_day {
	margin: 10px auto;
	font-size: 10pt;
	line-height: 20pt;
	font-weight: normal;
	letter-spacing: 0;
}
.detail_text {
	width: 100%;
	margin: 20px auto;
	font-size: 10pt;
	line-height: 20pt;
	font-weight: normal;
	letter-spacing: 0;
	word-break: break-all;
}
.detail_more {
	margin: 5px auto;
	font-size: 10pt;
	line-height: 15pt;
	font-weight: normal;
	color: #333;
	text-align: right;
	letter-spacing: 0;
}
.detail_sub_tl {
	margin: 5px 0;
	font-size: 18pt;
	line-height: 26pt;
	font-weight: normal;
	border-bottom: 1px solid #ccc;
    display: flex;
}
.detail_info_text {
	margin: 20px 0;
	font-size: 14pt;
	line-height: 22pt;
	font-weight: normal;
	word-break: break-all;
}
.detail_list {
	width: 100%;
	height: auto;
}
.detail_ph {
	float: none;
	clear: both;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 20px auto;
}
.detail_ph_list,
.detail_ph_list_small {
	width: 100%;
	height: auto;
	margin: 20px auto;
}
.detail_ph img,
.detail_ph_list img,
.detail_ph_list_small img {
	width: 100%;
	height: auto;
}

/* テキストライン */
.tx_line,
.tx_line800,
.tx_line960 {
	width: 100%;
	height: 1px;
	border-top: 2px solid #333;
	line-height:0;
	clear: both;
	float: none;
	padding: 0px;
	margin: 0 auto;
}
}

/* -------------------------------------
*     Responsive
* ------------------------------------- */

@media screen and (max-width: 901px) {
	.pc_mode {
    display: none; } 
}
@media screen and (min-width: 900px) {
	.sp_mode {
    display: none !important; }
}
.pc_mode, .sp_mode {
	width: 100%;
	height: auto;
	margin: 0 auto;
}