@charset "UTF-8";
/* ==================================================
	submain
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	img {
		height: auto ;
	}
	.subtitle {
		display: block;
		padding-top: 55px;
		background: #f0f0f0;
		position: relative;
	}
	.subtitle .fix-1100 {
		padding: 16px 0;
		
	}
	.subtitle h1 {
		display: block;
		font-size: 1.8rem;
		letter-spacing: 2px;
		line-height: 1;
		position: relative;
		padding-left: 25px;
	}
	.subtitle h1::before {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: #9d2328;
		width: 20px;
		height: 2px;
	}
	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}
	.branch {
		border-top: #dedede solid 1px;
	}
	.branch ul {
		display: none;
	}
	#content_area {
		background: #FFF;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.subtitle {
		display: block;
		padding-top: 130px;
		position: relative;
	}
	.subtitle .fix-1100 {
		padding: 40px 0;
	}
	.subtitle h1 {
		display: block;
		font-size: 4.2rem;
		letter-spacing: 4px;
		line-height: 1;
		position: relative;
		padding-left: 75px;
	}
	.subtitle h1::before {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: #9d2328;
		width: 50px;
		height: 2px;
	}
	.branch {
		display: block;
		border-top: #dedede solid 1px;
		border-bottom: #dedede solid 1px;
		background: #fbfbfb;
		padding: 15px 0;
		background: #FFF;
	}
	.fix-1100 {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.branch li {
		display: inline-block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1;
		margin-left: 24px;
		color: #111;
	}
	.branch li::before{
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		left: -17px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.branch li:nth-child(1) {
		margin-left: 0px;
	}
	.branch li:nth-child(1)::before {
		display: none;
	}
	.branch a {
		color: #9d2328;
		text-decoration:none !important;
	}
	.branch a:hover {
		text-decoration:underline !important;
	}
	.subbox01 p {
		font-size: 1.6rem;
		line-height: 1.9;
		font-weight: normal;
	}
	#content_area {
		background: #FFF;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1200px) {
	.fix-1200 {
		margin-left: auto;
		margin-right: auto;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1100px) {
	.fix-1100 {
		margin-left: 4%;
		margin-right:4%;
	}
}
/* ========== end △ */


/* ==================================================
	ABOUT
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.about01 {
		display: block;
		padding: 30px 0;
	}
	.title01 {
		display: block;
		color: #9d2328;
		font-size: 1.8rem;
		line-height: 1.4;
		padding: 14px 15px 15px 15px;
		background: #faf6f0;
		margin-bottom: 20px;
	}
	.title02 {
		display: block;
		font-size: 1.7rem;
		line-height: 1.4;
		border-bottom: #9d2328 solid 1px;
		padding-bottom: 10px;
		margin-bottom: 16px;
	}
	.mt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
	.sisin {
		display: block;
		border-radius: 6px;
		border: #c9a965 solid 1px;
		padding: 20px;
		margin-bottom: 30px;
	}
	.sisin h3 {
		display: block;
		text-align: center;
		position: relative;
		font-size: 2rem;
		letter-spacing: 3px;
		line-height: 1.2;
		padding-bottom: 13px;
		margin-bottom: 18px;
	}
	.sisin h3::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: #9d2328;
		height: 2px;
		width: 60px;
	}
	.sisin dl {
		display: flex;
		padding: 15px 4px;
		border-bottom: #e9e6e6 solid 1px;
	}
	.sisin dl dt {
		display: block;
	}
	.sisin dl dt span {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 30px;
		font-size: 1.8rem;
		line-height: 1;
		color: #FFF;
		background: #9d2328;
	}
	.sisin dl dd {
		display: block;
		font-size: 1.5rem;
		line-height: 1.6;
		font-weight: bold;
		margin-left: 15px;
	}
	.flex {
		display: block;
	}
	.daihyou {
		justify-content: space-between;
		margin-bottom: 30px;
	}
	.daihyou figure {
		display: block;
		margin-bottom: 15px;
	}
	.daihyou figure img {
		width: 100%;
	}
	.daihyou .txt {
		display: block;
	}
	.daihyou .txt p {
		display: block;
		font-size:1.5rem;
		line-height: 1.9;
		margin-top: 0px;
		margin-bottom: 20px;
	}
	.daihyou .txt dl {
		display: block;
	}
	.daihyou .txt dt {
		display: block;
		font-size: 1.6rem;
		line-height: 1;
		margin-bottom: 12px;
	}
	.daihyou .txt dd {
		display: block;
		font-size: 2rem;
		line-height: 1;
		font-weight: bold;
	}
	.daihyou .txt dd small {
		display: block;
		font-weight: normal;
		margin-bottom: 12px;
		font-size: 1.5rem;
	}
	.profs {
		justify-content: space-between;
		margin-bottom: 30px;
	}
	.profs .txt {
		display: block;
	}
	.profs figure {
		display: none;
	}
	.profs figure img {
		width: 100%;
	}
	.profs .txt h4 {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #faf6f0;
		margin-bottom: 15px;
	}
	.tab1 {
		width: 100%;
		border-collapse: collapse;
	}
	.tab1 th {
		display: block;
		background: #f0f0f0;
		text-align: left;
		vertical-align: top;
		font-weight: bold;
		font-size: 1.5rem;
		line-height: 1.6;
		font-weight: bold;
		padding: 13px 13px;
	}
	.tab1 td {
		display: block;
		text-align:left;
		font-size: 1.5rem;
		line-height: 1.6;
		padding: 13px 0px;
	}
	.title03 {
		display: block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 22px;
		margin-bottom: 15px;
	}
	.title03::before {
		position: absolute;
		left: 0;
		top: 4px;
		content: "";
		width: 14px;
		height: 14px;
		background: #9d2328
	}
	.sibu {
		display: block;
		margin-bottom: 30px;
	}
	.sibu.ri {
		flex-direction: row-reverse;
	}
	.sibu .im {
		margin-bottom: 15px;
	}
	.sibu .im img {
		width: 100%;
	}
	.sibu .im dl {
		display: flex;
		justify-content:space-between;
		margin-top: 10px;
	}
	.sibu .im dl dt {
		flex-basis: 21%;
		font-weight: bold;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	.sibu .im dl dd {
		flex-basis: 77%;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.sibu .txt {
		display: block;
	}
	.sibu .txt .bord {
		border: #c9a965 solid 1px;
		padding: 15px;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.dantai .tab1 li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 20px;
	}
	.dantai .tab1 li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.4rem;
		color: #9d2328;
	}
	.red {
		color: #9d2328;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.about01 {
		display: block;
		padding: 50px 0;
	}
	.title01 {
		display: block;
		color: #9d2328;
		font-size: 3rem;
		line-height: 1.4;
		padding: 20px 35px 18px 35px;
		background: #faf6f0;
		margin-bottom: 40px;
	}
	.title02 {
		display: block;
		font-size: 3rem;
		line-height: 1.4;
		border-bottom: #9d2328 solid 1px;
		padding-bottom: 15px;
		margin-bottom: 25px;
	}
	.mt {
		display: block;
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 50px;
	}
	.sisin {
		display: block;
		border-radius: 10px;
		border: #c9a965 solid 1px;
		padding: 50px;
		margin-bottom: 100px;
	}
	.sisin h3 {
		display: block;
		text-align: center;
		position: relative;
		font-size: 4.2rem;
		letter-spacing: 3px;
		line-height: 1.2;
		padding-bottom: 20px;
		margin-bottom: 22px;
	}
	.sisin h3::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: #9d2328;
		height: 2px;
		width: 90px;
	}
	.sisin dl {
		display: flex;
		align-items: center;
		padding: 24px 12px;
		border-bottom: #e9e6e6 solid 1px;
	}
	.sisin dl dt {
		display: block;
	}
	.sisin dl dt span {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 50px;
		height: 50px;
		font-size: 2.4rem;
		line-height: 1;
		color: #FFF;
		background: #9d2328;
	}
	.sisin dl dd {
		display: block;
		font-size: 2.4rem;
		line-height: 1.2;
		font-weight: bold;
		margin-left: 25px;
	}
	.flex {
		display: flex;
	}
	.daihyou {
		justify-content: space-between;
		margin-bottom: 80px;
	}
	.daihyou figure {
		flex-basis: 35%;
	}
	.daihyou figure img {
		width: 100%;
	}
	.daihyou .txt {
		flex-basis: 60%;
	}
	.daihyou .txt p {
		display: block;
		font-size:2.4rem;
		line-height: 2;
		margin-top: 7px;
		margin-bottom: 50px;
	}
	.daihyou .txt dl {
		display: block;
	}
	.daihyou .txt dt {
		display: block;
		font-size: 2rem;
		line-height: 1;
		margin-bottom: 12px;
	}
	.daihyou .txt dd {
		display: block;
		font-size: 3rem;
		line-height: 1;
		font-weight: bold;
	}
	.daihyou .txt dd small {
		display: block;
		font-weight: normal;
		margin-bottom: 12px;
		font-size: 1.8rem;
	}
	.profs {
		justify-content: space-between;
		margin-bottom: 70px;
	}
	.profs .txt {
		flex-basis: 67%;
	}
	.profs figure {
		flex-basis: 30%;
	}
	.profs figure img {
		width: 100%;
	}
	.profs .txt h4 {
		display: block;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #faf6f0;
		margin-bottom: 15px;
	}
	.tab1 {
		width: 100%;
		border-collapse: collapse;
	}
	.tab1 th {
		text-align: left;
		vertical-align: top;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.6;
		font-weight: bold;
		border-bottom: #f1efef dotted 2px;
		padding: 20px 0;
		width: 14%;
	}
	.tab1 td {
		text-align:left;
		font-size: 1.8rem;
		line-height: 1.6;
		border-bottom: #f1efef dotted 2px;
		padding: 20px 0;
	}
	.title03 {
		display: block;
		position: relative;
		font-size: 2.4rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 42px;
		margin-bottom: 25px;
	}
	.title03::before {
		position: absolute;
		left: 0;
		top: 6px;
		content: "";
		width: 20px;
		height: 20px;
		background: #9d2328
	}
	.sibu {
		display: flex;
		justify-content: space-between;
		margin-bottom: 75px;
	}
	.sibu.ri {
		flex-direction: row-reverse;
	}
	.sibu .im {
		flex-basis:33% ;
	}
	.sibu .im img {
		width: 100%;
	}
	.sibu .im dl {
		display: flex;
		justify-content:space-between;
		margin-top: 20px;
	}
	.sibu .im dl dt {
		flex-basis: 21%;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.sibu .im dl dd {
		flex-basis: 77%;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.sibu .txt {
		flex-basis:64%;
	}
	.sibu .txt .bord {
		border: #c9a965 solid 1px;
		padding: 30px;
		font-size: 1.8rem;
		line-height: 1.9;
	}
	.dantai .tab1 th {
		width: 24%;
	}
	.dantai .tab1 li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 24px;
	}
	.dantai .tab1 li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.8rem;
		color: #9d2328;
	}
	.red {
		color: #9d2328;
	}
}


/* ==================================================
	news
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.news-wrap {
		display: block;
		margin-bottom: 30px;
	}
	.news-one {
		display: block;
		padding: 30px 0;
	}
	.news-one:nth-child(odd) {
		background: #faf6f0;
	}
	.news-one .txt {
		display: block;
	}
	.news-one.noimg .txt {
		display: block;
		float:none;
		clear: both;
		width: 100%;
	}
	.news-one .txt .days {
		display: inline-block;
		border-radius: 3px;
		color: #FFF;
		background: #333;
		line-height: 1;
		font-size: 1.2rem;
		padding: 5px 15px;
		margin-bottom: 10px;
	}
	.news-one .txt h2 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.3;
		padding-bottom: 10px;
		margin-bottom: 15px;
		position: relative;
	}
	.news-one .txt h2 a {
		color: #000;
		text-decoration: none;
	}
	.news-one .txt .txmain {
		display: block;
		font-size: 1.3rem;
		line-height: 1.8;
	}
	.news-one .img-b {
		display: block;
		margin-top: 20px;
	}
	.news-one .img-b img {
		width: 100%;
	}
	.page-np-link {
		display: block;
		text-align: center;
		padding-bottom: 50px;
	}
	.page-np-link li {
		display: inline-block;
		margin: 0 10px;
	}
	.page-np-link li a {
		display: block;
		color: #000;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: bold;
		position: relative;
		text-decoration: none;
		padding: 12px 15px;
		border: #ccc solid 2px;
	}
	.pdf-bt {
		display:block;
	}
	.news-one .pdf-bt {
		margin-top: 25px;
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
	.pdf-bt a {
		display: block;
		position: relative;
		padding: 17px 0;
		background: #039be9;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1;
		text-align: center;
		text-decoration: none !important;
	}
	.pdf-bt a:hover {
		background: #03486b;
	}
	.pdf-bt a::before {
		position:absolute;
		left:14px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../news/images/pdf-256_32_35904.png") left center no-repeat;
		background-size: 100% auto;
		width: 27px;
		height: 50px;
	}
	.center-link {
		display: block;
		padding-top: 30px;
	}
	.center-link ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.center-link ul li {
		flex-basis: 30%;
		margin: 4px 1%;
	}
	.center-link ul a {
		display: block;
		text-align: center;
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
		font-weight: bold;
		padding: 12px 0;
		background: #9d2328;
		color: #FFF;
		border-radius: 3px;
		position: relative;
	}
	.center-link ul li.current a,
	.center-link ul li a:hover{
		background: #444;
	}
	.days-selecter {
		display: block;
		margin: 20px 0;
	}
	.days-selecter dl {
		display: flex;
		align-items: center;
		max-width: 350px;
		padding: 10px;
		border: #EFEFEF solid 2px;
		margin-left: auto;
		margin-right: auto;
	}
	.days-selecter dl dt {
		display: block;
		flex-basis: 45%;
		color: #FFF;
		font-size: 1.4rem;
		font-weight: bold;
		background: #be8407;
		padding: 7px 5px;
		text-align: center;
	}
	.days-selecter dl dd {
		margin-left: 15px;
		flex-basis: 50%;
	}
	.days-selecter dl dd select {
		width: 100%;
		font-size: 1.6rem;
		height: 30px;
		border: #ccc solid 1px;
	}
	.news-one .btn01 {
		max-width: 250px;
		margin-top: 20px;
		margin-left: auto;
		margin-right: auto;
	}
	.news-one .btn01 a {
		padding: 11px 0;
		font-size: 1.4rem;
	}
	.pageings {
		display: block;
		text-align: center;
		margin: 35px 0;
	}
	.pageings li {
		display: inline-block;
		margin: 3px;
	}
	.pageings li a,
	.pageings li span {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items:center;
		width: 35px;
		height: 35px;
		border: #9d2328 solid 1px;
		background: #FFF;
		color: #9d2328;
		text-decoration: none;font-size: 1.5rem;
		line-height: 1;
	}
	.pageings li a:hover {
		background: #9d2328;
		color: #FFF;
	}
	.pageings li span {
		border: #111 solid 1px;
		background: #111;
		color: #FFF;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.news-wrap {
		display: block;
		padding: 0px 0;
	}
	.news-one {
		display: block;
		padding: 30px 0;
		background: #FFF;
	}
	.news-one:nth-child(odd) {
		background: #faf6f0;
	}
	.news-one .fix-1100 {
		display:flex;
		justify-content: space-between;
	}
	.news-one .txt {
		display: block;
		flex-basis: 55%;
	}
	.news-one.noimg .fix-1100 {
		display: block;
	}
	.news-one.noimg .txt {
		display: block;
		float:none;
		clear: both;
		width: 100%;
	}
	.news-one .txt .days {
		display: inline-block;
		border-radius: 3px;
		color: #FFF;
		background: #333;
		line-height: 1;
		font-size: 1.4rem;
		padding: 5px 15px;
		margin-bottom: 10px;
	}
	.news-one .txt h2 {
		display: block;
		font-size: 2.1rem;
		line-height: 1.3;
		padding-bottom: 16px;
		margin-bottom: 20px;
		position: relative;

	}
	.news-one .txt h2 a {
		color: #111;
		text-decoration: none;
	}
	.news-one .txt h2 a:hover {
		text-decoration: underline;
	}
	.news-one .txt h2::before {
		position: absolute;
		left: 0px;
		bottom: -2px;
		content: "";
		width: 23%;
		height: 4px;
		background: url(../images/line02.png) left top repeat-x;
		background-size: auto 100%;
	}
	.news-one .txt .txmain {
		display: block;
		font-size: 1.3rem !important;
		line-height: 1.8;
	}
	.news-one .img-b {
		display: block;
		flex-basis: 37.04%;
		height: 300px;
		background: #f3f3f3;
		border: #ccc solid 1px;
		overflow: hidden;
	}
	.news-one .img-b a {
		height: 300px;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.news-one .img-b a img {
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
		display: inline-block;
	}
	.page-np-link {
		display: block;
		background: #f2f2f2;
		text-align: center;
		padding-bottom: 30px;
		padding-top: 30px;
	}
	.page-np-link li {
		display: block;
		float: left;
	}
	.page-np-link li:nth-child(2) {
		float: right;
	}
	.page-np-link li a {
		display: block;
		border-radius: 3px;
		color: #333;
		font-size: 1.5rem;
		line-height: 1;
		font-weight: bold;
		position: relative;
		text-decoration: none;
		padding-top: 14px;
		padding-bottom: 14px;
		padding-left: 20px;
		padding-right: 20px;
		border: #333 solid 2px;
	}
	.page-np-link li a:hover {
		color: #FFF;
		background: #333;
	}
	.fix-600 {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	.pdf-bt {
		display:block;
	}
	.news-one .pdf-bt {
		margin-top: 25px;
		max-width: 300px;
	}
	.pdf-bt a {
		display: block;
		position: relative;
		padding: 17px 0;
		background: #039be9;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
		text-align: center;
		text-decoration: none !important;
	}
	.pdf-bt a:hover {
		background: #03486b;
	}
	.pdf-bt a::before {
		position:absolute;
		left:14px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../news/images/pdf-256_32_35904.png") left center no-repeat;
		background-size: 100% auto;
		width: 27px;
		height: 50px;
	}
	.news-top {
		display: block;
		padding: 45px 0;
	}
	.center-link {
		display: block;
	}
	.center-link ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.center-link ul li {
		flex-basis: 18%;
		margin: 7px 1%;
	}
	.center-link ul a {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1;
		text-decoration: none;
		font-weight: bold;
		padding: 14px 0;
		background: #9d2328;
		color: #FFF;
		border-radius: 3px;
		position: relative;
	}
	.center-link ul li.current a,
	.center-link ul li a:hover{
		background: #444;
	}
	.days-selecter {
		display: block;
		margin: 35px 0;
	}
	.days-selecter dl {
		display: flex;
		align-items: center;
		max-width: 350px;
		padding: 10px;
		border: #EFEFEF solid 2px;
		margin-left: auto;
		margin-right: auto;
	}
	.days-selecter dl dt {
		display: block;
		flex-basis: 40%;
		color: #FFF;
		font-size: 1.7rem;
		font-weight: bold;
		background: #be8407;
		padding: 7px 5px;
		text-align: center;
	}
	.days-selecter dl dd {
		margin-left: 15px;
		flex-basis: 55%;
	}
	.days-selecter dl dd select {
		width: 100%;
		font-size: 1.6rem;
		height: 30px;
		border: #ccc solid 1px;
	}
	.news-one .btn01 {
		max-width: 300px;
		margin-top: 25px;
	}
	.news-one .btn01 a {
		padding: 11px 0;
		font-size: 1.5rem;
	}
	.pageings {
		display: block;
		text-align: center;
		margin: 35px 0;
	}
	.pageings li {
		display: inline-block;
		margin: 3px;
	}
	.pageings li a,
	.pageings li span {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items:center;
		width: 35px;
		height: 35px;
		border: #9d2328 solid 1px;
		background: #FFF;
		color: #9d2328;
		text-decoration: none;font-size: 1.5rem;
		line-height: 1;
	}
	.pageings li a:hover {
		background: #9d2328;
		color: #FFF;
	}
	.pageings li span {
		border: #111 solid 1px;
		background: #111;
		color: #FFF;
	}
}


/* ==================================================
	news detail
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.news-detail {
		display: block;
		padding: 30px 0;
	}
	.news-detail .tit {
		display: block;
	}
	.news-detail .tit dl {
		/*display: flex;*/
		display: block;
	}
	.news-detail .tit dl dt {
		border-radius: 3px;
		color: #FFF;
		background: #333;
		line-height: 1;
		font-size: 1.4rem;
		padding: 7px 15px;
		margin-bottom: 10px;
	}
	.news-detail .tit dl dd {
		/*margin-left: 20px;*/
	}
	.news-detail .tit dl dd span {
		display: inline-block;
		font-size: 1.3rem;
		padding: 3px 15px;
		border: #333 solid 1px;
		margin-right: 5px;
		margin-bottom: 5px;
	}
	.news-detail .tit dl dd.media span {
		display: inline-block;
		font-size: 1.3rem;
		padding: 3px 15px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		margin-right: 10px;
	}
	.deta-box {
		display: block;
	}
	.deta-box h1 {
		color: #9d2328;
		font-size: 2.6rem;
		letter-spacing: 3px;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	.deta-box h2 {
		display: block;
		color: #9d2328;
		font-size: 2.2rem;
		line-height: 1.4;
		padding: 10px 15px 11px 15px;
		background: #faf6f0;
		margin-bottom: 20px;
	}
	.deta-box h3 {
		display: block;
		font-size: 2.1rem;
		line-height: 1.4;
		border-bottom: #9d2328 solid 1px;
		padding-bottom: 12px;
		margin-bottom: 20px;
	}
	.deta-box h4 {
		display: block;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #faf6f0;
		margin-bottom: 15px;
	}
	.deta-box h5 {
		display: block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 22px;
		margin-bottom: 15px;
	}
	.deta-box h5::before {
		position: absolute;
		left: 0;
		top: 2px;
		content: "";
		width: 14px;
		height: 14px;
		background: #9d2328
	}
	.deta-box p {
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}
	.deta-box ul,
	.deta-box ol {
		margin: 20px 0;
	}
	.deta-box ul li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 24px;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.8rem;
		color: #9d2328;
	}
	.deta-box ol {
		margin-left: 16px;
	}
	.deta-box ol li {
		list-style-type: decimal;
		font-size: 1.4rem;
		line-height: 1.6;
		color: #9d2328;
	}
	.deta-box table {
		border-collapse: collapse;
		border-top: #f1efef dotted 2px;
	}
	.deta-box table th {
		text-align: left;
		vertical-align: top;
		font-weight: bold;
		font-size: 1.4rem;
		line-height: 1.6;
		font-weight: bold;
		border-bottom: #f1efef dotted 2px;
		padding: 13px 2%;
	}
	.deta-box table td {
		text-align:left;
		font-size: 1.4rem;
		line-height: 1.6;
		border-bottom: #f1efef dotted 2px;
		padding: 13px 2%;
	}
	.bg-01 {
		background: #faf6f0;
	}
	.news-gall {
		display: block;
		padding: 30px 0;
		margin-bottom: 25px;
	}
	.news-gall ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.news-gall ul li {
		display: block;
		margin-bottom: 13px;
		flex-basis: 48%;
	}
	.news-gall ul li:nth-child(3n+1) {
		margin-left: 0px;
	}
	.news-gall ul li a {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 130px;
		background: #EFEFEF;
	}
	.news-gall ul li img {
		width: auto !important;
		height: auto !important;
		max-width: 100%;
		max-height: 100%;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.news-detail {
		display: block;
		padding: 50px 0;
	}
	.news-detail .tit {
		display: block;
	}
	.news-detail .tit dl {
		display: flex;
	}
	.news-detail .tit dl dt {
		border-radius: 3px;
		color: #FFF;
		background: #333;
		line-height: 1;
		font-size: 1.4rem;
		padding: 7px 15px;
		margin-bottom: 10px;
	}
	.news-detail .tit dl dd {
		margin-left: 20px;
	}
	.news-detail .tit dl dd span {
		display: inline-block;
		font-size: 1.4rem;
		padding: 3px 15px;
		border: #333 solid 1px;
		margin-right: 10px;
	}
	.news-detail .tit dl dd.media span {
		display: inline-block;
		font-size: 1.4rem;
		padding: 3px 15px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		margin-right: 10px;
	}
	.deta-box {
		display: block;
	}
	.deta-box h1 {
		color: #9d2328;
		font-size: 3.6rem;
		letter-spacing: 3px;
		line-height: 1.2;
		margin-bottom: 35px;
	}
	.deta-box h2 {
		display: block;
		color: #9d2328;
		font-size: 3rem;
		line-height: 1.4;
		padding: 20px 35px 18px 35px;
		background: #faf6f0;
		margin-bottom: 30px;
	}
	.deta-box h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.4;
		border-bottom: #9d2328 solid 1px;
		padding-bottom: 15px;
		margin-bottom: 30px;
	}
	.deta-box h4 {
		display: block;
		text-align: center;
		font-size: 2.4rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #faf6f0;
		margin-bottom: 20px;
	}
	.deta-box h5 {
		display: block;
		position: relative;
		font-size: 2rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 42px;
		margin-bottom: 20px;
	}
	.deta-box h5::before {
		position: absolute;
		left: 0;
		top: 6px;
		content: "";
		width: 20px;
		height: 20px;
		background: #9d2328
	}
	.deta-box p {
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 55px;
	}
	.deta-box ul,
	.deta-box ol {
		margin: 20px 0;
	}
	.deta-box ul li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 24px;
		font-size: 1.7rem;
		line-height: 1.6;
	}
	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.8rem;
		color: #9d2328;
	}
	.deta-box ol {
		margin-left: 16px;
	}
	.deta-box ol li {
		list-style-type: decimal;
		font-size: 1.7rem;
		line-height: 1.6;
		color: #9d2328;
	}
	.deta-box table {
		border-collapse: collapse;
		border-top: #f1efef dotted 2px;
	}
	.deta-box table th {
		text-align: left;
		vertical-align: top;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.6;
		font-weight: bold;
		border-bottom: #f1efef dotted 2px;
		padding: 20px 0;
	}
	.deta-box table td {
		text-align:left;
		font-size: 1.8rem;
		line-height: 1.6;
		border-bottom: #f1efef dotted 2px;
		padding: 20px 0;
	}
	.bg-01 {
		background: #faf6f0;
	}
	.news-gall {
		display: block;
		padding: 50px 0;
	}
	.news-gall ul {
		display: flex;
		flex-wrap: wrap;
	}
	.news-gall ul li {
		display: block;
		margin-bottom: 25px;
		margin-left: 25px;
  		flex-basis: calc((100% - (25px * 3)) / 4 - .01px);
	}
	.news-gall ul li:nth-child(4n+1) {
		margin-left: 0px;
	}
	.news-gall ul li a {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 150px;
		overflow: hidden;
		background: #EFEFEF;
	}
	.news-gall ul li img {
		width: 100%;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
}
.deta-box img {
	width: auto;
	max-width: 100%;
	height: auto;
}


/* ==================================================
	CONTACT
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.contact-top {
		display: block;
		padding-top: 30px;
	}
	.contact-top .fix-1200 {
		display: block;
		background: url(../images/tp4bg.jpg) center center no-repeat;
		background-size: cover;
		padding: 30px 6%;
	}
	.contact-top p {
		display: block;
		font-size: 1.4rem;
		font-weight: bold;
		color: #FFF;
		line-height: 1.8;
	}
	.contact-top b {
		display: block;
		text-align: center;
		font-size: 2rem;
		font-weight: bold;
		color: #FFF;
		line-height: 2;
		margin-top: 14px;
	}
	.contact-top .list {
		margin-top: 25px;
	}
	.contact-top .list li {
		display: block;
		margin: 5px 0;
	}
	.fo-lf {
		display: block;
		margin-bottom: 20px;
	}
	.fo-lf .form-ti {
		background: #EDFBE8;
		padding: 5px 15px;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 5px;
	}
	.subfix1 p {
		font-size: 1.4rem;
		line-height: 1.9;
	}
	.contact-box {
		display: block;
		padding: 35px 0;
	}
	#pp {
		display: block;
	}
	#pp h3 {
		display: block;
		border-bottom: #ccc solid 3px;
		padding: 20px 0;
		margin-bottom: 25px;
		font-size: 2rem;
		line-height: 1.4;
	}
	.txt_mb_area {
		background: #FFF;
		padding: 15px;
		word-break: break-all;
	}
	.contact-box dl h4 {
		display:inline-block;
		font-size: 1.5rem;
		letter-spacing: 2px;
		line-height: 1.5;
		padding: 3px 14px;
		color: #FFF;
		background: #3E9AFF;
		margin-bottom: 6px;
	}
	.medet-box {
		background:#D6FBFC;
		padding: 10px 10px 0px 10px;;
	}
	.medet-box2 {
		padding: 0px 10px 0px 10px;;
	}
	.medet-box ul {
		border-bottom: 0px;
	}
	.txt_mb_area dd li {
		list-style-type:decimal;
		margin-left: 20px;
		margin-bottom: 4px;
	}
	.bord-t {
		border-top: #ccc dotted 1px;
		clear: both;
		float: none;
		width: 90%;
		padding: 10px 2%;
	}
	.btn01.mx-400.mlr-auto {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
	#pp li.no {
		list-style-type: none !important;
	}
	.c-tels {
		display: block;
		border: #EFEFEF solid 4px;
		background: #E8F6F9;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
		margin-bottom: 50px;
		text-align: center;
		padding: 20px;
	}
	.c-tels p {
		display: block;
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 14px;
	}
	.c-tels div {
		font-size: 2.5rem;
		line-height: 0.9;
		font-weight: bold;
	}
	.c-tels div a {
		color: #111;
		text-decoration: none;
	}
	.contact-box {
		padding: 30px 0;
	}
	.bg-01 {
		background: #e9f7fe;
	}
	.mt-cont {
		display: block;
		font-size: 1.4rem;
		line-height: 1.7;
		margin-bottom: 20px;
	}
	.cont-info {
		display:block;
		border: #EFEFEF solid 5px;
		background: #FFF;
		padding: 15px;;
		margin-bottom: 30px;
	}
	.cont-info h3 {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.7;
		margin-bottom: 16px;
		color: #333;
	}
	.cont-info .flex {
		display:block;
	}
	.cont-info .flex .lef {
		display: block;
		margin: 10px 0;
		text-align: center;
	}
	.cont-info .flex .lef b {
		display: inline-block;
		padding: 5px 8px;
		border-radius: 3px;
		background: #222;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
	}
	.cont-info .flex .lef span {
		display: block;
		margin-top: 15px;
		margin-bottom: 6px;
		font-size: 2.8rem;
		line-height: 1;
	}
	.cont-info .flex .lef span a {
		color: #000;
		text-decoration: none;
	}
	.cont-info .flex .lef small {
		display: block;
		font-size: 1.4rem;
		letter-spacing: 1px;
	}
	.cont-txt {
		display:block;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}
	.c-down {
		display: block;
		text-align: center;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;
		background: #f0f0f0;
		padding: 16px 2%;
	}
	.c-down b {
		display:block;
		font-size: 1.3rem;
		line-height: 1.2;
		margin-bottom: 15px;
	}
	.c-down .btn01 {
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
	}
	.w35p {
		width: 35% !important;
	}
	.form_submit_btn {
		padding: 15px 0 !important;
	}
	.caut01 {
		display: block;
		font-weight: bold;
		border: #444 solid 1px;
		padding: 15px 15px;
		margin-bottom: 15px;
		font-size: 1.4rem;
		letter-spacing: 1px;
		line-height: 1.6;
	}
	.dl_table_style select {
		width: 85%;
	}
	.flex-name {
		display: block;
	}
	.flex-name input {
		width: 95%;
		margin-bottom: 8px;
	}
	.bg-02 {
		background: #fcfaf6;
	}
	#pp dl {
		margin-bottom: 40px;
	}
	#pp dt {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 10px;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 8px;
	}
	a.back {
		display: inline-block;
	  width: 100%;
	  margin-top: 25px;
	  padding: 18px 0;
	  border-radius: 5px;
	  background-color: #555;
	  color: #fff;
	  font-size: 1.6rem;
	  transition: all 0.2s ease;
		text-decoration: none;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.contact-top {
		display: block;
		padding-top: 70px;
	}
	.contact-top .fix-1200 {
		display: block;
		padding: 70px 0;
	}
	.contact-top p {
		display: block;
		text-align: center;
		font-size: 1.4rem;
		font-weight:normal;
		color: #FFF;
		line-height: 2;
		margin-left: 7%;
		margin-right: 7%;
	}
	.contact-top b {
		display: block;
		text-align: center;
		font-size: 2.5rem;
		font-weight: bold;
		color: #FFF;
		line-height: 2;
		margin-top: 20px;
		margin-left: 7%;
		margin-right: 7%;
	}
	.contact-top .list {
		max-width: 580px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 35px;
	}
	.contact-top .list li {
		display: block;
		float: left;
		width: 47%;
	}
	.contact-top .list li:nth-child(2) {
		float: right;
	}
	.fo-lf {
		display: block;
		float: left;
		width: 40%;
		margin-right: 5%;
		margin-bottom: 20px;
	}
	.fo-lf .form-ti {
		background: #EDFBE8;
		padding: 5px 15px;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 5px;
	}
	.subfix1 p {
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.contact-box {
		display: block;
		padding: 80px 0 70px 0;
	}
	#pp {
		display: block;
	}
	#pp h3 {
		display: block;
		border-bottom: #ccc solid 3px;
		padding: 20px 0;
		margin-bottom: 25px;
		font-size: 2rem;
		line-height: 1.4;
	}
	.txt_mb_area {
		display: block;
		border: #ccc solid 1px;
		padding: 25px;
		background: #FFF;
	}
	.contact-box dl h4 {
		display:inline-block;
		font-size: 1.6rem;
		letter-spacing: 2px;
		line-height: 1.5;
		padding: 3px 14px;
		color: #FFF;
		background: #3E9AFF;
		margin-bottom: 6px;
	}
	.contact-box .btn_list li {
		display:inline-block;
		margin-right: 20px;
	}
	.contact-box .bord-b1 {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.dl_table_style dt {
		width: 25%;
	}
	.dl_table_style.conf dt {
		width: 25%;
	}
	.txt_mb_area dd li {
		list-style-type:decimal;
		margin-left: 30px;
		margin-bottom: 4px;
	}
	.mx-400 {
		max-width: 400px;
	}
	.mlr-auto {
		margin-left: auto;
		margin-right: auto;
	}
	.medet-box {
		background:#D6FBFC;
		padding: 15px 15px 0px 15px;;
	}
	.medet-box2 {
		padding: 0px 15px 0px 15px;;
	}
	.medet-box ul {
		border-bottom: 0px;
	}
	.consent_txt {
		padding: 14px 0;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.9;
	}
	.bord-t {
		border-top: #ccc dotted 1px;
		clear: both;
		float: none;
		width: 90%;
		padding: 10px 0%;
	}
	#pp li.no {
		list-style-type: none !important;
	}
	.li-num2 li {
		list-style-type: none !important;
		counter-increment: cnt;
		margin-left: 10px !important;
	}
	.li-num2 li::before {
		content: "(" counter(cnt) ") ";
	}
	.c-tels {
		display: block;
		border: #EFEFEF solid 4px;
		background: #E8F6F9;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
		margin-bottom: 50px;
		text-align: center;
		padding: 35px 0;
	}
	.c-tels p {
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 14px;
	}
	.c-tels div {
		font-size: 4.2rem;
		line-height: 0.9;
		font-weight: bold;
	}
	.contact-box {
		padding: 70px 0;
	}
	.bg-01 {
		background: #e9f7fe;
	}
	.mt-cont {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 2.2;
		margin-bottom: 40px;
	}
	.cont-info {
		display:block;
		border: #EFEFEF solid 10px;
		background: #FFF;
		padding: 40px;
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 80px;
	}
	.cont-info h3 {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 2;
		margin-bottom: 30px;
		color: #333;
	}
	.cont-info .flex {
		display: flex;
		justify-content: space-between;
	}
	.cont-info .flex .lef {
		display: block;
		flex-basis: 46%;
		text-align: center;
	}
	.cont-info .flex .lef b {
		display: inline-block;
		padding: 5px 8px;
		border-radius: 3px;
		background: #222;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
	}
	.cont-info .flex .lef span {
		display: block;
		margin-top: 15px;
		margin-bottom: 14px;
		font-size: 4.1rem;
		line-height: 1;
	}
	.cont-info .flex .lef small {
		display: block;
		font-size: 1.4rem;
		letter-spacing: 2px;
	}
	.cont-txt {
		display:block;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 40px;
	}
	.c-down {
		display: block;
		text-align: center;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px;
		background: #f0f0f0;
		padding: 20px 2%;
	}
	.c-down b {
		display:block;
		font-size: 1.5rem;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	.c-down .btn01 {
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
	}
	.w35p {
		width: 35% !important;
	}
	.form_submit_btn {
		padding: 0px 0 !important;
	}
	.caut01 {
		display: block;
		font-weight: bold;
		border: #444 solid 1px;
		padding: 15px 30px;
		margin-bottom: 25px;
		font-size: 1.7rem;
		letter-spacing: 1px;
		line-height: 1.6;
	}
	.dl_table_style select {
		width: 35%;
	}
	.flex-name {
		display: flex;
	}
	.flex-name input {
		width: 35%;
		margin-right: 4%;
	}
	.bg-02 {
		background: #fcfaf6;
	}
	#pp dl {
		margin-bottom: 40px;
	}
	#pp dt {
		font-size: 1.7rem;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 10px;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 8px;
	}
	a.back {
		display: inline-block;
	  width: 400px;
	  margin-top: 25px;
	  padding: 18px 0;
	  border-radius: 5px;
	  background-color: #555;
	  color: #fff;
	  font-size: 1.6rem;
	  transition: all 0.2s ease;
		text-decoration: none;
	}
	a.back:hover {
		background: #222;
	}
}
ul.no li {
	list-style-type: none !important;
}


/* ==================================================
	COLUMN
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.column-list {
		display: block;
		padding: 30px 0;
		margin-top: 25px;
	}
	.column-list .fix-1100 {
		display: block;
	}
	.column-list .one {
		display: block;
		position: relative;
		background: #FFF;
		margin-bottom: 20px;
		flex-basis: 48%;
	}
	.column-list .one .bg {
		display: block;
		padding: 15px;
	}
	.column-list .one figure {
		display: block;
	}
	.column-list .one figure img {
		width: 100%;
	}
	.column-list .one dl {
		display: flex;
		justify-content: space-between;
		padding: 6px 0;
	}
	.column-list .one dt {
		font-size: 1.3rem;
		line-height: 1.5;
		font-weight: bold;
		padding-top: 5px;
	}
	.column-list .one dd {
		display: block;
	}
	.column-list .one dd a {
		background: #9d2328;
		display:inline-block;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
		padding: 4px 7px;
		margin: 3px;
	}
	.column-list .one p {
		display: block;
		overflow: hidden;
		  max-height: 4.9em; /* 3em（行）x line-heightの1.8 */
		  font-size: 14px;
		  line-height: 1.8;
	}
	.column-list .one p.free {
		max-height: none !important;
	}
	.column-list .one p a {
		color: #222;
		text-decoration: none;
	}
	.column-list .one p a:hover {
		text-decoration: underline;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.column-list {
		display: block;
		padding: 50px 0;
	}
	.column-list .fix-1100 {
		display: flex;
		flex-wrap: wrap;
	}
	.column-list .one {
		display: block;
		position: relative;
		background: #FFF;
		margin-bottom: 35px;
		margin-left: 35px;
  		flex-basis: calc((100% - (35px * 2)) / 3 - .01px);
	}
	.column-list .one:nth-child(3n+1) {
		margin-left: 0px;
	}
	.column-list .one .bg {
		display: block;
		padding: 22px;
	}
	.column-list .one figure {
		display: block;
	}
	.column-list .one figure a {
		display:flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 220px;
		background: #EFEFEF;
	}
	.column-list .one figure img {
		width: auto !important;
		height: auto !important;
		max-width: 100% !important;
		max-height: 100% !important;
	}
	.column-list .one dl {
		display: flex;
		justify-content: space-between;
		padding: 10px 0;
	}
	.column-list .one dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		padding-top: 4px;
	}
	.column-list .one dd {
		display: block;
	}
	.column-list .one dd a {
		background: #9d2328;
		display:inline-block;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
		padding: 4px 8px;
		margin: 3px;
	}
	.column-list .one p {
		display: block;
		overflow: hidden;
		  max-height: 5.4em; /* 3em（行）x line-heightの1.8 */
		  font-size: 16px;
		  line-height: 1.8;
	}
	.column-list .one p.free {
		max-height: none !important;
	}
	.column-list .one p a {
		color: #222;
		text-decoration: none;
	}
	.column-list .one p a:hover {
		text-decoration: underline;
	}
}


/* ==================================================
	BOOKS
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.book-top {
		display: block;
		text-align: center;
		padding: 30px 0;
	}
	.book-top .fix-1100 {
		display: block;
		text-align: center;
	}
	.book-top h2 {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		letter-spacing: 2px;
		line-height: 1.5;
		margin-bottom: 12px;
	}
	.book-top b {
		display: inline-block;
		font-size: 1.5rem;
		letter-spacing: 2px;
		line-height: 1.5;
		color: #9d2328;
		padding: 15px 35px;
		border: #facbcd solid 2px;
	}
	.book-list {
		display: block;
		padding: 30px 0;
	}
	.book-list .one {
		background: #FFF;
		padding: 20px;
		position: relative;
		margin-bottom: 30px;
	}
	.book-list .one .lef {
		display: block;
		margin-bottom: 20px;
	}
	.book-list .one .lef figure {
		display:flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		margin-bottom: 25px;
	}
	.book-list .one .lef figure img {
		width: 100%;
		height: auto;
	}
	.book-list .one .btn01 {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 20px;
	}
	.book-list .one .btn01 a {
		padding: 14px 0;
		font-size: 1.4rem;
	}
	.book-list .one .btn01.ca a span {
		position: relative;
		display: inline-block;
	}
	.book-list .one .btn01.ca a span::before {
		position: absolute;
		left: -30px;
		top: 0;
		bottom: 0;
		content: "";
		width: 20px;
		height: 20px;
		background:url("../images/books/cart.png") center center no-repeat;
	}
	.book-list .one .txt {
		display: block;
	}
	.book-list .one .txt .tit {
		display: block;
	}
	.book-list .one .txt .tit b {
		display: block;
		font-size: 1.4rem;
		line-height: 1.3;
		margin-bottom: 9px;
		color: #9d2328;
		letter-spacing: 2px;
	}
	.book-list .one .tit h3 {
		font-size: 1.7rem !important;
	}
	.book-list .one .prc {
		color: #9d2328;
		font-size: 3.1rem;
		font-weight: 400;
		margin-bottom: 10px;
	}
	.book-list .one .tx {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.soldout {
		position: absolute;
		right: 0;
		top: 0;
		background: #be8407;
		color: #111;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1;
		padding: 7px 27px;
		z-index: 5;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.book-top {
		display: block;
		text-align: center;
		padding: 50px 0;
	}
	.book-top .fix-1100 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.book-top h2 {
		display: block;
		text-align: center;
		font-size: 2.6rem;
		letter-spacing: 2px;
		line-height: 1.5;
	}
	.book-top b {
		display: inline-block;
		font-size: 2.2rem;
		letter-spacing: 2px;
		line-height: 1.5;
		color: #9d2328;
		padding: 15px 35px;
		border: #facbcd solid 2px;
	}
	.book-list {
		display: block;
		padding: 50px 0;
	}
	.book-list .one {
		display:flex;
		justify-content: space-between;
		background: #FFF;
		padding: 40px;
		position: relative;
		margin-bottom: 60px;
	}
	.book-list .one .lef {
		flex-basis: 37%;
	}
	.book-list .one .lef figure {
		display:flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		margin-bottom: 25px;
	}
	.book-list .one .lef figure img {
		width: 100%;
		height: auto;
	}
	.book-list .one .btn01 {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
	.book-list .one .btn01 a {
		padding: 14px 0;
		font-size: 1.6rem;
	}
	.book-list .one .btn01.ca a span {
		position: relative;
		display: inline-block;
	}
	.book-list .one .btn01.ca a span::before {
		position: absolute;
		left: -30px;
		top: 0;
		bottom: 0;
		content: "";
		width: 20px;
		height: 20px;
		background:url("../images/books/cart.png") center center no-repeat;
	}
	.book-list .one .txt {
		flex-basis: 59%;
	}
	.book-list .one .txt .tit {
		display: block;
	}
	.book-list .one .txt .tit b {
		font-size: 1.6rem;
		line-height: 1.3;
		margin-bottom: 13px;
		color: #9d2328;
		letter-spacing: 2px;
	}
	.book-list .one .tit h3 {
		font-size: 2.4rem !important;
	}
	.book-list .one .prc {
		color: #9d2328;
		font-size: 3.1rem;
		font-weight: 400;
		margin-bottom: 25px;
	}
	.book-list .one .tx {
		display: block;
		font-size: 1.6rem;
		line-height: 2.1;
	}
	.soldout {
		position: absolute;
		right: 0;
		top: 0;
		background: #be8407;
		color: #111;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1;
		padding: 7px 27px;
		z-index: 5;
	}
}


/* ==================================================
	EVENT
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.event001 {
		display: block;
		padding-top: 35px;
		padding-bottom: 35px;
	}
	.sbk {
		
		background: #f0f0f0;
		padding: 12px 13px;
	}
	.sbk ul {
		display:flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sbk ul li {
		flex-basis: 47%;
		display: block;
		margin: 4px 0px;
	}
	.sbk ul li a {
		display: block;
		text-align: center;
		font-size: 1.3rem;
		line-height: 1.2;
		padding: 8px 10px;
		text-decoration: none;
		background: #FFF;
		color: #9d2328;
		border: #9d2328 solid 1px;
	}
	.sbk ul li a:hover {
		color: #FFF;
		background: #9d2328;
	}
	.event001 .list {
		display: block;
		margin-top: 45px;
	}
	.event001 .list ul {
		display: block;
	}
	.event001 .list ul li {
		padding: 35px 2%;
		outline: #ccc solid 1px;
		position: relative;
		margin-bottom: 55px;
	}
	.event001 .list .prss {
		position: absolute;
		left: 13px;
		top: -20px;
		color: #222;
		font-size: 1.5rem;
		line-height: 1;
		letter-spacing: 3px;
		font-weight: bold;
		padding: 8px 16px;
		background: #c9a965;
	}
	.event001 .list .tit {
		display: block;
		background: #faf6f0;
		padding: 10px 15px;
	}
	.event001 .list .tit h3 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.event001 .list .tit h3 a {
		color: #222;
		text-decoration: none;
	}
	.event001 .list .tit h3 a:hover {
		text-decoration: underline;
	}
	.event001 .list .tit .cat {
		display: block;
		text-align: center;
		padding-top: 5px;
	}
	.event001 .list .tit .cat span {
		display: inline-block;
		margin-right: 5px;
		margin-bottom: 5px;
		padding: 4px 8px;
		font-size: 1.2rem;
		line-height: 1;
		color: #FFF;
		background: #9d2328;
	}
	.event001 .list table {
		width: 100%;
		border-collapse: collapse;
	}
	.event001 .list table th {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		width: 23%;
		font-size: 1.4rem;
		color: #cb7c05;
		border-bottom: #ccc dotted 1px;
	}
	.event001 .list table td {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		font-size: 1.4rem;
		border-bottom: #ccc dotted 1px;
	}
	.event001 .list table .times {
		display: flex;
	}
	.event001 .list table .times p {
		margin-right: 15px;
	}
	.event001 .list .btn01 {
		margin-top: 25px;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.event001 .list .btn01 a {
		font-size: 1.5rem !important;
		padding: 12px 0 10px 0;
	}
	.event-btn {
		display: block;
		background: url("../event/images/bg1.jpg") center center no-repeat;
		background-size: cover;
		padding: 35px 0;
		text-align: center;
		color: #FFF;
		position: relative;
	}
	.event-btn::before {
		position: absolute;
		left: 0;
		top:0;
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.6);
	}
	.event-btn .fix-1100 {
		position: relative;
		z-index: 5;
	}
	.event-btn b {
		display: block;
		margin-bottom: 20px;
		font-size: 1.7rem;
		letter-spacing: 2px;
		line-height: 1.3;
	}
	.event-btn .btn01 {
		max-width: 280px;
		margin-left: auto;
		margin-right: auto;
	}
	.event002 {
		display: block;
		padding: 35px 0;
	}
	.event002 ul {
		display: block;
	}
	.event002 li {
		display: block;
		margin-bottom: 25px;
	}
	.event002 li figure {
		display: block;
	}
	.event002 li figure img {
		width: 100%;
	}
	.event002 li .tit {
		display: flex;
		justify-content: space-between;
		margin-top: 10px;
		padding-bottom: 10px;
		margin-bottom: 10px;
		color: #9d2328;
		border-bottom: #9d2328 dotted 1px;
	}
	.event002 li .tit h3 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.event002 li .tit span {
		display: inline-block;
		margin-left: 7px;
		font-size: 1.2rem;
		line-height: 1.2;
		padding-top: 4px;
		color: #333;
	}
	.event002 li p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.event001 {
		display: block;
		padding-bottom: 70px;
	}
	.sbk {
		display: block;
		background: #f0f0f0;
		padding: 5px 30px;
	}
	.sbk ul {
		display: block;
		text-align: center;
	}
	.sbk ul li {
		display: inline-block;
		margin: 10px 15px;
	}
	.sbk ul li a {
		display: block;
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.2;
		padding: 8px 17px;
		text-decoration: none;
		background: #FFF;
		color: #9d2328;
		border: #9d2328 solid 1px;
	}
	.sbk ul li a:hover {
		color: #FFF;
		background: #9d2328;
	}
	.event001 .list {
		display: block;
		margin-top: 55px;
	}
	.event001 .list ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.event001 .list ul li {
		flex-basis: 44%;
		padding: 35px 2%;
		outline: #ccc solid 1px;
		position: relative;
		margin-bottom: 55px;
	}
	.event001 .list .prss {
		position: absolute;
		left: 13px;
		top: -20px;
		color: #222;
		font-size: 1.7rem;
		line-height: 1;
		letter-spacing: 3px;
		font-weight: bold;
		padding: 8px 16px;
		background: #c9a965;
	}
	.event001 .list .tit {
		display: block;
		background: #faf6f0;
		padding: 10px 25px;
	}
	.event001 .list .tit h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.event001 .list .tit h3 a {
		color: #222;
		text-decoration: none;
	}
	.event001 .list .tit h3 a:hover {
		text-decoration: underline;
	}
	.event001 .list .tit .cat {
		position: absolute;
		right: 0;
		top: 0;
	}
	.event001 .list .tit .cat span {
		display: inline-block;
		font-size: 1.3rem;
		line-height: 1;
		color: #FFF;
		background: #9d2328;
		padding: 6px 10px;
		margin-left: 5px;
	}
	.event001 .list table {
		width: 100%;
		border-collapse: collapse;
	}
	.event001 .list table th {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		width: 23%;
		font-size: 1.5rem;
		color: #cb7c05;
		border-bottom: #ccc dotted 1px;
	}
	.event001 .list table td {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		font-size: 1.5rem;
		border-bottom: #ccc dotted 1px;
	}
	.event001 .list table .times {
		display: flex;
		margin: 0px !important;
		padding: 0px !important;
	}
	.event001 .list table .times p {
		margin-right: 15px;
		line-height: 1.5;
	}
	.event001 .list .btn01 {
		margin-top: 25px;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.event001 .list .btn01 a {
		font-size: 1.5rem !important;
		padding: 12px 0 10px 0;
	}
	.event-btn {
		display: block;
		background: url("../images/events/bg1.jpg") center center no-repeat;
		background-size: cover;
		padding: 65px 0;
		text-align: center;
		color: #FFF;
		position: relative;
	}
	.event-btn::before {
		position: absolute;
		left: 0;
		top:0;
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.6);
	}
	.event-btn .fix-1100 {
		position: relative;
		z-index: 5;
	}
	.event-btn b {
		display: block;
		margin-bottom: 35px;
		font-size: 3.1rem;
		letter-spacing: 3px;
		line-height: 1.3;
	}
	.event-btn .btn01 {
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	.event002 {
		display: block;
		padding: 70px 0;
	}
	.event002 ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.event002 li {
		display: block;
		margin-bottom: 45px;
		margin-left: 35px;
  		flex-basis: calc((100% - (35px * 2)) / 3 - .01px);
	}
	.event002 li:nth-child(3n+1) {
		margin-left: 0px;
	}
	.event002 li figure {
		display: block;
	}
	.event002 li figure img {
		width: 100%;
	}
	.event002 li .tit {
		display: flex;
		justify-content: space-between;
		margin-top: 15px;
		padding-bottom: 15px;
		margin-bottom: 15px;
		color: #9d2328;
		border-bottom: #9d2328 dotted 1px;
	}
	.event002 li .tit h3 {
		display: block;
		font-size: 2rem;
		line-height: 1.5;
	}
	.event002 li .tit span {
		display: inline-block;
		margin-left: 7px;
		font-size: 1.4rem;
		line-height: 1.2;
		padding-top: 8px;
		color: #333;
	}
	.event002 li p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
}


/* ==================================================
	EVENT-PAST
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.past-tx {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.4;
		padding-top: 35px;
	}
	.w220p {
		flex-basis: 220px !important;
	}
	.eve-past {
		padding-top: 35px;
		padding-bottom: 45px;
	}
	.past-list {
		display: block;
		margin-top: 35px;
	}
	table.eve-tab {
		width: 100%;
		border-collapse: collapse;
		border-left: #c9a965 solid 1px;
		border-top: #c9a965 solid 1px;
	}
	table.eve-tab th {
		display: block;
		vertical-align: middle;
		text-align:center;
		font-size: 1.7rem;
		line-height: 2;
		background: #faf6f0;
		border-bottom: #c9a965 solid 1px;
		border-right: #c9a965 solid 1px;
		padding: 14px 1%;
	}
	table.eve-tab td {
		display: block;
		vertical-align: middle;
		font-size: 1.5rem;
		line-height: 2;
		background: #FFF;
		border-bottom: #c9a965 solid 1px;
		border-right: #c9a965 solid 1px;
		padding: 14px 2%;
	}
	table.eve-tab td.cae {
		text-align: center;
		font-weight: bold;
	}
	table.eve-tab td.cae p {
		font-weight: bold !important;
	}
	table.eve-tab td.txs {
		text-align:left;
	}
	table.eve-tab td.txs h4 {
		font-size: 1.7rem;
	}
	table.eve-tab td.txs dl {
		border-top: #ccc dotted 1px;
	}
	table.eve-tab td.txs dt {
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 8px;
		padding: 10px;
		background: #f0f0f0;
	}
	table.eve-tab td.txs dd {
		font-size: 1.5rem;
		line-height: 1.9;
		padding: 10px;
	}
	table.eve-tab td.btt {
		text-align: center;
		vertical-align: middle;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.past-tx {
		display: block;
		text-align: center;
		font-size: 2.1rem;
		line-height: 1.4;
		margin-bottom: 15px;
	}
	.eve-past {
		padding-bottom: 75px;
	}
	.past-list {
		display: block;
		margin-top: 45px;
	}
	table.eve-tab {
		width: 100%;
		border-collapse: collapse;
		border-left: #c9a965 solid 1px;
		border-top: #c9a965 solid 1px;
	}
	table.eve-tab th {
		width: 16%;
		vertical-align: middle;
		text-align: left;
		font-size: 1.5rem;
		line-height: 2;
		background: #faf6f0;
		border-bottom: #c9a965 solid 1px;
		border-right: #c9a965 solid 1px;
		padding: 16px 1%;
	}
	table.eve-tab td {
		vertical-align: middle;
		font-size: 1.5rem;
		line-height: 2;
		background: #FFF;
		border-bottom: #c9a965 solid 1px;
		border-right: #c9a965 solid 1px;
		padding: 16px 2%;
	}
	table.eve-tab td.cae {
		text-align: center;
		width: 17%;
		font-weight: bold;
	}
	table.eve-tab td.cae p {
		font-weight: bold !important;
	}
	table.eve-tab td.txs {
		text-align:left;
	}
	table.eve-tab td.txs h4 {
		font-size: 1.7rem;
		padding-left: 25px;
	}
	table.eve-tab td.txs h4::before {
		top: 0px;
	}
	table.eve-tab td.txs dl {
		display: flex;
		justify-content: space-between;
		padding: 12px 0;
		border-top: #ccc dotted 1px;
	}
	table.eve-tab td.txs dt {
		flex-basis: 13%;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	table.eve-tab td.txs dd {
		flex-basis: 86%;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	table.eve-tab td.btt {
		text-align: center;
		width: 15%;
		vertical-align: middle;
	}
	
}


/* ==================================================
	GALLERY
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.pt70 {
		padding-top: 30px;
	}
	.gallery-box {
		display: block;
		padding-top: 15px;
		margin-bottom: 20px;
	}
	.gallery-box .tit {
		display: block;
		position: relative;
		margin-bottom: 15px;
	}
	.gallery-box .tit p {
		display: block;
		font-size: 1.2rem;
		line-height: 1;
		margin-bottom: 10px;
	}
	.gallery-box .tit h3 {
		display: block;
		font-size: 1.7rem;
	}
	.gallery-box .tit .catb {
		display: block;
	}
	.gallery-box .tit span {
		display: inline-block;
		font-size: 1.2rem;
		line-height: 1;
		padding: 4px 13px;
		margin-right: 8px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		background: #FFF;
	}
	.gallery-box .mt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
	.gallery-box ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.gallery-box ul li {
		margin-bottom: 15px;
		flex-basis: 48%;
	}
	.gallery-box ul li:nth-child(4n+1) {
		margin-left: 0px;
	}
	.gallery-box ul li figure {
		display: block;
	}
	.gallery-box ul li figure a {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 120px;
		background: #EFEFEF;
		overflow: hidden;
	}
	.gallery-box ul li figure a img {
		width: 150%;
		height: auto;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.pt70 {
		padding-top: 40px;
	}
	.gallery-box {
		display: block;
		padding-top: 25px;
		margin-bottom: 30px;
	}
	.gallery-box .tit {
		display: block;
		position: relative;
	}
	.gallery-box .tit p {
		display: block;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 13px;
	}
	.gallery-box .tit h3 {
		display: block;
		padding-right: 140px;
		font-size: 2.3rem;
	}
	.gallery-box .tit .catb {
		position: absolute;
		right: 0;
		top: 26px;
	}
	.gallery-box .tit span {
		display: inline-block;
		font-size: 1.5rem;
		line-height: 1;
		padding: 9px 13px;
		margin-left: 8px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		background: #FFF;
	}
	.gallery-box .mt {
		display: block;
		font-size: 1.6rem;
		line-height: 1.9;
		margin-bottom: 40px;
	}
	.gallery-box ul {
		display: flex;
		flex-wrap: wrap;
	}
	.gallery-box ul li {
		margin-bottom: 25px;
		margin-left: 25px;
  		flex-basis: calc((100% - (25px * 3)) / 4 - .01px);
	}
	.gallery-box ul li:nth-child(4n+1) {
		margin-left: 0px;
	}
	.gallery-box ul li figure {
		display: block;
	}
	.gallery-box ul li figure a {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 180px;
		background: #EFEFEF;
		overflow: hidden;
	}
	.gallery-box ul li figure a img {
		width: 150%;
		height: auto;
	}
}


/* ==================================================
	EVENT-DETAIL
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.free-txt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}
	.detail-tab {
		display: block;
		margin-bottom: 40px;
	}
	.detail-tab table {
		width: 100%;
		border-collapse: collapse;
		border-top: #c9a965 dotted 1px;
	}
	.detail-tab table th {
		display: block;
		text-align: left;
		vertical-align: top;
		padding: 18px 2%;
		font-size: 1.5rem;
		line-height: 2;
		background: #f0f0f0;
	}
	.detail-tab table td {
		display: block;
		text-align: left;
		vertical-align: top;
		padding: 18px 2%;
		font-size: 1.5rem;
		line-height: 2;
		border-bottom: #c9a965 dotted 1px;
	}
	.gro {
		display: inline-block;
		background: #faf6f0;
		padding: 13px;
		/*font-weight: bold;*/
		margin-bottom: 15px;
	}
	.detail-tab table td .btn01 {
		max-width: 260px;
	}
	.detail-tab table td .btn01 a {
		padding: 10px 0 !important;
	}
	.detail-tab table td .btn01 a span {
		font-size: 1.4rem !important;
	}
	.gro2 {
		display: block;
		margin-top: 15px;
	}
	.gro2 p {
		font-size: 1.5rem;
	}
	.btn01.mlr001 {
		display: block;
		margin-top: 35px;
		max-width: 280px;
		margin-left: auto;
		margin-right: auto;
	}
	.detail-tab table td p {
		font-size: 1.5rem;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.free-txt {
		display: block;
		font-size: 1.5rem;
		line-height: 2.1;
		margin-bottom: 45px;
	}
	.detail-tab {
		display: block;
		margin-bottom: 60px;
	}
	.detail-tab table {
		width: 100%;
		border-collapse: collapse;
		border-top: #c9a965 dotted 1px;
	}
	.detail-tab table th {
		text-align: left;
		vertical-align: top;
		padding: 18px 2%;
		font-size: 1.5rem;
		line-height: 2;
		width: 24%;
		background: #f0f0f0;
		border-bottom: #c9a965 dotted 1px;
	}
	.detail-tab table td {
		text-align: left;
		vertical-align: top;
		padding: 18px 2%;
		font-size: 1.5rem;
		line-height: 2;
		border-bottom: #c9a965 dotted 1px;
	}
	.gro {
		display: inline-block;
		background: #faf6f0;
		padding: 13px;
		/*font-weight: bold;*/
		margin-bottom: 15px;
	}
	.detail-tab table td .btn01 {
		max-width: 300px;
	}
	.detail-tab table td .btn01 a {
		padding: 10px 0;
	}
	.detail-tab table td .btn01 a span {
		font-size: 1.5rem;
	}
	.gro2 {
		display: block;
		margin-top: 15px;
	}
	.gro2 p {
		font-size: 1.5rem;
	}
	.btn01.mlr001 {
		display: block;
		margin-top: 35px;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	.detail-tab table td p {
		font-size: 1.5rem;
	}
}


/* ==================================================
	MEMBER
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.member-top {
		display: block;
		padding: 35px 0;
	}
	.mt35 {
		margin-top: 0px;
	}
	.sbk2 {
		display: block;
		background: #f0f0f0;
		padding: 15px;
	}
	.sbk2 ul {
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	.sbk2 ul li {
		flex-basis: 48%;
		margin: 4px 0;
	}
	.sbk2 ul li input[type=radio] {
		display: none;
	}
	.sbk2 ul li label {
		display: block;
		text-align: center;
		background: #FFF;
		padding: 10px 0;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: bold;
		color: #9d2328;
		border: #9d2328 solid 1px;
		cursor: pointer;
	}
	.sbk2 ul li input[type="radio"]:checked + label {
		color: #FFF;background: #9d2328;
	}
	.center-link input[type=radio],
	.center-link input[type=checkbox]{
		display: none;
	}
	.center-link label {
		display: block;
		text-align: center;
		width: 230px;
		padding: 13px 0;
		font-size: 1.6rem;
		line-height: 1;
		font-weight: bold;
		color: #FFF;
		cursor: pointer;
		margin-bottom: 10px;
	}
	.center-link .m-ddy a {
		background: #FFF !important;
		border: #f96b03 solid 1px;
	}
	.center-link .m-ddy label {
		background: #FFF !important;
		border: #f96b03 solid 1px;
		color: #f96b03;
	}
	.center-link .m-eml a {
		background: #069514 !important;
	}
	.center-link .m-eml label {
		background: #FFF !important;
		border: #069514 solid 1px;
		color: #069514;
	}
	.center-link .m-rby label {
		background: #FFF !important;
		border: #9d2328 solid 1px;
		color: #9d2328;
	}
	.center-link .m-ddy input[type="radio"]:checked + label,
	.center-link .m-ddy input[type="checkbox"]:checked + label{
		background: #f96b03 !important;
		color: #FFF;
	}
	.center-link .m-eml input[type="radio"]:checked + label,
	.center-link .m-eml input[type="checkbox"]:checked + label{
		background: #069514 !important;
		color: #FFF;
	}
	.center-link .m-rby input[type="radio"]:checked + label,
	.center-link .m-rby input[type="checkbox"]:checked + label{
		background: #9d2328 !important;
		color: #FFF;
	}
	.center-link .m-ddy a:hover,
	.center-link .m-eml a:hover,
	.center-link .m-rby a:hover {
		background: #111 !important;
	}
	.kyword-base {
		display: block;
		border-radius: 4px;
		background: #f0f0f0;
		padding: 20px 15px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 25px;
	}
	.kyword-base dl {
		display: block;
		text-align: center;
	}
	.kyword-base dl dt {
		margin-bottom: 15px;
		font-size: 1.8rem;
		line-height: 1;
	}
	.sert {
		width: 140px;
		border: #ccc solid 1px;
		height: 35px;
	}
	.sert-bt {
		width: 50px;
		height: 35px;
		border: none;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1;
		background: #000;
		cursor: pointer;
	}
	.member-list {
		display: block;
		padding: 35px 0;
	}
	.member-list ul {
		display: block;
	}
	.member-list li {
		padding: 16px 4%;
		background: #FFF;
		margin-bottom: 40px;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
	}
	.member-list li .flex {
		display: block;
	}
	.member-list li .im {
		display: block;
		margin-bottom: 20px;
	}
	.member-list li figure {
		align-items: center;
		width: 72%;
		margin-left: 14%;
		margin-right: 14%;
	}
	.member-list li figure img {
		width: 100%;
		height: auto;
	}
	.member-list .m-ddy {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #f96b03;
		margin-top: 10px;
	}
	.member-list .m-eml {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #069514;
		margin-top: 10px;
	}
	.member-list .m-rby {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #9d2328;
		margin-top: 10px;
	}
	.member-list li .txt {
		flex-basis:61%;
	}
	.member-list li .txt .ken {
		display: block;
		font-size: 1.5rem;
		line-height: 1;
		color: #9d2328;
		margin-bottom: 10px;
	}
	.member-list li .txt b {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		margin-bottom: 4px;
	}
	.member-list li .txt h3 {
		font-size: 2rem;
	}
	.member-list li .txt dl {
		display: flex;
		justify-content: space-between;
		padding: 10px 2%;
	}
	.member-list li .txt dl:nth-child(2n) {
		background: #f0f0f0;
	}
	.member-list li .txt dl dt {
		flex-basis: 26%;
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.member-list li .txt dl dd {
		flex-basis: 72%;
		font-size: 1.4rem;
		line-height: 1.7;
		word-break: break-all;
	}
	.member-list li .txt .btn01 {
		margin-top: 16px;
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
	.member-list li .txt .btn01 a {
		padding: 10px 0;
	}
	.member-list li .txt .btn01 a span {
		font-size: 1.4rem;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.member-top {
		display: block;
		padding: 70px 0;
	}
	.mt35 {
		margin-top: 35px;
	}
	.sbk2 {
		display: block;
		background: #f0f0f0;
		padding: 30px;
	}
	.sbk2 ul {
		display: flex;
		flex-wrap:wrap;
	}
	.sbk2 ul li {
		flex-basis: 18%;
		margin: 8px 1%;
	}
	.sbk2 ul li input[type=radio],
	.sbk2 ul li input[type=checkbox]{
		display: none;
	}
	.sbk2 ul li label {
		display: block;
		text-align: center;
		background: #FFF;
		padding: 10px 0;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: bold;
		color: #9d2328;
		border: #9d2328 solid 1px;
		cursor: pointer;
	}
	.sbk2 ul li input[type="radio"]:checked + label,
	.sbk2 ul li input[type="checkbox"]:checked + label{
		color: #FFF;background: #9d2328;
	}
	.center-link input[type=radio],
	.center-link input[type=checkbox]{
		display: none;
	}
	.center-link label {
		display: block;
		text-align: center;
		width: 200px;
		padding: 13px 0;
		font-size: 1.6rem;
		line-height: 1;
		font-weight: bold;
		color: #FFF;
		cursor: pointer;
	}
	.center-link .m-ddy a {
		background: #FFF !important;
		border: #f96b03 solid 1px;
	}
	.center-link .m-ddy label {
		background: #FFF !important;
		border: #f96b03 solid 1px;
		color: #f96b03;
	}
	.center-link .m-eml a {
		background: #069514 !important;
	}
	.center-link .m-eml label {
		background: #FFF !important;
		border: #069514 solid 1px;
		color: #069514;
	}
	.center-link .m-rby label {
		background: #FFF !important;
		border: #9d2328 solid 1px;
		color: #9d2328;
	}
	.center-link .m-ddy input[type="radio"]:checked + label,
	.center-link .m-ddy input[type="checkbox"]:checked + label{
		background: #f96b03 !important;
		color: #FFF;
	}
	.center-link .m-eml input[type="radio"]:checked + label,
	.center-link .m-eml input[type="checkbox"]:checked + label{
		background: #069514 !important;
		color: #FFF;
	}
	.center-link .m-rby input[type="radio"]:checked + label,
	.center-link .m-rby input[type="checkbox"]:checked + label{
		background: #9d2328 !important;
		color: #FFF;
	}
	.center-link .m-ddy a:hover,
	.center-link .m-eml a:hover,
	.center-link .m-rby a:hover {
		background: #111 !important;
	}
	.kyword-base {
		display: block;
		max-width: 640px;
		border-radius: 4px;
		background: #f0f0f0;
		padding: 25px 0;
		margin-left: auto;
		margin-right: auto;
		margin-top: 25px;
	}
	.kyword-base dl {
		display: flex;
		align-items: center;
		justify-content:center;
	}
	.kyword-base dl dt {
		margin-right: 20px;
		font-size: 1.8rem;
		line-height: 1;
	}
	.sert {
		width: 200px;
		border: #ccc solid 1px;
		height: 35px;
	}
	.sert-bt {
		width: 70px;
		height: 35px;
		border: none;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
		background: #000;
		cursor: pointer;
	}
	.member-list {
		display: block;
		padding: 70px 0;
	}
	.member-list ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.member-list li {
		flex-basis: 45%;
		padding: 30px 2%;
		background: #FFF;
		margin-bottom: 40px;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
	}
	.member-list li .flex {
		display: flex;
		justify-content: space-between;
	}
	.member-list li .im {
		flex-basis: 35%;
	}
	.member-list li figure {
		display: block;
		align-items: center;
		background: #f0f0f0;
		width: 100%;

	}
	.member-list li figure img {
		width: 100%;
		height: auto;
	}
	.member-list li .m-ddy {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #f96b03;
		margin-top: 10px;
	}
	.member-list li .m-eml {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #069514;
		margin-top: 10px;
	}
	.member-list li .m-rby {
		display: block;
		text-align: center;
		padding: 10px;
		font-size: 1.3rem;
		color: #FFF;
		line-height: 1;
		background: #9d2328;
		margin-top: 10px;
	}
	.member-list li .txt {
		flex-basis:61%;
	}
	.member-list li .txt .ken {
		display: block;
		font-size: 1.5rem;
		line-height: 1;
		color: #9d2328;
		margin-bottom: 10px;
	}
	.member-list li .txt b {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		margin-bottom: 4px;
	}
	.member-list li .txt h3 {
		font-size: 2rem;
	}
	.member-list li .txt dl {
		display: flex;
		justify-content: space-between;
		padding: 10px 2%;
	}
	.member-list li .txt dl:nth-child(2n) {
		background: #f0f0f0;
	}
	.member-list li .txt dl dt {
		flex-basis: 26%;
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.member-list li .txt dl dd {
		flex-basis: 72%;
		font-size: 1.4rem;
		line-height: 1.7;
		word-break: break-all;
	}
	.member-list li .txt .btn01 {
		margin-top: 16px;
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
	.member-list li .txt .btn01 a {
		padding: 10px 0;
	}
	.member-list li .txt .btn01 a span {
		font-size: 1.4rem;
	}
}


/* ==================================================
	MOVIE
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.movlist01 {
		display: block;
		padding: 35px 0;
	}
	.movlist01 .list {
		display: block;
		padding-top: 20px;
	}
	.movlist01 .list ul {
		display: block;
	}
	.movlist01 .list li {
		margin-bottom: 25px;
	}
	.movlist01 .list li .tit {
		display: block;
	}
	.movlist01 .list li .tit a {
		display: inline-block;
		font-size: 1.2rem;
		text-decoration: none;
		line-height: 1;
		padding: 6px 16px;
		margin-right: 15px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		background: #FFF;
	}
	.movlist01 .list li .tit a:hover {
		color: #FFF;
		background: #9d2328;
	}
	.movlist01 .list li .tit h3 {
		display: block;
		font-size: 1.6rem;
		margin: 10px 0;
		line-height: 1.5;
	}
	.ifr2 {
		display: block;
		border: #eee solid 4px;
		position: relative;
		padding-top:56.25%;
	}
	.ifr2 iframe {
		position: absolute;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.movlist01 {
		display: block;
		padding: 70px 0;
	}
	.movlist01 .list {
		display: block;
		padding-top: 40px;
	}
	.movlist01 .list ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.movlist01 .list li {
		flex-basis: 47%;
		margin-bottom: 40px;
	}
	.movlist01 .list li .tit {
		display: block;
	}
	.movlist01 .list li .tit a {
		display: inline-block;
		font-size: 1.3rem;
		text-decoration: none;
		line-height: 1;
		padding: 6px 16px;
		margin-right: 15px;
		color: #9d2328;
		border: #9d2328 solid 1px;
		background: #FFF;
	}
	.movlist01 .list li .tit a:hover {
		color: #FFF;
		background: #9d2328;
	}
	.movlist01 .list li .tit h3 {
		display: block;
		font-size: 1.7rem;
		margin: 15px 0;
		line-height: 1.5;
	}
	.ifr2 {
		display: block;
		border: #eee solid 4px;
		position: relative;
		padding-top:56.25%;
	}
	.ifr2 iframe {
		position: absolute;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
	}
}


/* ==================================================
	BENEFITS
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.benin {
		display: block;
		padding: 35px 0;
	}
	.benin .list {
		display: block;
	}
	.benin .list li {
		padding: 16px 2%;
		background: #FFF;
		outline: #be8407 solid 1px;
		margin-bottom: 24px;
	}
	.benin .list li .flex {
		display: block;
	}
	.benin .list li .flex .im {
		display: block;
		margin-bottom: 20px;
	}
	.benin .list li figure {
		width: 100%;
		height: 180px;
		background: #EFEFEF;
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
	}
	.benin .list li figure img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	.benin .list li .txt {
		flex-basis: 65%;
	}
	.benin .list li .txt h3.title03 {
		font-size: 2rem !important;
		margin-bottom: 10px !important;
		padding-left: 26px !important;
	}
	.benin .list li .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.benin {
		display: block;
		padding: 70px 0;
	}
	.benin .list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.benin .list li {
		flex-basis: 45%;
		padding: 16px 2%;
		background: #FFF;
		outline: #be8407 solid 1px;
		margin-bottom: 30px;
	}
	.benin .list li .flex {
		display: flex;
		justify-content: space-between;
	}
	.benin .list li .flex .im {
		flex-basis: 30%;
	}
	.benin .list li figure {
		width: 100%;
		height: 140px;
		background: #EFEFEF;
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
	}
	.benin .list li figure img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	.benin .list li .txt {
		flex-basis: 65%;
	}
	.benin .list li .txt h3.title03 {
		font-size: 2rem !important;
		margin-bottom: 16px !important;
		padding-left: 26px !important;
	}
	.benin .list li .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
}


/* ==================================================
	application
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.ev-mtx {
		display: block;
		margin-top: 15px;
		margin-bottom: 8px;
		text-align: center;
		font-size: 1.6rem;
		letter-spacing: 2px;
		line-height: 1.2;
	}
	.w22p {
		width: 22% !important;
	}
	.concent-t2 {
		display: block;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.ev-mtx {
		display: block;
		margin-top: 25px;
		margin-bottom: 8px;
		text-align: center;
		font-size: 2rem;
		letter-spacing: 2px;
		line-height: 1.2;
	}
	.w22p {
		width: 22% !important;
	}
	.concent-t2 {
		display: block;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
}
#boxee {
	display: none;
	width: 100% !important;
}
.rri {
	display: none;
}
.jnn {
	display: none;
}
.fo-in {
	margin-bottom: 9px;
}


/* ==================================================
	LAW
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.law-box {
		display: block;
		padding: 35px 0;
	}
	.law-box .mt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
	.law-box table {
		width: 100%;
		border-collapse: collapse;
	}
	.law-box table th {
		display: block;
		text-align: left;
		vertical-align: top;
		padding: 10px 2%;
		font-size: 1.6rem;
		color: #cb7c05;
		background: #f0f0f0;
	}
	.law-box table td {
		display: block;
		text-align: left;
		vertical-align: top;
		padding: 10px 2%;
		font-size: 1.4rem;
		line-height: 1.9;
		border-bottom: #ccc dotted 1px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.law-box {
		display: block;
		padding: 70px 0;
	}
	.law-box .mt {
		display: block;
		font-size: 1.6rem;
		line-height: 1.9;
		margin-bottom: 30px;
	}
	.law-box table {
		width: 100%;
		border-collapse: collapse;
	}
	.law-box table th {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		width: 23%;
		font-size: 1.5rem;
		color: #cb7c05;
		border-bottom: #ccc dotted 1px;
	}
	.law-box table td {
		text-align: left;
		vertical-align: top;
		padding: 10px 0;
		font-size: 1.5rem;
		border-bottom: #ccc dotted 1px;
	}
}
.error {
	display: block;
	margin-top: 5px;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	color: #9d2328;
}


/* ==================================================
	activities
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.act001 {
		display: block;
		padding: 35px 0 0px 0;
	}
	.act002 .ti {
		display: block;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 10px;
		padding-top: 13px;
		margin-bottom: 12px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.act002 .btn01 {
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 15px;
	}
	.act002 .btn01 a {
		font-size: 1.4rem !important;
		padding: 13px 0 !important;
	}
	.act002 .btn01 a span {
		font-size: 1.4rem !important;
	}
	.act003 {
		display: block;
		padding: 35px 0;
	}
	.kaiin-box02 {
		display: block;
		border: #faf6f0 solid 5px;
		background: #FFF;
		position: relative;
		padding: 15px;
		margin-bottom: 25px;
	}
	.kaiin-box02 .tit {
		display: block;
		text-align: center;
		background: #f0f0f0;
		padding: 15px;
		position: relative;
		color: #9d2328;
		margin-bottom: 25px;
	}
	.kaiin-box02 .tit b {
		position: absolute;
		left: 0;
		top: -6px;
		display: flex;
		justify-content: center;
		text-align: center;
		align-items:center;
		width: 50px;
		height: 50px;
		background: #edcdcf;
		border-radius: 7px;
	}
	.kaiin-box02 .tit b img {
		width: 35px;
	}
	.kaiin-box02 .tit h2 {
		display: block;
		margin-left: 40px;
		font-size: 1.8rem;
		letter-spacing: 1px;
		line-height: 1.4;
	}
	.kaiin-box02 .tit span {
		display: block;
		margin-left: 40px;
		padding-top: 5px;
		font-size: 1.3rem;
	}
	.kaiin-box02 .flex {
		display: block;
	}
	.kaiin-box02 .lef {
		flex-basis: 40%;
		margin-bottom: 20px;
	}
	.kaiin-box02 .lef table {
		width: 100%;
		border-collapse: collapse;
		background: #f1f8fc;
	}
	.kaiin-box02 .lef table th {
		text-align:left;
		vertical-align: top;
		padding: 2% 13px;
		font-size: 1.5rem;
		line-height: 1.5;
		border-bottom: #ccc dotted 1px;
		width: 33%;
	}
	.kaiin-box02 .lef table td {
		text-align:left;
		vertical-align: top;
		padding: 2% 13px;
		font-size: 1.5rem;
		line-height: 1.5;
		border-bottom: #ccc dotted 1px;
	}
	.yout {
		display: block;
		padding: 16px 0 15px 0;
	}
	.yout b {
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
		background: #c9a965;
		text-align: center;
		padding: 7px 15px;
		border-radius: 25px;
		color: #FFF;
		line-height: 1;
		margin-bottom: 8px;
	}
	.yout p {
		display: block;
		margin-left: 17px;
		font-size: 1.4rem;
		line-height: 1;
	}
	.kaiin-box02 .ref {
		display: block;
	}
	.kaiin-box02 .ref ul {
		flex-basis: 48%;
	}
	.kaiin-box02 .ref li {
		display: block;
		position: relative;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 8px;
		padding-left: 24px;
	}
	.kaiin-box02 .ref li::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		left: 0px;
		width: 10px;
		height: 5px;
		border-left: 3px solid #c9a965;
		border-bottom: 3px solid #c9a965;
		transform: rotate(-45deg);
	}
	.kaiin-box02 .ref li.kome {
		padding-left: 0px;
	}
	.kaiin-box02 .ref li.kome::after {
		display: none;
	}
	.bottom-btn {
		display: block;
		text-align: center;
		padding-bottom: 25px;
	}
	.bottom-btn li {
		display: block;
		width: 260px;
		margin:7px auto;
	}
	.kaiin-flex02 {
		display: block;
	}
	.kaiin-flex02 .kaiin-box02 {
		flex-basis: 43%;
		padding: 15px;
	}
	.kaiin-flex02 .kaiin-box02 .tit h2,
	.kaiin-flex02 .kaiin-box02 .tit span {
		margin-left:auto;
		margin-right: auto;
	}
	.kaiin-flex02 .kaiin-box02 .flex,
	.kaiin-flex02 .kaiin-box02 .ref{
		display: block;
	}
	.bg-link {
		display: block;
		max-width: 650px;
		margin-left: auto;
		margin-right: auto;
		padding: 20px;
		text-align: center;
		background: #EFEFEF;
	}
	.bg-link p {
		display: block;
		font-size: 1.8rem;
		letter-spacing: 1px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.bg-link .btn01 a::before {
		display: none !important;
	}
	.act004 {
		display: block;
		padding: 35px 0;
	}
	.act004 .flex {
		display: block;
	}
	.act004 .flex .lef {
		flex-basis: 49%;
		margin-bottom: 20px;
	}
	.act004 .flex .lef h3 {
		display: block;

	}
	.act004 .flex .lef li {
		display: block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1.5;
		margin-bottom: 14px;
		padding-left: 24px;
	}
	.act004 .flex .lef li::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		left: 0px;
		width: 10px;
		height: 5px;
		border-left: 3px solid #c9a965;
		border-bottom: 3px solid #c9a965;
		transform: rotate(-45deg);
	}
	.w100p-img {
		display: block;
		margin-bottom: 25px;
	}
	.w100p-img img {
		width: 100%;
	}
	.enkaku {
		display: block;
		padding: 35px 0;
	}
	.enkaku table {
		width: 100%;
		border-collapse: collapse;
		border-top: #555 solid 1px;
	}
	.enkaku table th {
		display: block;
		text-align: left;
		padding: 15px 2%;
		font-size: 1.7rem;
		line-height: 1.6;
		background: #EFEFEF;
		border-bottom: #555 solid 1px;
	}
	.enkaku table td {
		display: block;
		text-align: left;
		padding: 15px 2%;
		font-size: 1.5rem;
		line-height: 1.6;
		border-bottom: #555 solid 1px;
	}
	.enkaku table td dl {
		display:flex;
		justify-content: space-between;
		padding: 12px 0;
		border-bottom: #ccc dotted 1px;
	}
	.enkaku table td dl dt {
		flex-basis: 12%;
		font-weight: bold;
	}
	.enkaku table td dl dd {
		flex-basis: 86%;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.act001 {
		display: block;
		padding: 70px 0 30px 0;
	}
	.act002 .ti {
		display: block;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 10px;
		padding-top: 13px;
		margin-bottom: 12px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.act002 .btn01 {
		max-width: 270px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 15px;
	}
	.act002 .btn01 a {
		font-size: 1.4rem !important;
		padding: 13px 0 !important;
	}
	.act002 .btn01 a span {
		font-size: 1.4rem !important;
	}
	.act003 {
		display: block;
		padding: 70px 0;
	}
	.kaiin-box02 {
		display: block;
		border: #faf6f0 solid 5px;
		background: #FFF;
		position: relative;
		padding: 40px;
		margin-bottom: 45px;
	}
	.kaiin-box02 .tit {
		display:flex;
		background: #f0f0f0;
		padding: 15px;
		position: relative;
		color: #9d2328;
		margin-bottom: 25px;
	}
	.kaiin-box02 .tit b {
		position: absolute;
		left: 0;
		top: -6px;
		display: flex;
		justify-content: center;
		text-align: center;
		align-items:center;
		width: 80px;
		height: 80px;
		background: #edcdcf;
		border-radius: 7px;
	}
	.kaiin-box02 .tit b img {
		width: 60px;
	}
	.kaiin-box02 .tit h2 {
		display: block;
		margin-left: 80px;
		font-size: 2.7rem;
		letter-spacing: 2px;
		line-height: 1.4;
	}
	.kaiin-box02 .tit span {
		margin-left: 20px;
		padding-top: 12px;
		font-size: 1.7rem;
	}
	.kaiin-box02 .flex {
		display: flex;
		justify-content: space-between;
	}
	.kaiin-box02 .lef {
		flex-basis: 40%;
	}
	.kaiin-box02 .lef table {
		width: 100%;
		border-collapse: collapse;
		background: #f1f8fc;
	}
	.kaiin-box02 .lef table th {
		text-align:left;
		vertical-align: top;
		padding: 2% 13px;
		font-size: 1.5rem;
		line-height: 1.5;
		border-bottom: #ccc dotted 1px;
		width: 20%;
	}
	.kaiin-box02 .lef table td {
		text-align:left;
		vertical-align: top;
		padding: 2% 13px;
		font-size: 1.5rem;
		line-height: 1.5;
		border-bottom: #ccc dotted 1px;
	}
	.yout {
		display: flex;
		align-items: center;
		padding: 16px 0;
	}
	.yout b {
		display: block;
		font-size: 1.8rem;
		font-weight: bold;
		background: #c9a965;
		text-align: center;
		padding: 7px 15px;
		border-radius: 25px;
		color: #FFF;
		line-height: 1;
	}
	.yout p {
		display: block;
		margin-left: 17px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.kaiin-box02 .ref {
		flex-basis: 57%;
		display: flex;
		justify-content: space-between;
	}
	.kaiin-box02 .ref ul {
		flex-basis: 48%;
	}
	.kaiin-box02 .ref li {
		display: block;
		position: relative;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 8px;
		padding-left: 24px;
	}
	.kaiin-box02 .ref li::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		left: 0px;
		width: 10px;
		height: 5px;
		border-left: 3px solid #c9a965;
		border-bottom: 3px solid #c9a965;
		transform: rotate(-45deg);
	}
	.kaiin-box02 .ref li.kome {
		padding-left: 0px;
	}
	.kaiin-box02 .ref li.kome::after {
		display: none;
	}
	.bottom-btn {
		display: block;
		text-align: center;
		padding-bottom: 55px;
	}
	.bottom-btn li {
		display: inline-block;
		width: 320px;
		margin: 0 17px;
	}
	.kaiin-flex02 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.kaiin-flex02 .kaiin-box02 {
		flex-basis: 43%;
		padding: 23px;
	}
	.kaiin-flex02 .kaiin-box02 .flex,
	.kaiin-flex02 .kaiin-box02 .ref{
		display: block;
	}
	.bg-link {
		display: block;
		max-width: 650px;
		margin-left: auto;
		margin-right: auto;
		padding: 35px;
		text-align: center;
		background: #EFEFEF;
	}
	.bg-link p {
		display: block;
		font-size: 2.1rem;
		letter-spacing: 1px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.bg-link .btn01 a::before {
		display: none !important;
	}
	.act004 {
		display: block;
		padding: 70px 0;
	}
	.act004 .flex {
		display: flex;
		justify-content: space-between;
		margin: 24px 0;
	}
	.act004 .flex .lef {
		flex-basis: 49%;
	}
	.act004 .flex .lef h3 {
		display: block;
	}
	.act004 .flex .lef li {
		display: block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1.5;
		margin-bottom: 14px;
		padding-left: 24px;
	}
	.act004 .flex .lef li::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		left: 0px;
		width: 10px;
		height: 5px;
		border-left: 3px solid #c9a965;
		border-bottom: 3px solid #c9a965;
		transform: rotate(-45deg);
	}
	.w100p-img {
		display: block;
		margin-bottom: 50px;
	}
	.w100p-img img {
		width: 100%;
	}
	.enkaku {
		display: block;
		padding: 70px 0;
	}
	.enkaku table {
		width: 100%;
		border-collapse: collapse;
		border-top: #555 solid 1px;
	}
	.enkaku table th {
		text-align: left;
		padding: 15px 2%;
		width: 19%;
		font-size: 1.7rem;
		line-height: 1.6;
		background: #EFEFEF;
		border-bottom: #555 solid 1px;
	}
	.enkaku table td {
		text-align: left;
		padding: 15px 2%;
		font-size: 1.5rem;
		line-height: 1.6;
		border-bottom: #555 solid 1px;
	}
	.enkaku table td dl {
		display:flex;
		justify-content: space-between;
		padding: 12px 0;
		border-bottom: #ccc dotted 1px;
	}
	.enkaku table td dl dt {
		flex-basis: 12%;
		font-weight: bold;
	}
	.enkaku table td dl dd {
		flex-basis: 86%;
	}
}


/* ==================================================
	message
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.messe001 {
		display: block;
		padding: 35px 0;
	}
	.messe001 .flex {
		display: block;
	}
	.messe001 .flex figure {
		margin-left: 14%;
		margin-right: 14%;
		margin-bottom: 20px;
	}
	.messe001 .flex figure img {
		width: 100%;
	}
	.messe001 .flex .txt {
		flex-basis: 57%;
	}
	.messe001 .flex .txt h2 {
		display: block;
		font-size: 1.8rem;
		letter-spacing: 2px;
		line-height: 1.9;
		margin-bottom: 15px;
	}
	.messe001 .flex .txt h2 b {
		color: #9d2328;
	}
	.messe001 .flex .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 1px;
	}
	.bg-btn {
		display: block;
		text-align: center;
		padding: 20px;
		border-radius: 5px;
		background: #f0f0f0;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 35px;
	}
	.bg-btn h3 {
		display: block;
		text-align: center;
		font-size: 1.7rem;
		letter-spacing: 1px;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	.bg-btn .bottom-btn {
		padding: 0px;
	}
	.bg-btn .bottom-btn .btn01 {
		width: 230px;
		margin-left: auto;
		margin-right: auto;
	}
	.messe002 {
		display: block;
		padding: 35px 0 0 0 ;
		border-bottom: #EFEFEF solid 3px;
	}
	.messe002 .mt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		letter-spacing: 1px;
		margin-bottom: 20px;
	}
	.messe002 .list {
		display: block;
	}
	.messe002 .list li {
		display: block;
		margin: 8px 0;
	}
	.messe002 .list li img {width: 100%;}
	.messe002 .list span {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
		padding: 8px 0;
		background: #f0f0f0;
	}
	.messe002 .bottom-btn {
		padding-top: 40px;
		padding-bottom: 55px;
	}
	.messe002 .list2 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.messe002 .list2 li {
		text-align: center;
		margin-bottom: 20px;
		flex-basis: 48%;
	}
	.messe002 .list2 li figure {
		padding: 15px;
		outline: #9d2328 solid 2px;
		border-radius: 3px;
	}
	.messe002 .list2 li img {
		width: 100%;
	}
	.messe002 .list2 li span {
		display: block;
		text-align: center;
		margin: 14px 0 0 0;
		font-size: 1.4rem;
		line-height: 1.7;
		color: #111;
	}
	.middle-catch {
		display: block;
		text-align: center;
		padding: 20px;
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 1px;
		background: #faf6f0;
		margin-bottom: 25px;
	}
	.flow001 {
		display: block;
		padding: 35px 0;
		border-top: #EFEFEF solid 3px;
	}
	.flow001 dl {
		display: block;
		position: relative;
		border: #f0f0f0 solid 4px;
		margin-bottom: 45px;
	}
	.flow001 dl::after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: -65px;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 24px;
		height: 24px;
		border: 24px solid transparent;
		border-top: 24px solid #ca9a52;
	}
	.flow001 dl.no::after {
		display: none;
	}
	.flow001 dt {
		background: #faf6f0;
		display: block;
		text-align: center;
		font-size: 2.1rem;
		padding: 13px 0;
		line-height: 1;
		text-align: center;
		position: relative;
		z-index: 5;
	}
	.flow001 dd {
		flex-basis: 75%;
		display: block;
		position: relative;
		padding: 18px;
	}
	.flow001 dd p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.8;
		font-weight: bold !important;
		letter-spacing: 2px;
	}
	.flow001 .bottom-btn {
		padding-top: 22px;
		padding-bottom: 0px;
		margin: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
	.flow001 .bottom-btn .btn01 {
		display: block;
		width: 220px;
		padding: 0px !important;
		margin-left: auto !important;
		margin-right:auto !important;
	}
	.flow001 .bottom-btn .btn01 a {
		padding: 14px 0;
	}
	.flow001 .bottom-btn .btn01 a span {
		font-size: 1.5rem;
	}
	.topbox03 {
		display: block;
		position: relative;
		background: url("../images/tp3-bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 40px 0;
		overflow: hidden;
	}
	.topbox03 .mt {
		display: block;
		text-align: center;
		color: #FFF;
		font-weight: bold !important;
		padding-bottom: 0px;
		margin-bottom: 24px;
	}
	.topbox03 .btns {
		display: block;
		text-align: center;
		margin-top: 0px;
	}
	.topbox03 .btns .btn01 {
		display: inline-block;
		width: 240px;
		margin:0 24px;
	}
	.messe003 {
		display: block;
		padding: 50px 0;
		border-top: #EFEFEF solid 3px;
	}
	.messe003 .bg-btn {
		margin-top: 0px;
	}
	.bottom-mail {
		display: block;
		text-align: center;
		padding: 35px 0;
	}
	.bottom-mail h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.8;
		margin-bottom: 24px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.messe001 {
		display: block;
		padding: 70px 0;
	}
	.messe001 .flex {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	.messe001 .flex figure {
		flex-basis: 38%;
	}
	.messe001 .flex figure img {
		width: 100%;
	}
	.messe001 .flex .txt {
		flex-basis: 57%;
	}
	.messe001 .flex .txt h2 {
		display: block;
		font-size: 3.7rem;
		letter-spacing: 3px;
		line-height: 1.9;
		margin-bottom: 30px;
	}
	.messe001 .flex .txt h2 b {
		color: #9d2328;
	}
	.messe001 .flex .txt p {
		display: block;
		font-size: 1.6rem;
		line-height: 2.2;
		letter-spacing: 2px;
	}
	.bg-btn {
		display: block;
		text-align: center;
		padding: 35px;
		border-radius: 5px;
		background: #f0f0f0;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 45px;
	}
	.bg-btn h3 {
		display: block;
		text-align: center;
		font-size: 2.2rem;
		letter-spacing: 2px;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	.bg-btn .bottom-btn {
		padding: 0px;
	}
	.messe002 {
		display: block;
		padding: 70px 0;
		border-bottom: #EFEFEF solid 3px;
	}
	.messe002 .mt {
		display: block;
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2px;
		margin-bottom: 40px;
	}
	.messe002 .list {
		display: flex;
		justify-content: space-between;
	}
	.messe002 .list li {
		display: block;
		margin-left: 35px;
  		flex-basis: calc((100% - (35px * 2)) / 3 - .01px);
	}
	.messe002 .list li:nth-child(3n+1) {
		margin-left: 0px;
	}
	.messe002 .list li img {width: 100%;}
	.messe002 .list span {
		display: block;
		text-align: center;
		font-size: 1.8rem;
		font-weight: bold;
		padding: 8px 0;
		background: #f0f0f0;
	}
	.messe002 .bottom-btn {
		padding-top: 40px;
		padding-bottom: 55px;
	}
	.messe002 .list2 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.messe002 .list2 li {
		text-align: center;
		margin-bottom: 30px;
		margin-left: 30px;
  		flex-basis: calc((100% - (30px * 5)) / 6 - .01px);
	}
	.messe002 .list2 li:nth-child(6n+1) {
		margin-left: 0px;
	}
	.messe002 .list2 li figure {
		padding: 25px;
		outline: #9d2328 solid 2px;
		border-radius: 3px;
	}
	.messe002 .list2 li img {
		width: 100%;
	}
	.messe002 .list2 li span {
		display: block;
		text-align: center;
		margin: 14px 0 0 0;
		font-size: 1.4rem;
		line-height: 1.7;
		color: #111;
	}
	.middle-catch {
		display: block;
		text-align: center;
		padding: 27px 0;
		font-size: 2.6rem;
		line-height: 1.8;
		letter-spacing: 3px;
		background: #faf6f0;
		margin-bottom: 35px;
	}
	.flow001 {
		display: block;
		padding: 70px 0;
		border-top: #EFEFEF solid 3px;
	}
	.flow001 dl {
		display:flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		border: #f0f0f0 solid 4px;
		margin-bottom: 45px;
	}
	.flow001 dl::before {
		position: absolute;
		left: 0;
		top: 0;
		width:22%;
		height: 100%;
		content: "";
		background: #faf6f0;
	}
	.flow001 dl::after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: -65px;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 24px;
		height: 24px;
		border: 24px solid transparent;
		border-top: 24px solid #ca9a52;
	}
	.flow001 dl.no::after {
		display: none;
	}
	.flow001 dt {
		flex-basis: 22%;
		font-size: 2.1rem;
		line-height: 1;
		text-align: center;
		position: relative;
		z-index: 5;
	}
	.flow001 dd {
		flex-basis: 75%;
		display: block;
		position: relative;
		padding: 18px 0px;
	}
	.flow001 dd p {
		display: block;
		font-size: 1.7rem;
		line-height: 1.8;
		font-weight: bold !important;
		letter-spacing: 2px;
	}
	.flow001 .bottom-btn {
		padding-top: 22px;
		padding-bottom: 0px;
		text-align: left;
	}
	.flow001 .bottom-btn .btn01 a {
		padding: 14px 0;
	}
	.flow001 .bottom-btn .btn01 a span {
		font-size: 1.5rem;
	}
	.topbox03 {
		display: block;
		position: relative;
		background: url("../images/tp3-bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 65px 0;
		overflow: hidden;
	}
	.topbox03 .mt {
		display: block;
		text-align: center;
		color: #FFF;
		font-weight: bold !important;
		padding-bottom: 0px;
		margin-bottom: 24px;
	}
	.topbox03 .btns {
		display: block;
		text-align: center;
		margin-top: 0px;
	}
	.topbox03 .btns .btn01 {
		display: inline-block;
		width: 350px;
		margin:0 24px;
	}
	.messe003 {
		display: block;
		padding: 50px 0;
		border-top: #EFEFEF solid 3px;
	}
	.messe003 .bg-btn {
		margin-top: 0px;
	}
	.bottom-mail {
		display: block;
		text-align: center;
		padding: 35px 0;
	}
	.bottom-mail h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.8;
		margin-bottom: 24px;
	}
}


/* ==================================================
	sponsorship
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.spons001 {
		display: block;
		padding: 35px 0;
		text-align: center;
	}
	.spons001 h2 {
		display: block;
		font-size: 2.2rem;
		letter-spacing: 1px;
		line-height: 1.6;
		margin-bottom: 20px;
		color: #9d2328;
	}
	.spons001 p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.5;
		margin-bottom: 20px;
	}
	.spons001 figure {
		display: block;
	}
	.spons001 figure img {
		width: 100%;
	}
	.spons002 {
		display: block;
		padding: 35px 0;
	}
	.spons-box {
		display: block;
		background: #fcfaf6;
		padding: 15px;
		margin-top: 25px;
	}
	.spons-box .flex {
		display: block;
	}
	.spons-box .flex .one {
		display: block;
		background: #FFF;
		padding: 15px 5%;
		flex-basis: 43%;
		margin-bottom: 25px;
		outline: #c9a965 solid 1px;
	}
	.spons-box .flex .one h4 {
		display: block;
		color: #9d2328;
		padding-left: 15px;
		border-left: #9d2328 solid 3px;
		margin-bottom: 15px;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.spons-box .flex .one p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.spons-box b {
		display: block;
		text-align: center;
		font-size: 2rem;
		letter-spacing: 1px;
		line-height: 1.4;
		color: #9d2328;
	}
	.fs-18 {
		font-size: 1.4rem !important;
	}
	.tui-link {
		display: block;
		padding: 10px 0;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.tui-link a {
		color: #000;
		text-decoration: none;
	}
	.tui-link a:hover {
		text-decoration: underline;
	}
	.flo-cont {
		display: block;
		/*border: #ccc solid 5px;
		background: #EFEFEF;*/
		max-width: 850px;
		margin-left: auto;
		margin-right: auto;
		padding: 20px 15px;
		text-align: center;
	}
	.flo-cont h3 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 15px;
	}
	.flo-cont .btn01 {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.spons001 {
		display: block;
		padding: 70px 0;
		text-align: center;
	}
	.spons001 h2 {
		display: block;
		font-size: 3.6rem;
		letter-spacing: 3px;
		line-height: 1.6;
		margin-bottom: 25px;
		color: #9d2328;
	}
	.spons001 p {
		display: block;
		font-size: 1.6rem;
		line-height: 3;
		margin-bottom: 45px;
	}
	.spons001 figure {
		display: block;
	}
	.spons001 figure img {
		width: 100%;
	}
	.spons002 {
		display: block;
		padding: 70px 0;
	}
	.spons-box {
		display: block;
		background: #fcfaf6;
		padding: 35px;
		margin-top: 45px;
	}
	.spons-box .flex {
		display:flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.spons-box .flex .one {
		display: block;
		background: #FFF;
		padding: 20px 3%;
		flex-basis: 43%;
		margin-bottom: 25px;
		outline: #c9a965 solid 1px;
	}
	.spons-box .flex .one h4 {
		display: block;
		color: #9d2328;
		padding-left: 15px;
		border-left: #9d2328 solid 3px;
		margin-bottom: 15px;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	.spons-box .flex .one p {
		display: block;
		font-size: 1.5rem;
		line-height: 2;
	}
	.spons-box b {
		display: block;
		text-align: center;
		font-size: 2.7rem;
		letter-spacing: 3px;
		line-height: 1.4;
		color: #9d2328;
	}
	.fs-18 {
		font-size: 1.8rem !important;
	}
	.tui-link {
		display:inline-block;
		text-align:center;
		padding: 14px 0;
		font-size: 1.6rem;
		line-height: 1.6;
		margin-right: 22px;
	}
	.tui-link a {
		color: #000;
		text-decoration: none;
	}
	.tui-link a:hover {
		text-decoration: underline;
	}
	.flo-cont {
		display: block;
		/*border: #ccc solid 5px;
		background: #EFEFEF;*/
		max-width: 850px;
		margin-left: auto;
		margin-right: auto;
		padding: 40px 0;
		text-align: center;
	}
	.flo-cont h3 {
		display: block;
		font-size: 2rem;
		line-height: 1.8;
		margin-bottom: 25px;
	}
	.flo-cont .btn01 {
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
	}
}


/* ==================================================
	20211216
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.error_404 {
		display: block;
		padding: 45px 4% 50px 4%;
	}
	.error_404 h1 {
		display: block;
		text-align: center;
		color: #333;
		font-size: 3.3rem;
		line-height: 1;
	}
	.error_404 .sub_title {
		display: block;
		text-align: center;
		margin-top: 20px;
		margin-bottom: 25px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.error_404 .error_message p {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.error_404 .btn_area {
		display: block;
		max-width: 230px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 25px;
	}
	.error_404 .btn_area a {
		display: block;
		text-align: center;
		color: #FFF;
		text-decoration: none !important;
		background: #222;
		padding: 17px 0;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: bold;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.error_404 {
		display: block;
		padding: 95px 0 120px 0;
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.error_404 h1 {
		display: block;
		text-align: center;
		color: #333;
		font-size: 10.3rem;
		line-height: 0.9;
	}
	.error_404 .sub_title {
		display: block;
		text-align: center;
		margin-top: 40px;
		margin-bottom: 35px;
		font-size: 2.1rem;
		line-height: 1.8;
	}
	.error_404 .error_message p {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 2.1;
	}
	.error_404 .btn_area {
		display: block;
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 40px;
	}
	.error_404 .btn_area a {
		display: block;
		text-align: center;
		color: #FFF;
		text-decoration: none !important;
		background: #222;
		padding: 20px 0;
		font-size: 1.6rem;
		line-height: 1;
		font-weight: bold;
	}
}


/* ==================================================
	20220112
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.btn-centers {
		display: block;
		max-width: 270px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 25px;
	}
	.mt-ch {
		display: block;
		margin-top: 4px;
		font-size: 1.2rem;
		line-height: 1.4;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.sibu .im dl.sugawara dt {
		flex-basis: 40%;
	}
	.sibu .im dl.sugawara dd {
		flex-basis: 57%;
	}
	.btn-centers {
		display: block;
		max-width: 370px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 35px;
	}
	.mt-ch {
		display: block;
		margin-top: 4px;
		font-size: 1.4rem;
		line-height: 1.4;
	}
}

