@charset "utf-8";
/*
Theme Name: TAKUHO5
Theme URI: http://takuho.com/
Description: 専用のベーステーマ
Version: 5.0
*/

/* common
---------------------------------------------------------------------------*/
body {
	background-color: #FFFFFF;
	color: #000000;
	font-size: 14px;
	font-family: 'IBM Plex Sans', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

body.noscroll {
	overflow-y: scroll;
	position: fixed;
	width: 100%;
}

::-moz-selection { background: #E6E6E6; color: #000000; }
::selection { background: #E6E6E6; color: #000000; }

p { font-size: 13px; line-height: 1.8; letter-spacing: 0.06em; }
address,i { font-style: normal; }
h1,h2,h3,h4,h5,h6 { line-height: 1.6; }
img { max-width: none; }

.clearfix:after { content: ''; display: block; clear:both; }

body#pc .sp_view { display: none !important; }
body#pc .pc_view { display: block !important; }
body#sp .pc_view { display: none !important; }
body#sp .sp_view { display: block !important; }

/* #loading
------------------------------------*/
#loading {
	display: none;
	opacity: 0;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid rgba(0,0,0,1);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px !important;
	z-index: 99999;
	animation: spin 0.5s infinite linear;
}

@keyframes spin{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); }}

/* txt
-----------------------------------*/
.font-gothic { font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif; }
.font-min { font-family: 'FOT-マティス ProN M', 'MatisseProN-M', '游明朝体', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif; }
.font-min-b { font-family: 'FOT-マティス ProN DB', 'MatisseProN-DB', '游明朝体', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif; }
.font-serif { font-family: 'JoannaNova-Light', sans-serif; }
.font-serif-r { font-family: 'JoannaNova-Regular', sans-serif; }
.font-sans { font-family: 'IBM Plex Sans', sans-serif; }
.font-mix { font-family: 'JoannaNova-Light', 'FOT-マティス ProN M', 'MatisseProN-M', '游明朝体', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif; }

.bold { color: #CA9C72; font-weight: bold; }

/* link
------------------------------------*/
a { color: #000000; text-decoration: none; -webkit-transform: translateZ(0); }
.line { text-decoration: underline; }

/* .btn
------------------------------------*/
.btn-link a,
.btn-link > span {
	box-sizing: border-box;
	display: inline-block;
	background: url(img/share/ico-arrow-right.svg) no-repeat right 2px top 7px;
	background-size: 16px 8px;
	border-bottom: 1px solid #000000;
	padding: 0 30px 4px 0;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.btn-link-l a {
	display: block;
	box-sizing: border-box;
	border: 1px solid #D6D6D6;
	padding: 19px 6px 18px 8px;
	text-align: center;
	line-height: 1.4;
}

.btn-link-l a em {
	display: inline-block;
	padding-right: 10px;
	font-size: 16px;
	letter-spacing: 0.02em;
}

.btn-link-l a strong {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.04em;
	transform: translateY(-1px);
}

/* .nav-link
------------------------------------*/
.nav-link {
	margin-top: 40px;
	padding: 0 6%;
}

.nav-link .btn-link-l {
	margin-bottom: 10px;
}

/* .sns
------------------------------------*/
.sns {
	overflow: hidden;
}

.sns li {
	float: left;
	margin-left: 2px;
}

.sns li a {
	display: block;
	padding: 5px;
}

.sns li a img {
	width: 22px;
	height: 22px;
}

.sns .white {
	display: none;
}


/* .btn-nav
---------------------------------------------------------------------------*/
.btn-nav {
	position: fixed;
	top: 21px;
	right: calc(6% - 8px);
	box-sizing: border-box;
	width: 45px;
	height: 45px;
	z-index: 10000;
}

.btn-nav div,
.btn-nav span {
	display: inline-block;
	box-sizing: border-box;
	transition: all .2s;
}

.btn-nav div {
	position: relative;
	width: 23px;
	height: 17px;
	margin: 14px 0 0 11px;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 1px;
}

.btn-nav span:nth-of-type(1) { top: 0; }
.btn-nav span:nth-of-type(2) { top: 8px; }
.btn-nav span:nth-of-type(3) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span:nth-of-type(1) { transform: translateY(8px) rotate(-45deg); }
.btn-nav.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active span:nth-of-type(3) { transform: translateY(-8px) rotate(45deg); }

@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .nav-sp
------------------------------------*/
.nav-cover {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.2);
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	z-index: 9998;
	opacity: 0;
}

.nav-sp {
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: -81%;
	background: #FFFFFF;
	box-sizing: border-box;
	width: 81%;
	height: 100%;
	z-index: 9999;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.nav-sp .inner {
	overflow-y: scroll;
	position: absolute;
	top: 0;
	left: -81%;
	box-sizing: border-box;
	width: 100%;
	padding: 20% 0 12% 11.5%;
	-webkit-overflow-scrolling: touch;
}

/* .gnav
------------------------------------*/
.nav-sp .gnav > ul > li {
	position: relative;
	font-size: 0;
}

.nav-sp .gnav > ul > li > a,
.nav-sp .gnav > ul > li > span {
	display: block;
	padding: 10px 20px 10px 0;
	font-size: 21px;
	letter-spacing: 0.02em;
}

.nav-sp .gnav > ul > li.font-min > a {
	padding-top: 12px;
	font-size: 16.5px;
	letter-spacing: 0.1em;
}

.nav-sp .gnav .nav-acc {
	position: relative;
}

.nav-sp .gnav .nav-acc i {
	display: block;
	position: absolute;
	top: 15px;
	left: 80px;
	width: 13px;
	height: 13px;
	transition: .2s ease-out;
}

.nav-sp .gnav .nav-acc.active i {
	transform: rotate(225deg);
}

.nav-sp .gnav .nav-acc i:before,
.nav-sp .gnav .nav-acc i:after {
	display: block;
	content: '';
	position: absolute;
	background: #000000;
}

.nav-sp .gnav .nav-acc i:before {
	top: 6px;
	left: 0;
	width: 13px;
	height: 1px;
}

.nav-sp .gnav .nav-acc i:after {
	top: 0;
	left: 6px;
	width: 1px;
	height: 13px;
}

/* .mnav
------------------------------------*/
.nav-sp .mnav {
	display: none;
}

.nav-sp .mnav .mnav-inner {
	padding: 20px 0;
}

.nav-sp .mnav li {
	margin-bottom: 10px;
}

.nav-sp .mnav li a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.nav-sp .mnav li figure {
	overflow: hidden;
	position: relative;
	width: 40px;
	min-width: 40px;
	height: 40px;
}

.nav-sp .mnav li figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: auto;
	height: 100%;
	transform: translateX(-50%);
}

.nav-sp .mnav li div {
	padding-left: 14px;
}

.nav-sp .mnav li em {
	padding-right: 5px;
	font-size: 15px;
	letter-spacing: 0.02em;
}

.nav-sp .mnav li em.let {
	letter-spacing: 0;
}

.nav-sp .mnav li strong {
	font-size: 10px;
	letter-spacing: 0.08em;
}

.nav-sp .mnav li strong.let {
	letter-spacing: 0.04em;
}

.nav-sp .mnav li.li-line {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	margin: -2px 0 20px;
	padding-top: 10px;
	padding-bottom: 20px;
}

.nav-sp .mnav li .update {
	padding-left: 0;
	color: #CA9C72;
	margin-bottom: 9px;
	font-size: 10px;
	letter-spacing: 0.1em;
}

/* .btn-quick
------------------------------------*/
.btn-quick {
	position: absolute;
	top: -40px;
	right: 6%;
	z-index: 2;
	transform-origin: right top;
	transform: scale(0.6);
}

.btn-quick a {
	position: relative;
	display: block;
	width: 196px;
	height: 130px;
}

.btn-quick img {
	display: block;
}

.btn-quick .circle {
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: center center;
	opacity: 0;
}

.btn-quick .circle img {
	animation: btn_quick 6s linear forwards infinite;
	width: 120px;
	height: auto;
}

@keyframes btn_quick {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}

.btn-quick .txt1 {
	position: absolute;
	top: -78px;
	right: -4px;
	opacity: 0;
}

.btn-quick .txt2 {
	position: absolute;
	bottom: 20px;
	right: -5px;
	opacity: 0;
	width: 68px;
	height: auto;
}

/* .sns
------------------------------------*/
.nav-sp .sns {
	margin: 30px 0 0 -8px;
}

/* header
---------------------------------------------------------------------------*/
header {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 27px 6% 24px;
}

body.blog header,
body.question header,
body.contact header,
body.privacy header {
	margin-bottom: 45px;
}

body.store header {
	margin-bottom: 30px;
}

header .logo {
	width: 170px;
	margin-top: 1px;
}

header .logo img {
	width: 100%;
	height: auto;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	overflow: hidden;
	clear: both;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 120px 7% 35px;
}

footer .logo {
	width: 46%;
	margin: 0 auto 45px;
}

footer .logo img {
	width: 100%;
	height: auto;
}

footer .sns {
	float: left;
	margin: 22px 0 0 -10px;
}

footer .fnav {
	float: left;
	margin: 29px 0 0 18px;
}

footer .fnav a {
	display: inline-block;
	border-bottom: 1px solid #000000;
	padding-bottom: 3px;
	color: #000000;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.outline h2 {
	clear: both;
	margin-bottom: 16px;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.outline dl {
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.outline dt {
	clear: both;
	float: left;
	letter-spacing: 0.12em;
}

.outline dt.let {
	letter-spacing: 0.06em;
}

.outline dd {
	position: relative;
	padding: 0 0 5px 75px;
}

.outline dd:last-of-type {
	padding-bottom: 0;
}

.outline dd a {
	display: inline-block;
	text-decoration: underline;
	letter-spacing: 0.02em;
}

.outline dd a.pl {
	padding-left: 8px;
}

.outline dd span {
	padding-left: 8px;
	font-size: 11px;
}

.outline dd .seal {
	display: block;
	position: absolute;
	top: 0;
	left: 236px;
	width: 30px;
	z-index: -1;
}

.outline dd .seal img {
	width: 100%;
	height: auto;
}

footer p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

footer a {
	text-decoration: underline;
}

.footer-jewel {
	display: none;
}

.pagetop {
	position: absolute;
	bottom: 45px;
	right: 7%;
	width: 20px;
	transform: rotate(-90deg) !important;
}

.pagetop img {
	width: 100%;
	height: auto;
}


/* .bnr
---------------------------------------------------------------------------*/
.bnr {
	box-sizing: border-box;
	width: 100%;
	margin: 80px auto -20px;
	padding: 0 6%;
}

body.top .bnr {
	margin: 0 auto 80px;
}

body.bridal .bnr {
	margin-top: 50px;
}

.bnr a {
	display: block;
	margin-bottom: 5px;
}

.bnr a:last-of-type {
	margin-bottom: 0;
}

.bnr a img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
	opacity: 0;
}

/* wrap
------------------------------------*/
.border-wrap {
	border: 1px solid #D9D9D9;
	padding: 22px 26px;
}


/* .img-main
---------------------------------------------------------------------------*/
.img-main {
	width: 100%;
	margin: 0 auto 45px;
}

.img-wide img {
	width: 100%;
	height: auto;
}

/* .slider-main1
------------------------------------*/
.slider-main1 {
	width: 100%;
	margin: 0 auto;
}

.slider-main1 img {
	width: 100%;
	height: auto;
}

/* .slider-main2
------------------------------------*/
.slider-main2 {
	position: relative;
	width: 100%;
	padding-bottom: 50%;
}

.slider-main2 .slick-list {
	overflow: inherit !important;
}

.slider-main2 .slick-track {
	width: 100% !important;
}

.slider-main2 .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	opacity: 1 !important;
}

.slider-main2 .inner:nth-of-type(1) { z-index: 999 !important }
.slider-main2 .inner:nth-of-type(2) { z-index: 998 !important }
.slider-main2 .inner:nth-of-type(3) { z-index: 997 !important }

.slider-main2 .inner.active {
	z-index: 1000 !important;
	opacity: 1 !important;
}

.slider-main2 .inner.end {
	z-index: 1 !important;
	opacity: 1 !important;
}

.slider-main2 .cover {
	overflow: hidden;
	position: absolute;
	top: 0;
	box-sizing: border-box;
	width: 50%;
	padding-top: 50%;
}

.slider-main2 .cover:nth-child(odd) { right: 50%; }
.slider-main2 .cover:nth-child(even) { right: 0; }

.slider-main2 .cover img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: auto;
}


/* .slider-img4
------------------------------------*/
.slider-img4 {
	position: relative;
	width: 100%;
	padding-bottom: 35.6%;
}

.slider-img4 .slick-list {
	overflow: inherit !important;
}

.slider-img4 .slick-track {
	width: 100% !important;
}

.slider-img4 .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	opacity: 1 !important;
}

.slider-img4 .inner:nth-of-type(1) { z-index: 999 !important }
.slider-img4 .inner:nth-of-type(2) { z-index: 998 !important }
.slider-img4 .inner:nth-of-type(3) { z-index: 997 !important }

.slider-img4 .inner.active {
	z-index: 1000 !important;
	opacity: 1 !important;
}

.slider-img4 .inner.end {
	z-index: 1 !important;
	opacity: 1 !important;
}

.slider-img4 .cover {
	overflow: hidden;
	position: absolute;
	top: 0;
	box-sizing: border-box;
	width: 25%;
	padding-top: 35.6%;
}

.slider-img4 .cover:nth-child(1) { right: 75%; }
.slider-img4 .cover:nth-child(2) { right: 50%; }
.slider-img4 .cover:nth-child(3) { right: 25%; }
.slider-img4 .cover:nth-child(4) { right: 0; }

.slider-img4 .cover img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 25vw;
	height: auto;
}

/* .img-center
------------------------------------*/
.img-center {
	width: 100%;
	text-align: center;
}

.img-center img {
	width: 100%;
	height: auto;
}


/* title
---------------------------------------------------------------------------*/
.page-title {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 30px;
	padding: 0 6%;
}

.page-title h1 {
	padding-left: 1px;
	line-height: 1;
}

.page-title h1 em {
	display: block;
	margin: 0 0 15px -1px;
	font-size: 26px;
	letter-spacing: 0.02em;
}

.page-title h1 strong {
	display: block;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.page-title .inner {
	margin: 30px 0 0 2px;
}

.page-title .inner p {
	margin-bottom: 12px;
	text-align: justify;
}

.page-title .inner p:last-of-type {
	margin-bottom: 0;
}

/* .en-title
------------------------------------*/
.en-title {
	display: block;
	margin-bottom: 28px;
	color: #CA9C72;
	font-size: 11px;
	letter-spacing: 0.15em;
}

/* .title-center
------------------------------------*/
.title-center {
	margin-bottom: 50px;
	padding: 0 calc(6% + 5px);
}

.title-center h1 {
	margin-bottom: 12px;
	font-size: 22px;
	letter-spacing: 0.04em;
}

.title-center p {
	text-align: justify;
}

.title-center p br {
	display: none;
}

/* .title-line
------------------------------------*/
.title-line {
	margin: 70px 0 40px;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: 0.06em;
}

.title-line span {
	display: inline-block;
	border-bottom: 1px solid #000000;
}

.title-line:first-of-type {
	margin-top: 0;
}


/* modal
---------------------------------------------------------------------------*/
.modal-wrap {
	display: none;
}

.modal-detail {
	position: fixed;
	top: 0;
	left: 0;
	background: #FFFFFF;
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	text-align: center;
	z-index: 9999;
}

.modal-detail figure {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.modal-detail img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 100%;
	max-height: 100%;
	transform: translate(-50%,-50%);
}

.modal-detail .txt-set {
	position: fixed;
	bottom: 30px;
	left: 30px;
	text-align: left;
	z-index: 2;
}

.modal-detail .txt-set h2 {
	margin-bottom: 13px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.modal-detail .txt-set dl {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.modal-detail .txt-set dt {
	clear: both;
	float: left;
	width: 80px;
}

.modal-detail .txt-set dd {
	padding: 0 0 6px 90px;
	color: #666666;
}

.modal-detail .txt-set dd:last-of-type {
	margin-bottom: 0;
}


/* .nav-jewerly
---------------------------------------------------------------------------*/
.nav-jewerly {
	position: relative;
	margin-top: 120px;
	padding: 0 6%;
}

.nav-jewerly h2 {
	margin-bottom: 18px;
	padding-left: 12px;
	font-size: 20px;
/* 	text-align: center; */
	letter-spacing: 0.04em;
}

.nav-jewerly .list-sp {
	display: none;
}

.nav-jewerly ul {
	overflow: hidden;
}

.nav-jewerly li a {
	display: block;
	background: url(img/share/ico-arrow-right.svg) no-repeat right 14px top 26px;
	background-size: 16px 8px;
	border-bottom: 1px solid #D9D9D9;
	padding: 18px 0 8px 12px;
}

.nav-jewerly li figure {
	display: none;
}

.nav-jewerly li em {
	padding-right: 10px;
	color: #4D4D4D;
	font-size: 20px;
	white-space: nowrap;
}

.nav-jewerly li strong {
	font-size: 11px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.nav-jewerly li strong.let {
	letter-spacing: 0.06em;
}

.nav-jewerly li strong i {
	display: none;
}


/* .pnav
---------------------------------------------------------------------------*/
.pnav {
	overflow: hidden;
	width: 100%;
	margin-top: 80px;
}

.pnav li {
	float: left;
	box-sizing: border-box;
	width: 100%;
	padding: 0 8px;
}

.pnav li a {
	display: block;
}

.pnav figure img {
	width: 100%;
	height: auto;
}

.pnav h2 {
	margin-top: 8px;
}

.pnav h2 em {
	padding-right: 15px;
	color: #727173;
	font-size: 22px;
}

.pnav h2 strong {
	font-size: 15px;
	letter-spacing: 0.15em;
}

.pnav h2 em + strong {
	font-size: 16px;
}

/* .wp-pagenavi
------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin-top: 20px;
	text-align: center;
	font-size: 13px;
}

.wp-pagenavi a {
	display: inline-block;
	border: 1px solid #000000;
	margin: 0 3px 10px;
	padding: 7px 9px;
}

.wp-pagenavi .current {
	background: #000000;
	border: 1px solid #000000;
	margin: 0 3px 10px;
	padding: 5px 10px;
	color: #FFFFFF;
}

.wp-pagenavi .extend {
	display: inline-block;
	margin-bottom: 10px;
	padding: 7px 6px;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	margin-bottom: 10px;
	padding: 7px 5px 7px 6px;
	letter-spacing: 0.02em;
}


/* list
---------------------------------------------------------------------------*/

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 10px 5px;
	padding-left: 15px;
}

.dot-list li:before {
	display: block;
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 18px;
}

.attention-list li:before {
	display: block;
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	font-size: 12px;
	line-height: 1.6;
}

.attention-list li p {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* .link-list
------------------------------------*/
.link-list li {
	float: left;
	margin: 0 15px 15px 0;
}

.link-list li.btn-link a {
	padding-right: 30px;
}

/* .dl-common
------------------------------------*/
.dl-common {
	border-top: 1px solid #DFDFDF;
	line-height: 1.8;
}

.dl-common dt {
	box-sizing: border-box;
	padding: 18px 15px 7px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.dl-common dt.not-dd {
	border-bottom: 1px solid #DFDFDF;
	padding-bottom: 18px;
}

.dl-common dd {
	border-bottom: 1px solid #DFDFDF;
	padding: 0 15px 20px;
}

.dl-common dd p {
	line-height: 1.65;
}

.dl-common dd p br {
	display: none;
}

.dl-common dd p a {
	text-decoration: underline;
}

.dl-common dd .btn-link {
	margin: 12px 0 6px;
}

/* .dl-num
------------------------------------*/
.dl-num {
	padding-left: 40px;
}

.dl-num dt {
	position: relative;
	margin-bottom: 13px;
}

.dl-num i {
	position: absolute;
	top: -1px;
	left: -34px;
	font-size: 17px;
	letter-spacing: 0.15em;
}

.dl-num h3 em {
	display: block;
	margin: 0 0 6px 1px;
	font-size: 10px;
	letter-spacing: 0.15em;
}

.dl-num h3 strong {
	display: block;
	font-size: 18px;
	letter-spacing: 0.08em;
}

.dl-num dt p {
	margin-top: 3px;
	font-size: 11px;
	letter-spacing: 0.13em;
}

.dl-num dd {
	margin-bottom: 38px;
}

.dl-num dd:last-of-type {
	margin-bottom: 0;
}

.dl-num dd p {
	margin-bottom: 10px;
	text-align: justify;
	line-height: 1.7;
}

.dl-num dd p br {
	display: none;
}

.dl-num dd p:last-of-type {
	margin-bottom: 0;
}


/* .content-list
---------------------------------------------------------------------------*/
.content-list {
	box-sizing: border-box;
	padding: 0 6%;
}

.content-list h3 {
	display: inline-block;
	border-bottom: 1px solid #000000;
	margin: 80px 0 35px;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: 0.06em;
}

.content-list h3.title-line {
	border-bottom: none;
}

.content-list h3:first-of-type {
	margin-top: 0;
}

.content-list .inner.prl {
	padding: 0 5px;
}

.content-list .box {
	display: -webkit-box;
	display: flex;
	margin-bottom: 30px;
}

.content-list .box.img-l {
	display: block;
}

.content-list .box:last-of-type {
	margin-bottom: 0;
}

.content-list .box figure {
	width: 120px;
	min-width: 120px;
}

.content-list .box.img-l figure {
	position: static;
	top: inherit;
	left: inherit;
	width: 80%;
	margin: 0 auto;
}

.content-list .box figure img {
	width: 100%;
	height: auto;
}

.content-list .box .txt-set {
	padding: 8px 0 0 22px;
}

.content-list .box .txt-set.line3 {
	padding-top: 0;
}

.content-list .box.img-l .txt-set {
	padding-left: 0;
}

.content-list .box .txt-set h2,
.content-list .box .txt-set h4 {
	min-height: 85px;
	margin-bottom: 20px;
}

.content-list .box .txt-set h4.size-l {
	min-height: auto;
	margin: 20px 0 15px;
	padding-right: 0;
	text-align: center;
}

.content-list .box .txt-set h2 em,
.content-list .box .txt-set h4 em {
	margin: 0 0 8px 1px;
	font-size: 10px;
	letter-spacing: 0.15em;
}

.content-list .box .txt-set h2 strong,
.content-list .box .txt-set h4 strong {
	display: block;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.content-list .box .txt-set.line3 h2 strong,
.content-list .box .txt-set.line3 h4 strong {
	margin-top: -2px;
	line-height: 1.5;
}

.content-list .box .txt-set h2.size-l strong,
.content-list .box .txt-set h4.size-l strong {
	font-size: 17px;
	letter-spacing: 0.1em;
}

.content-list .box .txt-set p {
	margin: 0 0 8px -142px;
	text-align: justify;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

.content-list .box.img-l .txt-set p {
	margin-left: 0;
}

.content-list .box .txt-set p br {
	display: none;
}

.content-list .box .txt-set p i {
	display: inline-block;
	font-size: 10px;
	transform: translateY(-4px);
}

.content-list .box .txt-set .btn-link {
	margin: 16px 0 12px -142px;
}

.content-list .box .txt-set .btn-link a {
	border-color: #979797;
	width: 100%;
	padding-left: 2px;
}

/* line
---------------------------------------------------------------------------*/
.line-dot {
	background: url(img/share/line-dot.svg) repeat-x left bottom;
	background-size: 5px 1px;
}


/* .blog-list
---------------------------------------------------------------------------*/
.blog-list {
	overflow: hidden;
}

.blog-list article {
	float: left;
	width: 46.5%;
	margin: 0 7% 9% 0;
}

.blog-list article:nth-of-type(2n) {
	margin-right: 0;
}

.blog-list figure {
	margin-bottom: 14px;
}

.blog-list figure a {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 67.5%;
}

.blog-list figure img {
	display: block;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.blog-list .inner {
	position: relative;
}

.blog-list time {
	display: inline-block;
	margin: 0 6px 2px 0;
	color: #CA9C72;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.blog-list .sticky time {
	display: none;
}

.blog-list .category {
	display: inline-block;
	margin-bottom: 2px;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.blog-list .category a {
	position: relative;
	display: inline-block;
	margin-right: 7px;
	color: #CA9C72;
}

.blog-list .category a:last-of-type {
	margin-right: 0;
}

.blog-list .category a:after {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	right: -8px;
	color: #CA9C72;
}

.blog-list .category a:last-of-type:after {
	display: none;
}

.blog-list h2 {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}


/* .sec-access
---------------------------------------------------------------------------*/
.sec-access #gMap {
	width: 100%;
	height: 400px;
}

.sec-access .btn-link {
	margin-top: 35px;
}

.sec-access .btn-link a {
	width: 100%;
	font-size: 15px;
}


/* custom select
---------------------------------------------------------------------------*/

/* blog
------------------------------------*/
.btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 100%;
	transform-origin: right top;
}

.btn-set .btn-select {
	width: calc(50% - 6px);
	margin-left: 8px;
}

.btn-select:first-of-type {
	margin-left: 0;
}

.btn-select .customSelect {
	overflow: hidden;
	display: block;
	box-sizing: border-box;
	border: 1px solid #AAAAAA;
	border-radius: 3px;
	width: 100%;
	padding: 9px 15px 8px;
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.04em;
}

.btn-select .customSelect .customSelectInner {
	width: 100% !important;
}

/* contact
------------------------------------*/
.contact-area .td-select {
	position: relative;
}

.contact-area select {
	display: block;
	position: relative;
	border: none;
	width: 100%;
	height: 48px;
	z-index: 1;
}

.contact-area .customSelect {
	position: relative;
	display: block !important;
	box-sizing: border-box;
	background: #F0F0F0;
	width: 100%;
	height: 48px;
	margin-bottom: 10px;
	padding: 18px 15px 0;
	font-size: 16px;
	line-height: 1;
}

.contact-area .customSelect:before {
	display: block;
	content: '';
	position: absolute;
	top: 20px;
	right: 25px;
	background: url(img/share/ico-arrow-btm.svg) no-repeat;
	background-size: 10px 9px;
	width: 10px;
	height: 9px;
}

.contact-area .customSelect .customSelectInner {
	color: #9B9B9B;
	width: 100% !important;
}

.contact-area .customSelect.customSelectChanged .customSelectInner {
	color: #000000;
}


/* .movie
---------------------------------------------------------------------------*/
.movie {
	position: relative;
	width: 100%;
	height: 0;
	padding: 0 0 56.25%;
	transition: .2s linear;
}

.movie iframe,
.movie .iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.movie-cover {
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(img/share/img-movie.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.movie-bg,
.movie-close {
	display: none;
	position: fixed;
	opacity: 0;
}

.movie-bg {
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	z-index: 10000;
}

.movie-close {
	top: 35px;
	left: 25px;
	font-size: 18px;
	letter-spacing: 0.08em;
	z-index: 10002;
	transition: .15s ease-out;
}


/* .grecaptcha-badge
---------------------------------------------------------------------------*/
.grecaptcha-badge {
	pointer-events: none;
	z-index: -999;
	opacity: 0;
}

body.contact .grecaptcha-badge {
	pointer-events: auto;
	z-index: 0;
	opacity: 1;
}