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

/* 基本設定 */

/* ページコンテンツ */

.contents_block {
	max-width: 1000px;
}

.bg_pattern01 {
	/* background-color: #FFFEF2; */
	background-color: #EAE3CA;
}
.bg_pattern02 {
	background: radial-gradient(#482D1D 0%, #3C2313 87.5%);
}
.bg_pattern02 .contents_block ul li,
.bg_pattern02 .contents_block div p {
    color: #FFF;
}
.bg_pattern02 .contents_block .border_box p {
	color: #251C0C;
}
.bg_pattern01:first-of-type {
	padding-top: 120px;
}
.bg_pattern01:last-of-type {
	padding-bottom: 120px;
}
.contents_title .title_img,
.contents_title .title_img p,
.contents_title .title_img img {
	width: 100%;
}
.contents_title .title_img {
	position: relative;
	max-width: 144px;
}
.contents_title .title_img:before {
	content: '';
	position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	display: block;
	width: 120.25px;/*37*/
	height: 22.75px;/*7*/
	background: url(../img/common/title_bg.png) center center no-repeat;
	background-size: contain;
	z-index: 0;
}
.contents_title .title_img p {
	position: relative;
	z-index: 1;
}
.contents_title .title_img img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.contents_block .appeal_text {
	max-width: 668px;
}

/* メッセージ枠 */

#message01.border_box {
	margin: 1.25em auto 0;
}
#message01.border_box p {
	width: 100%;
}
#message01.border_box p.appeal_text {
	font-weight: bold;
}
#message01.border_box p + p {
	margin: .75em auto 0;
}
#message01.border_box .link_button {
	margin: .75em auto 0;
}

/* 各コンテンツ別設定 */

/* ページトップ */

#top,
#top .top_bg,
.top_title,
.top_title h1,
.top_title h1 p img {
	width: 100%;
}
#top {
	overflow: hidden;
}
#top .top_bg,
.top_title {
	display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#top .top_bg {
	position: relative;
	padding-top: 37.75%;
    /*background: url(../img/top/video_layer.png);*/
}
#top .top_bg .top_movie {
	position: absolute;
	width: 100%;
	height: 100%;
    top: 0;
    left: 0;
	z-index: -1;
}
#top .top_bg .top_movie video {
	position: fixed;
	position: absolute;
    top: 50%;
    left: 50%;
	width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	transition: 0.36s ease-out;
	background: #231815;
	object-fit: fill;
	z-index: -100;
}

#top .top_bg .top_movie p {
	color: #FFF;
}
.top_title {
	height: 80px;
	background: #231815;
}
.top_title h1 {
	color: #FFF;
	font-size: 1.8em;
	font-weight: bold;
}
.top_title h1 p.top_logo {
	width: calc(100% - 80px);
	max-width: 64px;
	margin: 0 auto;
}

/* 1369px以下 */
@media all and (max-width: 1419px) {
#top .top_bg {
	padding-top: 56.25%;
}
}

/* 599px以下 */
@media all and (max-width: 599px) {
#top .top_bg {
	padding-top: 100%;
}
}

#about .contents_title {
	margin-bottom: 40px;
}
#about .contents_title + div {
	margin-bottom: 56px;
}
#about .contents_title h2 p,
#about .contents_title + div p {
	text-align: center;
	line-height: 1.75em;
}
#about .contents_title h2 p {
	font-family: 'Noto Serif Japanese', serif, sans-serif;
}

@media all and (max-width: 564px) {
#about .contents_title h2 p,
#about .contents_title + div p {
	text-align: left;
}
#about .contents_title h2 p .br_pc,
#about .contents_title + div p .br_pc {
	display: none;
}
}


#menu_teiban [class^="link_button"],
#contact [class^="link_button"] {
	margin: 12px auto 0;
}

/* メニュー紹介（定番メニュー） */

/*#menu_teiban.contents_block {
	max-width: 1200px;
}*/
#menu_teiban .link_button_02 p a span {
	display: inline-block;
	font-weight: normal;
    font-size: 40px;
    padding: 0 18px 0 0;
}
.item_list,
.item_list li .item_data,
.item_list li .item_data > div,
.item_list li .item_data > div p,
.item_list li .item_data > div p img {
	width: 100%;
}
.item_list {
	display: flex;
	flex-flow: wrap;
    justify-content: center;
    align-items: flex-start;
}
div + .item_list {
	margin: 28px auto 0;
}
.item_list li {
	width: calc(25% - 20px);
}
.item_list li + li {
	margin-left: 20px;
}
.item_list li:nth-child(4n) + li {
	margin-left: 0;
}
.item_list li:nth-child(n + 5) {
	margin-top: 24px;
}
.item_list li .item_data > div + div {
	margin: 10px auto 0;
}
.item_list li .item_data > div p {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}
.item_list li .item_data .item_photo p {
	position: relative;
    background: #fdfbf4;
	border: #482D1D solid 1px;
    padding-top: 100%;
	overflow: hidden;
}
.item_list li .item_data .item_photo p img {
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

/* お問い合わせ */

#contact .ta_center + .flex_center {
	margin-top: 18px;
}
#contact .appeal_text:first-child {
	font-size: 1.25em;
}
#contact .appeal_text:first-child span {
	font-size: .85em;
}
#contact .appeal_text + p {
	margin-top: .5em;
}
#contact .appeal_text + .appeal_text {
	margin-top: .25em;
}
#contact .appeal_text + p a {
	color: #FFF;
	font-weight: bold;
	text-decoration: underline;
}
#contact .appeal_text + p a:hover {
	text-decoration: none;
	opacity: .5;
}

/* アクセス */

#access .type_flex .g-map {
    padding-bottom: 28.125%; /* padding-topでもOK */
}
#access .type_flex .border_box {
	position: relative;
	overflow: hidden;
}
#access .type_flex .border_box:before {
	content: '';
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	display: block;
    width: 180px;
    height: 180px;
	background: url(../img/common/logo_top_wh.png) no-repeat;
	background-size: contain;
	opacity: .5;
}
#access .type_flex .border_box p {
	position: relative;
	max-width: 224px;
}
#access .type_flex .border_box > p:first-of-type {
	font-size: 1.5em;
	margin-bottom: .25em;
}
#access .type_flex .border_box > p:first-of-type span {
	font-size: .75em;
}
#access .type_flex .border_box > p:first-of-type + p {
	margin-top: .25em;
}


/* リストの装飾 */

/* 帯タイトル */

.contents_list li div.list_title {
	background: #999;
	padding-top: 1em;
	padding-bottom: 1em;
}
.contents_list li div.list_title p {
	color: #FFF;
	font-size: 1.15em;
	font-weight: bolder; 
	text-align: center;
	letter-spacing: .1em;
}

/* リスト製テーブル（レスポンシブ） */

.contents_list dl,
.contents_list dt,
.contents_list dd {
	display: flex;
}
.contents_list dt,
.contents_list dd {
    flex-flow: column;
	justify-content: center;
	color: #403019;
	padding-top: 1em;
	padding-bottom: 1em;
}
.contents_list dt {
	width: 30%;
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
	letter-spacing: .1em;
}
.contents_list dd {
	width: 70%;
	padding-left: 40px;
	padding-right: 20px;
	line-height: 2em;
}
.contents_list dd a {
	text-decoration: underline;
	color: #403019;
}
.contents_list dd a:hover {
	text-decoration: none;
}

/* テーブル基本設定 */

div + .contents_list {
	margin-top: 1em;
}
.contents_list > li + li {
	margin-top: 40px;
}
[class^="type_flex"] > li + li {
	margin-top: 0;
}
.contents_list dt {
	font-weight: bold;
	background: #DDD;
	border-left: #999 1px solid;
	border-bottom: #999 1px solid;
}
.contents_list dd {
	background: #FFF;
	border-left: #999 1px solid;
	border-right: #999 1px solid;
	border-bottom: #999 1px solid;
}
.contents_list dl:last-of-type dt,
.contents_list dl:last-of-type dd {
	border-bottom: #999 1px solid;
}

/* 箇条書き - 番号型 */

.contents_list_number > li + li {
	margin-top: .75em;
}
.contents_list_number dt {
	position: relative;
	margin: 0 1em;
	padding-left: 2.5em;
}
.contents_list_number > li dt:before {
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	width: 24px;
	height: 24px;
	color: #FFF;
	background: #333;
	font-size: .95rem;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	line-height: 26px;
	vertical-align: middle;
}
.contents_list_number > li:nth-child(1) dt:before {
	content: '1';
}
.contents_list_number > li:nth-child(2) dt:before {
	content: '2';
}
.contents_list_number > li:nth-child(3) dt:before {
	content: '3';
}
.contents_list_number > li:nth-child(4) dt:before {
	content: '4';
}
.contents_list_number > li:nth-child(5) dt:before {
	content: '5';
}
.contents_list_number > li:nth-child(6) dt:before {
	content: '6';
}
.contents_list_number > li:nth-child(7) dt:before {
	content: '7';
}
.contents_list_number > li:nth-child(8) dt:before {
	content: '8';
}
.contents_list_number > li:nth-child(9) dt:before {
	content: '9';
}
.contents_list_number dd {
	margin-left: 2.75em;
	margin-right: 2em;
	width: 93.5%;
}
.contents_list_number dd div {
	margin-top: 20px;
	margin-bottom: 20px;
}
.contents_list_number dd div p {
	line-height: 1.6em;
}
.contents_list_number dd div ul li p {
	padding-left: 2em;
	text-indent: -2em;
	margin-bottom: .8em;
}
.contents_list_number dd div ul li p:before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	background-color: #333;
	border-radius: 100%;
	vertical-align: middle;
	margin-left: .4em;
	margin-right: 1.2em;
	margin-bottom: .2em;
}

/* ページコンテンツ　ここまで */



/* タブレットサイズ（965px以下） */
@media all and (max-width: 965px) {
.item_list li {
	width: calc(33.333% - 20px);
}
.item_list li + li,
.item_list li:nth-child(4n) + li {
	margin-left: 20px;
}
.item_list li:nth-child(3n) + li {
	margin-left: 0;
}
.item_list li:nth-child(n + 4) {
	margin-top: 24px;
}
#access .type_flex .border_box:before {
    width: 120px;
    height: 120px;
}
}

/* スマホサイズ（759px以下） */
@media all and (max-width: 759px) {
.ps_link_block01 .list_asterisk {
	margin-top: 1em;
}

#message01.border_box .link_button p {
	max-width: 100%;
}

.contents_list dl {
	flex-flow: column;
}
.contents_list dt,
.contents_list dd {
	width: 100%;
	border-left: 0px;
	border-bottom: 0px;
	padding-left: 0px;
	padding-right: 0px;
}
.contents_list dt {
	justify-content: baseline;
}
.contents_list dd {
	text-align: center;
	border-right: 0px;
}

.contents_list dt {
	border-right: #333 1px solid;
}
.contents_list dd {
	border-left: #333 1px solid;
}

.contents_list_number dd {
	width: 97.5%;
    margin-left: .35em;
	margin-right: .35em;
}
.contents_list_number dd div ul li p {
    padding-left: 1.4em;
    text-indent: -1.6em;
}
.contents_list_number dd div ul li p:before {
	margin-right: .8em;
}
.number_round {
    line-height: 24px;
}

.item_list li {
	width: calc(50% - 10px);
	max-width: 260px;
}
.item_list li + li,
.item_list li:nth-child(4n) + li,
.item_list li:nth-child(3n) + li {
	margin-left: 10px;
}
.item_list li:nth-child(2n) + li {
	margin-left: 0;
}
.item_list li:nth-child(n + 3) {
	margin-top: 12px;
}
#access .type_flex .g-map {
    padding-bottom: 56.25%; /* padding-topでもOK */
}
}


