@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');
/*====================================================
	Common
====================================================*/
html {
	height: 100%;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	height: 100%;
}

.tp-font--medium {
	font-size: 1.8rem;
}

.tp-text--bold {
	font-weight: bold;
}

.tp-text--center {
	margin-top: 16px;
	text-align: center;
}

.tp-fontcolor--accent {
	color: #CF3F50;
}

/* Container */
.tp-container {
	background: #fff;
	color: #303030;
	font-size: 1.4rem;
	line-height: 1;
	height: 100%;
}

.tp-bottom--fixed {
	padding-bottom: 88px;
	padding-bottom: calc(constant(safe-area-inset-bottom) + 88px);
	padding-bottom: calc(env(safe-area-inset-bottom) + 88px);
}

.tp-sectionTitleBox {
	margin-bottom: 30px;
	text-align: center;
}

.tp-sectionTitle {
	margin: 0 auto 10px;
	text-align: center;
}

.tp-sectionTitle span {
	font-size: 2.7rem;
	font-family: 'Shippori Mincho', serif;
	letter-spacing: -0.08em;
}

.tp-sectionTitle--feature {
	color: #fff;
}

.tp-sectionTitle--howto {
	color: #7E4542;
}

.tp-sectionTitle--safety {
	color: #F26D6D;
}

.tp-sectionTitle--report{
	color: #BB5345;
}

.tp-sectionTitle img {
	display: block;
	width: 150px;
	height: 42px;
	margin: 5px  auto 0;
}

@media screen and (max-width: 320px) {
	.tp-sectionTitle span {
		font-size: 2.4rem;
	}
}

.tp-sectionDesc {
	font-size: 1.5rem;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	margin-bottom: 25px;
	font-weight: normal;
}

.tp-sectionDesc--howto {
	color: #303030;
}

/* 表示・非表示 アニメーション */
.tp-fadeItem {
	opacity: 1;
	transition: opacity .4s;
}

.tp-fadeItem.tp-fadeOut {
	opacity: 0;
	height: 0;
	pointer-events: none;
}

/*----------------------
   ストアリンク
----------------------*/
.tp-storelink  a {
	background: #f7efec;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 10px;
	height: 50px;
	width: 100%;
	transition: opacity .2s;
	padding-left: calc(constant(safe-area-inset-left) + 10px);
	padding-left: calc(env(safe-area-inset-left) + 10px);
	padding-right: calc(constant(safe-area-inset-right) + 10px);
	padding-right: calc(env(safe-area-inset-right) + 10px);
}

.tp-storelink__icon img {
	display: block;
	width: 36px;
}

.tp-storelink__text {
	box-sizing: border-box;
	color: #303030;
	line-height: 1.5;
	margin-top: .1em;
	padding: 0 8px;
	overflow: hidden;
	width: 100%;
}

.tp-storelink__text--caption {
	font-size: 1.3rem;
	font-weight: 700;
}

.tp-storelink__text--title {
	font-size: 1.1rem;
	font-weight: 500;
	color: #924A46;
}

.tp-storelink__btn {
	flex-shrink: 0;
	background: #924A46;
	border-radius: 14px;
	color: #fff;
	font-size: 1.0rem;
	font-weight: bold;
	line-height: 28px;
	padding: 0 13px;
	height: 27px;
}

.tp-storelink a.hover {
	opacity: .8;
}

/* 4inch */
@media (max-width: 350px) {
	.tp-storelink__text--caption {
		font-size: 1.1rem;
	}
	.tp-storelink__text--caption {
		font-size: 1.1rem;
	}
	.tp-sectionDesc {
		font-size: 1.3rem;
		line-height: 1.6;
	}
}


/*----------------------
   CTA
----------------------*/
.tp-ctaContainer {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0 30px;
}

.tp-ctaContainer--pian {
	margin: 60px 0 0;
}

.tp-ctaContainer__menu {
	padding-top: 30px;
}

.tp-cta-btn__catch--white {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 14px;
}

.tp-ctaLogo--hd {
	position: relative;
	max-width: 1200px;
	margin: auto;
	height: 770px;
	display: flex;
	align-items: center;
}

/* 登録ボタン 構造 */
.tp-cta__btn {
	border-radius: 28px;
	height:56px;
	width: 100%;
	min-width: 270px;
}

.tp-cta__btn a {
	border-radius: 28px;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transition: all .2s cubic-bezier(.17,.67,.83,.47);
	height: 56px;
	width: 100%;
}

/* 下部登録ボタン 構造 */
.tp-cta__btn--footer {
	border-radius: 27px;
	height: 54px;
	width: 83%;
	min-width: 290px;
}

.tp-cta__btn--footer a {
	border-radius: 30px;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transition: all .2s cubic-bezier(.17,.67,.83,.47);
	height: 54px;
	width: 100%;
}

/* 通常登録ボタン スキン */
.tp-btn__start {
	background: #F26D6D;
}

.tp-btn__start a {
	background:#F26D6D;
	font-size: 1.8rem;
}

.tp-btn__start a.hover {
	background:#E15757;
}

.tp-btn__start p {
	line-height: 18px;
	padding-bottom: 2px;
}

/* FB登録ボタン スキン */
.tp-btn__fb {
	background: #5384C2;
}

.tp-btn__fb a {
	background:#5384C2;
	font-size: 1.5rem;
}

.tp-btn__fb span {
	font-size: 1.0rem;
	padding-top: 7px;
	margin-bottom: -2px;
	font-weight: normal;
}

.tp-btn__fb a.hover {
	background:#2E5E9A;
}

/* LINE登録ボタン スキン */
.tp-btn__line {
	background: #06C755;
	font-size: 1.5rem;
}

.tp-btn__line a{
	background: #06C755;
	font-size: 1.5rem;
}

.tp-btn__line a.hover {
	background:#048B3C;
}

/* 下部登録ボタン シャドウ */
.tp-btn__shadow a {
	box-shadow: 0 4px 12px rgba(126, 69, 66, .2), inset 0 0 2px 0 rgba(126, 69, 66, .1);
}

.tp-btn__shadow a.hover {
	box-shadow: 0 2px 6px rgba(126, 69, 66, .4);
}

/* ログインボタン スキン */
.tp-cta__login a {
   background: #fff;
	color: rgba(48, 48, 48, .75);
	font-size: 1.8rem;
}

.tp-cta__login a.hover {
	background: #efefef;
}

.tp-cta__login span {
	font-size: 1.3rem;
	font-weight: normal;
	margin: 0 13px 0 0;
	vertical-align:2px;
}

/* 注釈 */
.tp-cta__desc {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	padding: 23px 0 0;
}

/* ストアバッジ */
.tp-cta__store_badge {
   display: flex;
   justify-content: center;
   width: 272px;
}

.tp-cta__store_badge img {
   display: block;
   height: 40px;
   width: 127px;
}

.tp-cta__store_badge a {
   transition: all .2s cubic-bezier(.17,.67,.83,.47);
}

.tp-cta__store_badge a + a {
   margin-left: 15px;
}

.tp-cta__store_badge a.hover {
   opacity: .7;
}

/* ボタン同士のマージン */
.tp-ctaContainer .tp-cta__btn,
.tp-ctaContainer .tp-cta__desc {
   margin-bottom: 15px;
}

.tp-ctaContainer .tp-cta__login {
   margin-bottom: 20px;
}

/* スクロール下部固定 */
.tp-ctaContainer--fixed {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	position: fixed;
	bottom: 0;
	padding-bottom: constant(safe-area-inset-bottom);
	padding-bottom: env(safe-area-inset-bottom);
	height: 75px;
	width: 100%;
	z-index: 999;
	background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
}

.tp-ctaContainer--fixed.tp-fadeItem.tp-fadeOut {
	height: 75px;
}

/*------------------------------
	Common PC版
------------------------------*/
.tp-container__info--hd {
	background: #fcf7f6;
	color: #303030;
	font-size: 1.4rem;
	line-height: 1;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-width: 1024px;
}

.tp-container--hd {
	background: #fff;
	color: #303030;
	font-size: 1.4rem;
	line-height: 1;
	height: 100%;
	min-width: 1200px;
	box-sizing: border-box;
}

.tp-sectionTitle--hd {
	font-size: 4rem;
	margin-bottom: 24px;
   margin-top: 50px;
}

.tp-sectionTitle--hd span {
	font-size: 5.2rem;
}

.tp-sectionDesc--hd {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	opacity: 0.5;
}

.tp-report__outer--hd .tp-sectionTitle span,
.tp-featureArea--hd .tp-sectionTitle span,
.tp-howtoArea--hd .tp-sectionTitle span,
.tp-safetyArea--hd .tp-sectionTitle span {
	font-size: 4.0rem;
	letter-spacing: 0em;
}

.tp-report__outer--hd .tp-sectionDesc,
.tp-featureArea--hd .tp-sectionDesc,
.tp-howtoArea--hd .tp-sectionDesc,
.tp-safetyArea--hd .tp-sectionDesc  {
	font-size: 2.1rem;	
	margin-bottom: 70px;
}

.tp-report__outer--hd .tp-sectionTitle img,
.tp-featureArea--hd .tp-sectionTitle img,
.tp-howtoArea--hd .tp-sectionTitle img,
.tp-safetyArea--hd .tp-sectionTitle img {
	display: block;
	width: 200px;
	height: 80px;
	margin:5px  auto -5px;
}

/*====================================================
	Header
====================================================*/
.tp-header {
	background: rgba(255, 255, 255, 0.95);
	border-bottom: 1px solid rgba(126, 69, 66, 0.2);
	box-sizing: border-box;
	position: fixed;
	top: 0px;
	height: 50px;
	width: 100%;
	z-index: 1000;
}

.tp-header--active {
	border-bottom: none;
	background: #fff;
}

.tp-header--flex {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 18px;
	padding-left: calc(constant(safe-area-inset-left) + 18px);
	padding-left: calc(env(safe-area-inset-left) + 18px);
	padding-right: calc(constant(safe-area-inset-right) + 0px);
	padding-right: calc(env(safe-area-inset-right) + 0px);
	height: 50px;
	width: 100%;
}

/* ロゴ */
.tp-header__logo {
	margin-top: -10px;
}

.tp-header__logo img  {
	width: 100px;
}

.tp-header__logo a {
	fill: #BB5345;
	display: block;
	transition: all .4s;
}

.tp-header__logo a.hover {
	fill: #9F4C41;
}

/* メニューボタン */
.tp-header__menuBox--top {
	position: absolute;
	right: 0;
	margin-bottom: -58px;
}

.tp-header__menuBox--top a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 58px;
	width: 58px;
}

.tp-header__menuBox a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	width: 50px;
	margin-bottom: 3px;
}

.tp-header__menuBox a.hover,
.tp-header__menuBox a.hover {
	opacity: .5;
}

.tp-header__menu,
.tp-header__menu span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.tp-header__menu {
	position: relative;
	width: 22px;
	height: 18px;
}

.tp-header__menu span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #7E4542;
	border-radius: 1px;
}

.tp-header__menu--top span {
	background-color: #A46B5B;
}

.tp-header__menu span:nth-of-type(1) {
	top: 0;
}

.tp-header__menu span:nth-of-type(2) {
	top: 8px;
}

.tp-header__menu span:nth-of-type(3) {
	bottom: 0;
}

/* メニューボタン 押下時アニメーション */
.tp-header__menu.tp-header__menu--active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

.tp-header__menu.tp-header__menu--active span:nth-of-type(2) {
	opacity: 0;
}

.tp-header__menu.tp-header__menu--active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

/*====================================================
	Header > Menu
====================================================*/
.tp-menuContainer {
	overflow: hidden;
	transition: all .4s ease-out;
	height: 100vh;
	width: 100vw;
}

.tp-menuContainer.tp-menu--close {
	overflow: hidden;
	transition: all .2s ease-in;
	height: 0;
	z-index: 1001;
	pointer-events: none;
}

.tp-menuBox {
	background: #f8f1ef;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.tp-menuItem {
	margin: 0 auto;
	width: 220px;
}

.tp-menuBox ul {
	background: #fff;
	padding: 45px 0 18px;
}

.tp-menuItem a {
	color: #303030;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.7rem;
	font-weight: 700;
	transition: all .6s;
	white-space: nowrap;
	margin-bottom: 40px;
}

.tp-menuItem a.hover {
	opacity: 0.8;
}

.tp-menuItem__icon--home,
.tp-menuItem__icon--report,
.tp-menuItem__icon--price {
	display: flex;
	align-items: center;
}

.tp-menuItem__icon--home img {
	width: 28px;
	height: 23px;
	margin-right: 17px;
}

.tp-menuItem__icon--report img {
	width: 27px;
	height: 23px;
	margin: 5px 17px 0 0;
}

.tp-menuItem__icon--price img {
	width: 30px;
	height: 23px;
	margin-right: 17px;
}

.tp-menuItem--arrow  img {
	width: 8px;
	height: 14px;
}

/*------------------------------
	Header + Menu PC版
------------------------------*/
.tp-header--hd {
	background: rgba(255,255,255,0.95);
	box-sizing: border-box;
	position: fixed;
	top: 0px;
	transition: all .6s;
	height: 80px;
	width: 100%;
	z-index: 1000;
}

.tp-header--hd--flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 0 20px;
	height: 80px;
	min-width: 1024px;
	max-width: 1200px;
}

.tp-header__main--hd {
	background: #fff;
	box-sizing: border-box;
	transition: all .6s;
	height: 80px;
	width: 100%;
	z-index: 1000;
}

/* ロゴ */
.tp-header--hd__logo {
	margin-top: -3px;
}

.tp-header--hd__logo img {
	width: 168px;
	height: 31px;
}

.tp-header--hd__logo a.hover {
	opacity: 0.8;
}

/* メニュー横並び */
.tp-menuContainer--hd {
	height: 80px;
	width: 100%;
}

.tp-menuBox--hd {
	background: rgba(255, 255, 255, 0);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-top: 0;
	height: 100%;
	width: 100%;
}

.tp-menuItem--hd a {
	color: #303030;
	font-weight: 700;
	font-size: 1.5rem;
	margin-right: 30px;
	transition: all .3s;
}

.tp-menuItem--hd a.hover {
	opacity: 0.8;
}

.tp-menuItem--hd.tp-menu--active a {
	color: #BB5345;
	pointer-events: none;
}

.tp-menuBox--hd .tp-menuItem--login a {
	background: #fff;
	border:1px solid rgba(48,48,48,0.5);
	border-radius: 18px;
	box-sizing: border-box;
	color: rgba(48, 48, 48, .75);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 36px;
	display: block;
	margin-right: 18px;
	transition: background .2s;
	text-align: center;
	height: 36px;
	width: 130px;
}

.tp-menuBox--hd .tp-menuItem--login a.hover {
	background: #efefef;
}

.tp-menuBox--hd .tp-menuItem--register a {
	background: #F26D6D;
	border-radius: 18px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 36px;
	display: block;
	text-align: center;
	transition: all .2s;
	height: 36px;
	width: 170px;
}

.tp-menuBox--hd .tp-menuItem--register a.hover {
	background: #E15757;
}

/*====================================================
	Main Area
====================================================*/
.tp-mainArea {
	position: relative;
}

.tp-mainArea__safeArea {
   box-sizing: border-box;
   padding-left: constant(safe-area-inset-left);
   padding-left: env(safe-area-inset-left);
   padding-right: constant(safe-area-inset-right);
   padding-right: env(safe-area-inset-right);
}

.tp-mainVisual img {
	width: 100%;
	vertical-align: top;
}

.tp-ctaLogo {
	position: absolute;
	bottom: calc(8% - 34px);
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 100%;
}

.tp-mainLogo {
	margin: -15px auto 20px;
	text-align: center;
}

.tp-mainLogo--img {
	display: block;
	width: 290px;
	height:72px;
	margin: 0px auto 20px;
}

.tp-mainLogo img {
	width: 100%;
}

.tp-mainLogo--text {
	font-family: 'Shippori Mincho', serif;
	font-weight: normal;
	font-size: 2.6rem;
	letter-spacing:-0.02em;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	text-shadow: 0 0 10px #9F4834;
}

.tp-mainLogo--age  {
	font-size: 4.6rem;
	letter-spacing:0em;
	text-shadow: 0 0 10px #9F4834;
}

.tp-mainLogo--dot {
	font-size: 3.2rem;
	vertical-align:0.1em;
}

.tp-mainLogo--count {
	font-size: 2.2rem;
	letter-spacing:-0.02em;
	padding-left: 3px;
	vertical-align: 1px;
	text-shadow: 0 0 10px #9F4834;
}

.tp-mainLogo--kana {
	letter-spacing:-0.09em;
}

@media screen and (max-width: 320px) {
	.tp-mainLogo {
		width: 270px;
		margin-bottom: 5px;
	}

	.tp-mainLogo--img {
		width: 256px;
		height:64px;
		margin: 0px auto 14px;
	}

	.tp-mainLogo--age {
		font-size: 4.2rem;
	}

	.tp-mainLogo--text {
		font-size: 2.0rem;
	}
}

.tp-main__img--ornament {
	position: absolute;
	width: 116px;
	height: 110px;
	bottom: -52px;
	left: 9px;
}

.tp-main__img--ornament img {
   width: 100%;
}

/*------------------------------
	Main Area PC版
------------------------------*/
.tp-mainArea--hd {
	position: relative;
	background:#fff;
	height: 770px;
	box-sizing: border-box;
	background-image: url(../img/top_main_pc.jpg);
	background-size: cover;
	background-position: center;
}

.tp-mainVisual--hd {
	height: 770px;
	box-sizing: border-box;
}

.tp-mainArea--hd .tp-ctaContainer {
	background: rgba(146, 74, 70, 0.95);
	border-radius: 10px;
	padding: 40px 0 40px;
	box-sizing: border-box;
	width: 592px;	
	height: 636px;
	margin: 0;
}

.tp-mainArea--hd .tp-mainLogo--text {
	font-family: 'Shippori Mincho', serif;
	font-weight: normal;
	font-size: 4.2rem;
	letter-spacing:-0.02em;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	text-shadow:none;
}

.tp-mainArea--hd .tp-mainLogo--age {
	font-size: 6.5rem;
	letter-spacing:0em;
	text-shadow:none;
}

.tp-mainArea--hd .tp-mainLogo--dot {
	font-size: 3.2rem;
	vertical-align:0.4em;
}

.tp-mainArea--hd .tp-mainLogo--count {
	font-size: 3.3rem;
	letter-spacing:-0.05em;
	padding-left: 3px;
	vertical-align: 1px;
	text-shadow: none;
}

.tp-mainArea--hd .tp-mainLogo--img {
	display: block;
	width: 347px;
	height: 69px;
	margin: 0 auto;
	padding: 25px 0 20px;
}

.tp-cta__desc--hd {
	font-size:1.5rem;
	font-weight: 500;
	color: #fff;
	padding:30px 0 8px;
	border-bottom: dotted 1px #fff;
}

.tp-cta-btn__catch {
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 14px;
}

.tp-mainArea--hd .tp-cta__btn {
	width: 320px;
	height: 60px;
	border-radius: 30px;
	font-size: 1.8rem;
}

.tp-mainArea--hd .tp-cta__btn a {
	height: 60px;
	border-radius: 30px;
	font-size: 1.8rem;
}

.tp-mainArea--hd .tp-cta__btn,
.tp-mainArea--hd .tp-cta__login {
   margin-bottom: 25px;
}

.tp-mainArea--hd .tp-btn__start {
   margin-bottom: 20px;
}

.tp-main__img--ornamentTop {
	position: absolute;
	top: 0px;
	left: 480px;
	width: 168px;
	height: 168px;
	bottom:-160px;
	z-index: 1;
}

.tp-main__img--ornamentTop img {
   width: 100%;
}

.tp-main__img--ornamentBottom {
	position: absolute;
	bottom: -60px;
	left: 10px;
	width: 200px;
	height: 200px;
	z-index: 1;
}

.tp-main__img--ornamentBottom img {
   width: 100%;
}

@media (max-width: 1300px) {
	
	.tp-mainArea--hd .tp-mainLogo--text {
		font-size: 3.5rem;
	}
	
	.tp-mainArea--hd .tp-mainLogo--age {
		font-size: 6.0rem;
	}

	.tp-mainArea--hd .tp-mainLogo--count {
		font-size: 3.0rem;
		letter-spacing:-0.05em;
		padding-left: 3px;
		vertical-align: 1px;
	}

	.tp-mainArea--hd .tp-mainLogo--img {
		display: block;
		width: 250px;
		margin: 0 auto;
		padding: 25px 0 10px;
	}

	.tp-mainArea--hd .tp-ctaContainer {	
		padding: 20px;
		margin-top: -20px;
		box-sizing: border-box;
		width: 500px;	
		height: 580px;
		margin: 0;
	}

	.tp-header--hd--top {
		max-width: 900px;
		box-sizing: border-box;
	}

	.tp-ctaLogo--hd {
		max-width: 1000px;
	}

	.tp-main__img--ornamentTop {
		left: 400px;
	}

}

/*====================================================
	Concept Area
====================================================*/
.tp-concept__title {
	background: linear-gradient(to bottom,#924A46,rgba(146, 74, 70, 0.90) 30%,#F3E4E0 80%,#fff); 
}

.tp-concept__titleText {
	text-align: center;
	font-family: 'Shippori Mincho', serif;
	font-weight: normal;
	color: #fff;
	font-size: 1.7rem;
	padding-top: 40px;
}

.tp-concept__titleText--band {
	display: block;
	margin: 0 auto -26px;
	background: linear-gradient(to right, rgba(255,255,255,0),  #fff 25%, #fff 75%, rgba(255,255,255,0) 100%);
	color: #7E4542;
	width: 325px;
	padding: 4px 0 5px;
	letter-spacing: -0.10em;
}

.tp-concept__titleText--bandSub {
	padding-left: 4px;
	letter-spacing: 0.09em;
}

.tp-concept__titleText--bandMark {
	font-size: 1.9rem;
	padding-left: 2px;
	vertical-align:-5%;
}

.tp-concept__titleText--subOuter {
	display: block;
	background-image: url(../img/top_concept_title_star.png); 
	background-repeat: no-repeat;
	background-size: 196px 74px;
	background-position: center 23px;
	padding: 18px 0;
	text-align: center;
}

.tp-concept__titleText--sub {
	font-size: 2.5rem;
	letter-spacing:1px;
}

.tp-concept__titleText--num {
	font-size: 6.4rem;
	vertical-align:-0.05em;
	letter-spacing:-2px;
	margin:0;
}

.tp-concept__titleText--unit {
	font-size: 3.6rem;
	letter-spacing:-4px;
	padding-right: 2px;
}

.tp-concept__subTitle {
	text-align: center;
	margin: 0 auto;
	color: #EADADA;
	font-size: 1.7rem;
	line-height:1.5;
	letter-spacing:1.5px;
	padding-bottom: 30px;
	font-weight: 400;
}

.tp-concept__subTitle--age {
	font-size: 2.5rem;
	color: #fff;
	font-weight: 500;
	margin-right: -1px;
}

.tp-concept__subTitle--sub {
	color: #fff;
	font-weight: 500;
}

.tp-concept__lastText {
	text-align: center;
	color: #7E4542;
	position: relative;
}

.tp-concept__lastText--sub {
	font-size: 1.4rem;
	margin: 25px 0 22px;
	letter-spacing:0.1em;
}

.tp-concept__lastText--arrow {
	width: 28px;
	height: 12px;
	margin: 10px auto;
}

.tp-concept__lastText--arrow img {
	width: 100%;
}

.tp-concept__lastText--main  {
	font-size: 1.9rem;
	line-height: 1.5;
	font-family: 'Shippori Mincho', serif;
	letter-spacing: -0.03em;
	margin: 18px 0 00px;
}

.tp-conceptList {
	margin: 20px 25px 0; 
	background: #fff;
	border-radius: 5px;
}

.tp-conceptList__bgTop {
	position: relative;
	background: #DDC7C1;
	border-radius: 5px 5px 0 0;
	height: 54px;
}

.tp-conceptList__titleOuter {
	position: absolute;
	width: 100%;
	max-width: 360px;
	height: 88px;
	bottom:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background-image: url(../img/top_concept_list_title.png); 
	background-repeat: no-repeat;
	background-size: 138px 88px;
	background-position: right top;
}

.tp-conceptList__title  {
	color: #7E4542;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 53px 0 0 16px;
	text-shadow: 0px 0px 10px rgba(221,199,193,1), 0px 0px 25px rgba(221,199,193,1);
}

.tp-conceptList__text {
	display: flex;
	justify-content: center;
}

.tp-conceptList__text ul {
	display: inline-block;
	margin: 28px 0 10px -10px;
}

.tp-conceptList__text li {
	font-size: 1.4rem;
	padding-bottom: 18px;
}

.tp-conceptList__text li:before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 12px;
	background-image: url(../img/top_concept_check.svg);
	background-size: contain;
	vertical-align: middle;
	margin-right:  16px;
	background-repeat: no-repeat;
}

.tp-concept__img {
	background: #f3e4e0;
	position: relative;
}

.tp-concept__img img {
	width: 100%;
	vertical-align: top;
}

.tp-concept__img--ornament {
	position: absolute;
	width: 90px;
	height: 80px;
	top: -45px;
}

.tp-concept__img--ornament img {
   width: 100%;
}

/* 4inch */
@media (max-width: 320px) {
	.tp-conceptList__title--text {
		font-size: 1.2rem;
		margin-right: -10px;
	}

	.tp-conceptList__text li {
		font-size: 1.2rem;
	}

	.tp-conceptList__text li:before {
	margin-right:  10px;
	}	

	.tp-concept__lastText--sub {
		font-size: 1.2rem;
		letter-spacing: 0;
	}

	.tp-concept__titleText--band {
		width: 280px;
	}

	.tp-concept__titleText--num {
		font-size: 5.0rem;
	}

	.tp-concept__titleText--subOuter {
		background-size: 170px 64px;
	}

}

/*------------------------------
	コンセプト　PC版
------------------------------*/
.tp-conceptArea--hd {
	min-width: 1024px;
	width: 100%;
}

.tp-conceptArea--hd .tp-concept__title {
	position: relative;
	background: linear-gradient(to bottom,#924A46,rgba(146, 74, 70, 0.90) 43%,#F3E4E0 85%,#fff);
}

.tp-conceptArea--hd .tp-concept__subTitle {
	font-size: 3.5rem;
	letter-spacing:2.3px;
	padding: 10px 0 50px;
}

.tp-conceptArea--hd .tp-concept__subTitle--age {
	font-size: 5.2rem;
	color: #fff;
	font-weight: 500;
	margin-right: -1px;
}

.tp-conceptArea--hd .tp-conceptList {
	width: 1000px;
	margin: 0 auto;
	margin-top: 50px;
}

.tp-conceptArea--hd .tp-concept__title--img {
	position: absolute;
	top:-25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	padding: 0 0 10px;
	width: 930px;
	height:240px;
}

.tp-conceptArea--hd .tp-concept__titleText {
	text-align: center;
	font-family: 'Shippori Mincho', serif;
	font-weight: normal;
	color: #fff;
	font-size: 3.5rem;
	padding-top: 90px;
}

.tp-conceptArea--hd .tp-concept__titleText--band {
	display: block;
	margin: 10px auto -40px;
	background: linear-gradient(to right, rgba(255,255,255,0),  #fff 25%, #fff 75%, rgba(255,255,255,0) 100%);
	color: #7E4542;
	width: 672px;
	padding: 10px 0 14px;
	letter-spacing: -0.10em;
}

.tp-conceptArea--hd .tp-concept__titleText--bandSub {
	padding-left: 9px;
	letter-spacing: 0.09em;
}

.tp-conceptArea--hd .tp-concept__titleText--bandMark {
	font-size: 4.0rem;
	padding-left: 4px;
	vertical-align:-5%;
}

.tp-conceptArea--hd .tp-concept__titleText--subOuter {
	display: block;
	background-image: url(../img/top_concept_title_star_pc.png); 
	background-repeat: no-repeat;
	background-size: 460px 160px;
	background-position: center 36px;
	padding: 25px 0 38px;
	text-align: center;
}

.tp-conceptArea--hd .tp-concept__titleText--sub {
	font-size:5.1rem;
	letter-spacing:1px;
}

.tp-conceptArea--hd .tp-concept__titleText--num {
	font-size: 15rem;
	vertical-align:-0.05em;
	margin: 0;
}

.tp-conceptArea--hd .tp-concept__titleText--unit {
	font-size: 7.5rem;
	letter-spacing:-4px;
	padding-right: 2px;
}

.tp-conceptList__textOuter--hd {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0 0 0 40px;
}

.tp-concept__imgOuter--hd {
	display: flex;
	align-items: center;
	justify-content:flex-end;
	min-width: 1024px;
	max-width: 1420px;
	margin: 0 auto;
}

.tp-conceptArea--hd .tp-concept__img {
	width: 850px;
	height: 460px;
}

.tp-concept__imgPosition--hd {
	position: relative;
	margin-top: 0px;
}

.tp-concept__lastText__outer--hd {
	width: 1000px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 120px;
	padding-left: 10px;
}

.tp-concept__lastText--hd {
	display: flex;
	justify-content: space-between;
	width: 450px;
}

.tp-conceptArea--hd .tp-concept__lastText--main {
	font-size: 3.3rem;
	line-height: 1.6;
	font-family: 'Shippori Mincho', serif;
	font-weight: 400;
	letter-spacing: 0.01em;
	margin: 10px 0 20px 25px;
	color: #7E4542;
}

.tp-concept__lastText__brackets {
	width: 44px;
	height: 35px;
}

.tp-concept__lastText__brackets--right {
	width: 44px;
	height: 35px;
	transform: scale(-1, 1);
	align-self: flex-end;
}

.tp-conceptList__title--hd {
	height: 90px;
	width: 1000px;
	background: #DDC7C1;
	text-align: center;
	padding: 28px 0;
	box-sizing: border-box;
	font-size: 3.0rem;
	letter-spacing: 3px;
	color: #7E4542;
	font-weight: 500;
	border-radius: 5px 5px 0 0;
	margin-top: 35px;
}

.tp-conceptArea--hd .tp-conceptList__title--text {
	font-size: 3.0rem;
	letter-spacing: 3px;
	margin-top: 98px;
}

.tp-conceptArea--hd .tp-conceptList__bgTop {
	height: 90px;
}

.tp-conceptList__titleOuter--hd {
	position: relative;
}

.tp-conceptList__title__img--hd {
	width: 272px;
	height: 148px;
	position: absolute;
	right: 5px;
	bottom: 0;
}

.tp-conceptList__title__img--hd img {
	width: 100%;
}

.tp-conceptArea--hd .tp-conceptList__text {
	padding-right: 45px;
}

.tp-conceptArea--hd .tp-conceptList__text ul {
	margin: 50px 0 10px 0;
}

.tp-conceptArea--hd .tp-conceptList__text li {
	font-size: 2.3rem;
	padding-bottom: 30px;
}

.tp-conceptArea--hd .tp-conceptList__text li:before {
	content: '';
	display: inline-block;
	width: 29px;
	height: 24px;
	background-image: url(../img/top_concept_check.svg);
	background-repeat:no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-right:  18px;
}

.tp-conceptArea--hd .tp-concept__lastText--sub {
	font-size: 2.8rem;
	margin:50px 0 0 0;
}

.tp-conceptArea--hd .tp-concept__lastText--arrow {
	width: 54px;
	height: 24px;
	margin: 30px auto 0;
}

.tp-concept__img__ornamentTop--hd {
	position: absolute;
	width: 130px;
	height: 120px;
	top:-310px;
	right: -50px;
}

.tp-concept__img__ornamentTop--hd  img {
	width: 130px;
	height: 120px;
}

.tp-concept__img__ornament--hd {
	position: absolute;
	width: 230px;
	height: 160px;
	top:200px;
	left: -130px;
}

.tp-concept__img__ornament--hd  img {
	width: 230px;
	height: 160px;
}

.tp-concept__ornament__position {
	position: relative;
	width: 1000px;
	margin: 0 auto;
}

/*====================================================
	特徴
====================================================*/
.tp-featureArea {
	background: #A46B5B url("../img/top_feature_bg.svg") no-repeat;
	background-size:contain;
	padding: 56px 25px 35px;
	padding-left: calc(constant(safe-area-inset-left) + 25px);
	padding-left: calc(env(safe-area-inset-left) + 25px);
	padding-right: calc(constant(safe-area-inset-right) + 25px);
	padding-right: calc(env(safe-area-inset-right) + 25px);
	overflow: hidden;
}

.tp-featureItem {
	background: #fff;
	border-radius: 5px;
	margin-bottom: 25px;
}

.tp-featureImg img {
	width: 100%;
	border-radius: 5px 5px 0 0;
}

.tp-featureTitle--sub {
	color: #7E4542;
	font-size: 1.6rem;
	padding: 10px 0;
	font-weight: 500;
}

.tp-featureTitle {
	font-size: 2.3rem;
	font-weight: 500;
	padding-bottom: 15px;
	line-height: 1.2;
}

.tp-featureTitle--2line {
	font-size: 2.1rem;
	line-height: 1.4;
}

.tp-featureText__outer {
	padding: 25px 25px 18px ;
}

.tp-featureText {
	font-size: 1.4rem;
	line-height: 2;
}

.tp-featurePoint {
	width: 40px;
	height: 15px;
}

.tp-featurePoint img {
	width: 100%;
}

/*------------------------------
	特徴 1
------------------------------*/
.tp-feature1_subBlock {
	background: rgba(193, 122, 102, 0.1);
	margin-top: 14px;
	padding: 24px 25px 16px;
}

.tp-feature1_subBlock--hd {
	background: rgba(193, 122, 102, 0.1);
	display: flex;
	align-items: flex-start;
	padding: 50px;
}

.tp-feature1_subTitle {
	border-bottom: solid 1px rgba(48, 48, 48, .75);
	font-size: 1.9rem;
	font-weight: normal;
	line-height: 1.5;
	padding-bottom: 20px;
}

.tp-feature1_subTitle--hd {
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.67;
	letter-spacing: 1px;
	border-right: 1px solid rgba(48, 48, 48, .75);
	margin-right: 40px;
	width: 208px;
	flex: none;
}

.tp-feature1_list {
	padding: 8px 0 0;
}

.tp-feature1_list--hd {
	display: flex;
	flex-direction: column;
	margin: -20px 0;
	width: 652px;
}

/* アコーディオン アニメーション */
.tp-feature1List__details {
  transition: transform .5s, margin .5s;
  overflow: hidden;
  margin-top: -10px;
  padding-bottom: 10px;
}

.tp-feature1List__details .tp-feature1List__summary {
  transition: transform .5s, opacity .5s;
  transform: translateY(10px);
  position: relative;
}

.tp-feature1List__details .tp-feature1List__summary::-webkit-details-marker {
  display: none;
}

.tp-feature1List__details .tp-feature1List__summaryOuter::-webkit-details-marker {
  display: none;
}

.tp-feature1List__details[open] .tp-feature1List__summary {
  transform: translateY(0);
}

.tp-feature1List__details[open] {
  margin-top: 0;
}

.tp-feature1List__details[open] .tp-feature1List__body {
	animation: details-open .5s ease-in-out forwards;
}

@keyframes details-open {
  0% {
    opacity: 0;
    transform: translateY(-12px);
  }
  100% {
    opacity: 1;
    transform: translateY(-8px);
  }
}

/* アコーディオン デザイン */
.tp-feature1List__summaryOuter {
	cursor: pointer;
	outline: none;
	list-style: none;
}

.tp-feature1List__summary {
	display: flex;
	align-items: center;
	padding: 16px 24px 16px 0;
	position: relative;
	cursor: pointer;
	outline: none;
}

.tp-feature1List__summary.hover {
	opacity: .7;
}

/* アイコン アニメーション */
.tp-feature1List__summary::after {
	content: "";
	background: url(../img/arrow_down.svg) no-repeat;
	background-size: 12px 8px;
	position: absolute;
	right: 0;
	width: 12px;
	height: 8px;
	animation: .4s icon-close;
}

.tp-feature1List__details[open] .tp-feature1List__summary::after {
	animation: .4s icon-open forwards;
}

@keyframes icon-close {
  from {
    transform: rotate(180deg);
  }

  to {
    transform: rotate(0deg);
  }
}

@keyframes icon-open {
  from {
    transform: rotate(0deg);
  }

  to{
    transform: rotate(180deg);
  }
}

.tp-feature1List__number {
	height:22px;
	width:22px;
	border-radius:50%;
	line-height:22px;
	text-align:center;
	background:#7E4542;
	font-size:1.2rem;
	color: #fff;
	font-weight: 700;
	margin-right: 13px;
	flex-shrink: 0; 
}

.tp-feature1List__head {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
}

.tp-feature1List__body {
	font-size: 1.3rem;
	line-height: 1.77;
}

/* PC */
.tp-feature1_list--hd .tp-feature1List__details {
	border-bottom: solid 1px rgba(48, 48, 48, .1);
}

.tp-feature1_list--hd .tp-feature1List__details:last-child {
	border: none;
}

.tp-feature1_list--hd .tp-feature1List__summary {
	padding: 24px 24px 24px 0;
}

.tp-feature1_list--hd .tp-feature1List__head {
	font-size: 1.8rem;
}

.tp-feature1_list--hd .tp-feature1List__body {
	font-size: 1.6rem;
	padding-bottom: 8px;
}

 
/* 小さい画面 */
@media (max-width: 370px) {
	.tp-featureTitle--sub {
		font-size: 1.4rem;
	}
	.tp-featureTitle {
		font-size: 1.9rem;
	}
	.tp-featureText {
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.tp-feature1_subTitle {
		font-size: 1.7rem;
		line-height: 1.5;	
	}
	.tp-feature1List__head {
		font-size: 3.733vw;
	}
	.tp-feature1List__body {
		font-size: 3.467vw;
	}
}

@media (max-width: 320px) {
	.tp-featureTitle--sub {
		font-size: 1.2rem;
	}
	.tp-featureTitle {
		font-size: 1.6rem;
	}
	.tp-featureText {
		font-size: 1.3rem;
		line-height: 1.8;
	}
	.tp-feature1_subTitle {
		font-size: 1.7rem;
		line-height: 1.5;	
	}
	.tp-feature1List__number {
		height:18px;
		width:18px;
		line-height:18px;
		font-size:1.0rem;
		font-weight: 700;
		margin-right: 8px;
	}
}

/*------------------------------
	特徴 PC版
------------------------------*/
.tp-featureArea--hd {
	background: #A46B5B url("../img/top_feature_bg_pc.svg") no-repeat;
	background-size:contain;
	padding: 84px 0 20px;
	overflow: hidden;
}

.tp-featureArea--hd .tp-featureItem {
	background: #fff;
	border-radius: 5px;
	margin: 0 auto 70px;
	width: 1000px;
}

.tp-featureItemOuter--hd {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1000px;
}

.tp-featureArea--hd .tp-featureIm {
	border-radius: 0;
}

.tp-featureArea--hd .tp-featureImg img {
	width: 500px;
	height: 316px;
	border-radius: 5px 0 0 5px;
	vertical-align: top;
}

.tp-featureArea--hd .tp-featureImg--high img {
	width: 500px;
	height: 355px;
	border-radius: 5px 0 0 5px;
	vertical-align: top;
}

.tp-featureArea--hd .tp-featureImg--right img {
	border-radius: 0 5px 5px 0;
}

.tp-featureArea--hd .tp-featureImg--first--hd img {
	border-radius: 5px 0 0 0;
	width: 500px;
	height: 316px;
}

.tp-featureArea--hd .tp-feature1List__number {
	height:30px;
	width:30px;
	border-radius:50%;
	line-height:29px;
	text-align:center;
	background:#7E4542;
	font-size:1.6rem;
	color: #fff;
	font-weight: 700;
	margin-right: 13px;
	flex-shrink: 0; 
}

.tp-featureArea--hd .tp-featurePoint {
	width: 57px;
	height: 20px;
}

.tp-featureArea--hd .tp-featureTitle--sub {
	font-size: 2.3rem;
	padding: 15px 0;
}

.tp-featureArea--hd .tp-featureTitle {
	font-size: 3.2rem;
	padding-bottom: 15px;
	line-height: 1.2;
}

.tp-featureArea--hd .tp-featureTitle--2line {
	font-size: 3.0rem;
	line-height: 1.4;
}

.tp-featureArea--hd .tp-featureText {
	font-size: 1.7rem;
	line-height: 1.8;
}

.tp-featureArea--hd .tp-featureText__outer {
	padding: 50px;
	height: 316px;
	box-sizing: border-box;
}

.tp-featureArea--hd .tp-featureText__outer--high {
	padding: 50px;
	height: 355px;
	box-sizing: border-box;
}



/*====================================================
	Howto Area
====================================================*/
.tp-howtoArea {
	background: #fcf9f8;
	padding: 60px 0 40px;
	overflow: hidden;
}

.tp-howto__carouselItem {
	padding: 0 3%;
}

.tp-howto__step {
	display: flex;
	justify-content: center;
}

.tp-howto__step img {
	width: 60px;
	height: 20px;
}

.tp-howto__stepText {
	font-size: 1.3rem;
	line-height: 1.8;
	width: 190px;
	margin: 0 auto 10px;
}

.tp-howto__stepTitle {
	color: #924A46;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	margin: 12px 0 13px;
}

.tp-howto__carouselBg {
	margin: 0 auto;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: #faf3f2;
	margin-bottom: -243px;
}

.tp-howto__carouselArea {
	margin: 0 auto 10px;
	display: flex;
	overflow-x:scroll;
}

.tp-howto__carousel__img {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	width:220px;
	height: 270px;
}

.tp-howto__carousel__img img {
	width:220px;
	height: 270px;
}

.tp-howto__carousel__dot {
	display: flex;
	justify-content: center;
	padding-bottom: 24px;
	transition: all .3s;
}

.tp-howto__carousel__dot span {
	background: rgba(48,48,48,0.2);
	border-radius: 50%;
	display: block;
	margin: 0 7px;
	height: 8px;
	width: 8px;
}

.tp-howto__carousel__dot span.tp-howto__carousel__dot--active {
	background: rgba(146,74,70,1);
	opacity: 1;
}

/*----------------------------------------------
	使い方 PC版
----------------------------------------------*/
.tp-howtoArea--hd {
	background: #fcf9f8;
	padding: 90px 0 90px;
	overflow: hidden;
}

.tp-howtoArea--hd .tp-howto__carouselArea {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.tp-howtoArea--hd .tp-howto__carouselItem {
	padding: 0 17px;
}

.tp-howtoArea--hd .tp-howto__step {
	margin-top: 20px;
}

.tp-howtoArea--hd .tp-howto__step img {
	width: 72px;
	height: 24px;
}

.tp-howtoArea--hd .tp-howto__stepTitle {
	font-size: 2.4rem;
	line-height: 1.3;
}

.tp-howtoArea--hd .tp-howto__stepText {
	font-size: 1.6rem;
	line-height: 1.7;
	width: 272px;
	margin: 0 auto;
}

.tp-howtoArea--hd .tp-howto__carousel__img {
	width:280px;
	height: 346px;
}

.tp-howtoArea--hd .tp-howto__carousel__img img {
	width:280px;
	height: 346px;
}

.tp-howtoArea--hd .tp-howto__carouselBg {
	width: 330px;
	height: 330px;
	margin-bottom: -305px;
}

/*====================================================
	Safety Area
====================================================*/
.tp-safetyArea {
	background:rgba(242,109,109,0.1);
	padding: 50px 0 50px;
	padding-left: calc(constant(safe-area-inset-left) + 25px);
	padding-left: calc(env(safe-area-inset-left) + 25px);
	padding-right: calc(constant(safe-area-inset-right) + 25px);
	padding-right: calc(env(safe-area-inset-right) + 25px);
	overflow: hidden;
}

.tp-safetyItem {
	display: flex;
	align-items: center;
	margin: 0 auto 10px;
	max-width: 400px;
	background: #fff;
	border-radius: 5px;
	height: 84px;
}

.tp-safetyItem--last {
	margin: 0 auto 10px;
	max-width: 400px;
	background: #fff;
	border-radius: 5px;
	padding: 22px;
	box-sizing: border-box;
}

.tp-safety__japhic {
	display: flex;
	align-items: flex-start;
	margin-top: 15px;
}

.tp-safety__img {
	width: 110px;
}

.tp-safety__img img {
	width: 100%;
}

.tp-safety__icon {
	display: flex;
	justify-content: center;
	width: 150px;
}

.tp-safety__icon img {
	width: 62px;
	height: 42px;
}

.tp-safety__text {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.tp-safety__subText {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 0 18px 0 0;
}

/* 4inch */
@media (max-width: 320px) {
	.tp-safety__icon {
		width: 120px;
	}
	.tp-safety__text {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.tp-safetyArea {	
		padding: 50px 20px 50px;
	}
}

/*----------------------------------------------
	安心安全への取り組み PC版
----------------------------------------------*/
.tp-safetyArea--hd {
	background:rgba(242,109,109,0.1);
	padding: 90px 0 90px;
	overflow: hidden;
}
 
.tp-safetyItem__outer--hd {
	width: 1000px;
	margin: 0 auto;
}

.tp-safetyItem__outer--hd ul {
	display: flex;
	justify-content: space-between;
	width: 1000px;
}

.tp-safetyArea--hd .tp-safetyItem {
	width: 487px;
	max-width: 487px;
	height: 160px;
	max-height: 160px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 0 26px 0;
}

.tp-safetyArea--hd .tp-safetyItem--last {
	display: flex;
	width: 487px;
	max-width: 487px;
	height: 160px;
	max-height: 160px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 0 26px 0;
	padding: 20px 10px 20px 20px;
}

.tp-safetyArea--hd .tp-safety__icon {
	display: flex;
	justify-content: center;
	width: 110px;
	margin: 0 10px 0 45px;
}

.tp-safetyArea--hd .tp-safety__icon img {
	width: 110px;
	height: auto;
}

.tp-safetyArea--hd .tp-safety__text {
	font-size: 2.4rem;
	line-height: 1.3;
	margin-left: 25px;
}

.tp-safetyArea--hd .tp-safety__subText {
	font-size: 1.4rem;
	line-height: 1.4;
	padding-top: 15px;
	margin-left: 25px;
}

.tp-safetyArea--hd .tp-safety__img {
	width: 70px;
	margin: 10px 8px  0 15px;
}

.tp-safetyArea--hd .tp-safety__img img {
	width: 70px;
	height: auto;
}

.tp-safetyArea--hd .tp-safety__text--2line {
	font-size: 2.2rem;
	line-height: 1.4;
	padding-top: 5px;
	margin-bottom: -5px;
}

/*====================================================
	最下部 Visual Area
====================================================*/
.tp-lastVisual--text {
	font-size: 1.9rem;
	line-height: 1.5;
	font-family: 'Shippori Mincho', serif;
	letter-spacing: -0.03em;
	margin: 40px auto 15px;
	text-align: center;
	color: #7E4542;
}

.tp-lastVisual--textSp {
	position: absolute;
	top: 30px;
	right: 0;
	left: 0;
	margin: 0 auto;
}

.tp-lastVisual--text span {
	padding-left: 15px;
}

.tp-lastVisual {
	position: relative;
}

.tp-lastVisual img {
	width: 100%;
	vertical-align: top;
}

.tp-lastVisual--plan {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    position: relative;
}

.tp-lastVisual--plan img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

/*------------------------------
	最下部 Visual Area PC版
------------------------------*/
.tp-lastVisualArea--hd {
	width: 1200px;
	margin: 0 auto;
	padding: 90px 0 90px;
}

.tp-lastVisualArea__inner--hd {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.tp-lastVisualArea--hd .tp-lastVisual {
	width: 830px;
	height: 388px;
	position: relative;
	border-radius: 5px;
}

.tp-lastVisualArea--hd .tp-lastVisual--text {
	font-size: 2.9rem;
	text-align: left;
	position: absolute;
	top: 105px;
	left: 38px;
	font-weight: 400;
}

.tp-lastVisual__img--hd img {
	border-radius: 5px;
}

@media screen and (max-width: 1200px) {
	.tp-lastVisualArea--hd {
		width: 1010px;
		margin: 0 auto;
		padding: 90px 0 90px;
	}

	.tp-lastVisualArea--hd .tp-lastVisual {
		width: 690px;
	}
	
}


/*====================================================
	最下部 CTA
====================================================*/
.tp-ctaLast {
	padding: 40px 0;
}

.tp-ctaLast__login {
	border: 1px solid rgba(48,48,48,0.5);
}

/* 注釈 */
.tp-ctaLast__desc {
	color:  rgba(48,48,48,0.75);
}

/*------------------------------
	最下部 CTA PC版
------------------------------*/
.tp-ctaLast--hd {
	padding: 0;
	width: 320px;
}

.tp-ctaLast--hd .tp-cta__btn {
	height: 60px;
	border-radius: 30px;
	font-size: 1.8rem;
}

.tp-ctaLast--hd .tp-cta__btn a {
	height: 60px;
	border-radius: 30px;
	font-size: 1.8rem;
}

.tp-ctaLast--hd .tp-btn__start {
   margin-bottom: 20px;
}

.tp-ctaLast--hd .tp-cta__login {
   margin-bottom: 25px;
}

.tp-ctaLast--hd .tp-ctaContainer {
	margin: 0;
}

.tp-ctaLast--hd  .tp-cta-btn__catch {
	font-size: 1.6rem;
	margin-bottom: 16px;
}

@media screen and (max-width: 1200px) {
	.tp-ctaLast--hd {
		width: 310px;
	}
}

.tp-ctaLast--hd .tp-cta__desc--hd {
	color: #303030;
	border-bottom: dotted 1px #303030;
}

/*====================================================
	Footer
====================================================*/
.tp-footer {
	background: #F7EEEB;
	padding: 0px 25px;
}

.tp-footer__logo {
	padding-top: 30px;
	margin-bottom: 15px;
}

.tp-footer__logo img {
	width: 140px;
}

.tp-footer__links, 
.tp-footer__socialLinks {
	display: flex;
	flex-wrap: wrap;
}

.tp-footer__links li a {
	color: #303030;
	font-size: 1.2rem;
	line-height: 3.2;
	margin: 0 20px 0 0;
}

.tp-footer__links li:last-child a {
	border: none;
}

.tp-footer__links li a.hover, 
.tp-footer__socialLinks li a.hover {
	opacity: .7;
}

.tp-footer__socialLinks, 
.tp-footer__copyright {
	margin-top: 15px;
}

.tp-footer__copyright span {
	display: inline-block;
}

.tp-footer__socialLinks li {
	background: rgba(193,122,102,0.7);
	width: 33px;
	height: 33px;
	border-radius: 50%;
	margin-right: 20px;
	display: flex;
	justify-content: center;
}

.tp-footer__socialLinks--x img {
	width: 16px;
	margin-top: 8px;
}

.tp-footer__copyright {
	padding-bottom: 90px;
}

.tp-footer__copyright p {
	display: block;
	color: #303030;
	font-size: 1.0rem;
	transform: scale(0.9);
	transform-origin: left top;
	line-height: 1.4;
}

/* 4inch */
@media (max-width: 320px) {
	.tp-footer__links li a {
		font-size: 1.1rem;
	}
}

/* フッターメニューエリア */
.tp-footer--hd {
	background: #F7EEEB;
	padding:20px 0 50px 0;
	margin: 0 auto;
	width: 100%;
	margin-top: auto;
}

.tp-footerBox--hd {
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	min-width: 1024px;
	max-width: 1240px;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}

.tp-footer--hd .tp-footer__logo {
	margin-bottom: 20px;
}

.tp-footer--hd .tp-footer__logo  img {
	width: 180px;
}

.tp-footer--hd .tp-footer__links li a {
	font-size: 1.3rem;
}

.tp-footer--hd .tp-footer__socialLinks li {
	width: 40px;
	height: 40px;
	margin-right: 25px;
}

.tp-footer--hd .tp-footer__socialLinks--x img {
	width: 20px;
	margin-top: 10px;
}

.tp-footer--hd__copyright {
	margin-top: 40px;
}

.tp-footer--hd__copyright p {
	color: #303030;
	font-size: 1.1rem;
	margin-bottom: 8px;
}

/*------------------------------
	Footer Certification
------------------------------*/
.tp-footer__crtBox {
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	padding: 10px 8px 2px;
	margin: 30px 0 0;
}

.tp-footer__crtBox img {
	width: 50px;
}

.tp-footer--hd__crtBox {
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	padding: 10px 8px 2px;
	position: absolute;
	bottom: 0;
	right: 20px;
}

.tp-footer--hd__crtBox img {
	width: 50px;
}

/*====================================================
	登録方法選択ダイアログ
====================================================*/
.tp-bgLock {
	overflow: hidden;
	height: 100vh;
}

.tp-registerContainer {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	z-index: 1002;
}

.tp-register__btn__box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	width: 48px;
}

.tp-register__plain {
	background: rgba(255, 255, 255, .95);
	overflow: hidden;
}

.tp-register__scroll {
	box-sizing: border-box;
	overflow-y: scroll;
	position: relative;
	text-align: center;
	height: 100%;
	width: 100%;
	-webkit-overflow-scrolling: touch;
}

.tp-register__logo {
	margin-top: 40px;
}

.tp-register__logo svg {
	fill: #BB5345;
	height: 66px;
	width: 72px;
}

.tp-register__cta {
	box-sizing: border-box;
	display: block;
	margin-top: 24px;
	padding: 0 32px;
	width: 100%;
}

.tp-register__cta .tp-cta {
   border-radius: 24px;
	margin: 0 auto;
	position: relative;
	width: 100%;
	max-width: 260px;
   height: 48px;
}

.tp-register__cta .tp-cta a {
   border-radius: 24px;
   font-size: 1.5rem;
	margin: 0 auto;
}

.tp-register__line {
	box-sizing: border-box;
	opacity: .25;
	position: relative;
	margin: 28px auto;
	padding: 0 32px;
	width: 100%;
	max-width: 320px;
}

.tp-register__line::after {
	content: "";
	display: block;
	border-bottom: 1px solid #443F4F;
}

.tp-register__line span {
	background: #fff;
	position: absolute;
	top: -8px;
	left: 0;
	right: 0;
	margin: 0 auto;
	height: 16px;
	width: 32px;
}

.tp-register__snsGroup {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 24px 32px;
	width: 100%;
}

.tp-register__snsGroup--top {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 32px 24px 0;
	width: 100%;
}

.tp-register__text {
	font-weight: bold;
	margin-bottom: 8px;
}

.tp-register__desc {
	font-size: 1.1rem;
}

.tp-cta__descBox {
   margin-top: 20px;
   padding-bottom: 32px;
}

.tp-register__snsBox {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 16px auto 20px;
	width: 100%;
	max-width: 368px;
}

.tp-register__snsItem {
	box-sizing: border-box;
	padding: 8px 0;
	width: 100%;
	max-width: 260px;
}

.tp-register__snsItem a {
	background: rgba(255, 255, 255, .9);
	border-radius: 24px;
	box-shadow: 0 1px 10px 0 rgba(76 ,65 ,102 , .2);
	box-sizing: border-box;
	color: #443F4F;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .2s cubic-bezier(.17,.67,.83,.47);
	padding: 0 12px;
	height: 48px;
}

.tp-register__snsItem a.hover {
	background: rgba(250, 250, 250, .8);
	box-shadow: 0 0 5px 0 rgba(76 ,65 ,102 , .2);
}

.tp-register__icon img {
	margin-right: 8px;
	height: 20px;
	width: auto;
}

.tp-register__snsBtn {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: left;
}

.tp-register__snsBtn span {
	font-family: "Noto Sans JP";
}

.tp-register__snsName {
	font-size: 1.4rem;
	margin-right: 2px;
}

.tp-register__yahoo {
	font-size: 1.4rem;
	margin-right: 2px;
}

/* 閉じるボタン */
.tp-register__btnClose__boxOuter {
	position: absolute;
	top: 0;
	right: 0;
}

.tp-register__btnClose__box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	width: 48px;
}

.tp-register__btnClose__box.hover {
	opacity: 0.5;
}

.tp-register__btnClose {
	position: relative;
	top: -1px;
	left: -1px;
	width: 1px;
	height: 15px;
	background: #303030;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.tp-register__btnClose::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 7px;
	width: 15px;
	height: 1px;
	background: #4c4166;
}

/* 4inch */
@media (max-width: 320px) {
	.tp-register__line, 
	.tp-register__cta {
		padding: 0 24px;
	}

	.tp-register__logo {
		margin-top: 32px;
		margin-bottom: -8px;
	}

	.tp-register__logo svg {
		height: 56px;
	}

	.tp-register__snsGroup {
		padding: 0 16px 32px;
	}

	.tp-register__snsItem, 
   .tp-register__cta .tp-cta, 
   .tp-register__cta .tp-cta a {
		max-width: 100%;
	}
}

/*------------------------------
	下部固定ボタン押下後ダイアログ
------------------------------*/
.tp-registerBtnContainer {
   display: flex;
   flex-direction: column;
   align-items: center;
	padding: 0 25px;
}

.tp-registerBtn__title {
	position: relative;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 15px;
	color: rgba(48,48,48,0.75);
}

.tp-registerBtn__title:before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 22px;
	background-image: url(../img/top_dialog_title_line.png) ;
	background-size: contain;
	margin-right: 8px;
	vertical-align: middle;
}

.tp-registerBtn__title:after {
	content: '';
	display: inline-block;
	width: 14px;
	height: 22px;
	background-image: url(../img/top_dialog_title_line.png);
	background-size: contain;
	margin-right: 8px;
	vertical-align: middle;
	transform: scale(-1, 1);
}

.tp-bg__registerBtn .tp-register__btn__close {
   position: absolute;
   top: 2px;
   right:5px;
}

.tp-registerBtn__text {
	font-size:1.1rem;
	font-weight: 700;
	color: rgba(48,48,48,0.75);
	padding: 8px 0 3px;
	border-bottom: dotted 1px rgba(48,48,48,0.75);
	margin: 0 5px;
}

.tp-header__menu--dialogClose {
	height: 17px;
}

.tp-header__menu--dialogClose span {
	background-color: #303030;
	height: 1px;
	border-radius: 0px;
}

.tp-dialog__registerBtn {
	background: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	color: #303030;
	line-height: 1.6;
	margin-top: -48px;
	text-align: center;
	position: relative;
	transition: all .3s ease;
	padding: 45px 16px 26px;
	width: 275px;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--phone {
	background: #F26D6D;
	height: 48px;
	border-radius: 24px;
	font-size: 1.5rem;
	font-weight: bold;
	width: 100%;
	margin-bottom: 15px;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--phone a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	height: 48px;
	border-radius: 24px;
	width: 100%;
}

.tp-dialog__registerBtn--phone a.hover {
	background: #CB6161;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--line {
	background: #06C755;
	height: 48px;
	border-radius: 24px;
	font-size: 1.5rem;
	font-weight: bold;
	width: 100%;
	margin-bottom: 15px;

}

.tp-dialog__registerBtn .tp-dialog__registerBtn--line p{
	margin-left: 28px;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--line a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	height: 48px;
	border-radius: 24px;
	width: 100%;
	background-image: url("../img/top_icon_line.svg");
	background-repeat: no-repeat;
	background-position:45px;
	background-size: 39px auto;
}

.tp-dialog__registerBtn--line a.hover {
	background: #048B3C;
	background-image: url("../img/top_icon_line.svg");
	background-repeat: no-repeat;
	background-position:45px;
	background-size: 39px auto;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--login {
	background: #fff;
	border: 1px solid rgba(48,48,48,0.2);
	height: 48px;
	border-radius: 24px;
	font-size: 1.5rem;
	font-weight: bold;
	width: 100%;
	margin-bottom: 10px;
}

.tp-dialog__registerBtn .tp-dialog__registerBtn--login a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: rgba(48,48,48,0.75);
	height: 48px;
	border-radius: 24px;
	width: 100%;
}

.tp-dialog__registerBtn--login span {
	font-size: 1.2rem;
	margin-right: 6px;
}

.tp-dialog__registerBtn--login a.hover {
	background: rgba(48,48,48,0.1);
}

.tp-bg__registerBtn .tp-cta__btn {
   margin-bottom: 15px;
   min-width: 260px;
}

.tp-bg__registerBtn .tp-btn__start a {
   font-size: 1.7rem;
}

.tp-bg__registerBtn .tp-cta__desc {
   margin-bottom: 25px;
}

/*------------------------------
	登録方法選択ダイアログ PC版
------------------------------*/
.tp-registerContainer--hd {
	background: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	padding: 45px 0 30px;
	text-align: center;
	position: relative;
	width: 420px;
}

.tp-registerContainer--hd .tp-register__btn__close {
   position: absolute;
   top: 0px;
   right:0px;
}

.tp-registerContainer--hd .tp-cta__btn {
   margin-bottom: 18px;
	width: 356px;
}

.tp-registerContainer--hd .tp-btn__start a {
   font-size: 1.7rem;
}

.tp-registerContainer--hd .tp-cta__desc {
   margin-bottom: 25px;
}

.tp-registerContainer--hd .tp-cta__btn {
	border-radius: 32px;
	height:64px;
}

.tp-registerContainer--hd .tp-cta__btn a {
	border-radius: 32px;
	height:64px;
}

.tp-registerContainer--hd .tp-btn__start a {
	font-size: 1.9rem;
}

.tp-registerContainer--hd .tp-btn__fb a {
	font-size: 1.8rem;
}

.tp-registerContainer--hd .tp-btn__fb span {
	font-size: 1.1rem;
	padding-top: 9px;
}

.tp-registerContainer--hd .tp-btn__line a {
	font-size: 1.9rem;
	background-image: url("../img/top_icon_line.svg");
	background-repeat: no-repeat;
	background-position:75px;
	background-size: 46px auto;
	padding-left: 25px;
}

.tp-registerContainer--hd .tp-cta__login a {
	font-size: 1.9rem;
}

.tp-registerContainer--hd .tp-cta__login span {
	font-size: 1.4rem;
	margin: 0 10px 0 0;
	vertical-align:2px;
}

.tp-registerContainer--hd .tp-registerBtn__text {
	font-size:1.5rem;
	padding: 15px 0 8px;
	margin: 0 0 15px;
	font-weight: 500;
}

.tp-registerContainer--hd .tp-registerBtn__title {
	font-size: 1.9rem;
	margin: 20px 0 20px 7px;
}

.tp-registerContainer--hd .tp-registerBtn__title:before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 33px;
	background-image: url(../img/top_dialog_title_line.png) ;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 15px;
	vertical-align: middle;
}

.tp-registerContainer--hd .tp-registerBtn__title:after {
	content: '';
	display: inline-block;
	width: 18px;
	height: 33px;
	background-image: url(../img/top_dialog_title_line.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin-left: 8px;
	vertical-align: middle;
	transform: scale(-1, 1);
}

.tp-registerContainer--hd .tp-header__menu--dialogClose {
	height: 20px;
}

.tp-registerContainer--hd .tp-header__menu--dialogClose span  {
	height: 2px;
}

.tp-registerContainer--hd .tp-header__menu {
	width: 26px;
	height: 18px;
}

.tp-registerContainer--hd .tp-header__menuBox a {
	height: 66px;
	width: 66px;
}

/*====================================================
	メニュー配下
====================================================*/
.tp-menuCont__wrapper {
	padding: 48px 25px 60px;
	padding-left: calc(constant(safe-area-inset-left) + 25px);
	padding-left: calc(env(safe-area-inset-left) + 25px);
	padding-right: calc(constant(safe-area-inset-right) + 25px);
	padding-right: calc(env(safe-area-inset-right) + 25px);
	min-height: 100%;
}

/* 4inch */
@media (max-width: 320px) {
	.tp-menuCont__wrapper {
		padding: 48px 25px 60px;
	}
}

.tp-menuCont__title {
	color: #924A46;
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
	padding-bottom: 30px;
}

.tp-menuCont__title--1line {
	font-size: 2.0rem;
}

.tp-menuCont__title--left {
	color: #C17A66;
	font-size: 1.9rem;
	line-height: 1.5;
	padding: 35px 0 25px;
}

.tp-menuCont__subTitle {
	font-size: 1.7rem;
	margin:50px 0 20px;
	padding: 8px 0 8px 13px;
	border-left: 2px solid #303030;
	line-height: 1.3;
}

.tp-menuCont__title--small {
	font-size: 1.5rem;
	margin-top: 40px;
	margin-bottom: 7px;
	color: #924A46;
	line-height: 1.5;
}

.tp-menuCont__title--tiny {
	font-size: 1.4rem;
	margin-bottom: 10px;
	color: #303030;
	line-height: 1.5;
	font-weight: 700;
}

.tp-menuCont__logo img {
	margin-right: 2px;
	width: 96px;
}

.tp-menuCont__block {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 20px 0 rgba(161, 159, 167, 0.08);
	padding: 28px 24px 24px;
}

.tp-menuCont__block + .tp-menuCont__block {
	margin-top: 24px;
}

.tp-menuCont__text {
	font-size: 1.4rem;
	line-height: 1.9;
	margin-bottom: 25px;
}

.tp-menuCont__text a {
	color: #924A46;
	text-decoration: underline;
}

.tp-menuCont__text a.hover {
	opacity: 0.8;
}

.tp-menuCont__box {
	background: rgba(193,122,102,0.1);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 20px;
}

.tp-menuCont__boxTitle {
	color: #924A46;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 700;
	margin-bottom: 5px;
}

.tp-menuCont__boxText {
	font-size: 1.3rem;
	line-height: 1.6;
}

.tp-menuCont__list  {
	list-style-type: disc;
	line-height: 1.5;
	padding-left: 15px;
	margin-bottom: 25px;
}

.tp-menuCont__list--number {
	list-style-type: decimal;	
}

.tp-menuCont__list li  {
	margin-bottom: 5px;
}

.tp-contblock__title {
	font-size: 1.6rem;
	line-height: 1.2;
	margin-bottom: 14px;
}

.tp-contblock__title span {
	color: #BB5345;
	font-size: 2rem;
	font-weight: normal;
	margin-right: 6px;
}

.tp-contblock_img {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
}

.tp-contblock_img img {
	width: 100%;
}

.tp-contblock__text {
	line-height: 1.8;
	margin-bottom: 12px;
	text-align: justify;
}

/*------------------------------
  パンくず
------------------------------*/
.tp-breadcrumbs ul {
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	margin: 20px 0 45px;
}

.tp-breadcrumbs li {
	display: flex;
	align-items: center;
}

.tp-breadcrumbs a {
	color: #303030;
}

.tp-breadcrumbs a.hover {
	opacity: 0.5;
}

.tp-breadcrumbs__end {
	position: relative;
	display: inline-block;
	padding: 0 0 0 23px;
}

.tp-breadcrumbs__end::after {
 content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #BB5345;
  border-right: solid 1px #BB5345;
  position: absolute;
  top: 50%;
  left: 7px;
  margin-top: -4px;
  transform: rotate(45deg);
}

/*------------------------------
   料金プラン 
------------------------------*/
.tp-plan__text--caution {
	font-size: 1.2rem;
	font-weight: 700;
}

.tp-planCont__text--box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}

/* 定額パック用 料金表 */

.tp-plan__table__header--fixedAmount {
    width: 100%;
    box-sizing: border-box;
    background: #BE3D4D;
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
}

.tp-plan__table__header--fixedAmount-hd {
    width: 100%;
    box-sizing: border-box;
    background: #BE3D4D;
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
    font-size: 1.6rem;
}

.tp-plan__table__header--premium-hd {
    width: 100%;
    box-sizing: border-box;
    background: linear-gradient(352deg, #B19541 -1.3%, rgba(177, 149, 65, 0.85) 57.36%, rgba(177, 149, 65, 0.53) 118.52%);
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
    font-size: 1.6rem;
}

.tp-plan__table__header--point-hd {
    width: 100%;
    box-sizing: border-box;
    background: #7E4542;
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
    font-size: 1.6rem;
}

.tp-plan__table__content__paid--fixedAmount {
    width: 40%;
    box-sizing: border-box;
    height: 56px;
    border-right: 1px solid #BE3D4D;
    border-top: 1px solid #BE3D4D;
    font-weight: bold;
    font-size: 1.4rem;
    color: #BE3D4D;
    background-color: rgba(207, 63, 80, 0.05);
    line-height: 56px;
}

.tp-plan__table__plan__paid--fixedAmount {
    width: 62px;
    background: #BE3D4D;
    border-radius: 10px 10px 0 0;
    color: #fff;
    height: 44px;
}

.tp-plan__table__text__paid--fixedAmount {
    width: 60%;
    box-sizing: border-box;
    color: #303030;
    height: 56px;
    font-size: 1.4rem;
    font-weight: bold;
    border-top: 1px solid #BE3D4D;
    line-height: 56px;
    text-align: center;
}

.tp-plan__table__text__paid--fixedAmount--border {
    border-right: 1px solid #BE3D4D;;
}

.tp-plan__table__text__paid--border-fixedAmount {
    border-left: 1px solid #FFFFFF;
}

.tp-plan__table--fixedAmount {
    background-color: #ffffff;
    height: 56px;
    width: 206px;
    border-right: 1px solid #BE3D4D;;
}

/* プレミアムパック用 料金表 */

.tp-plan__table__header--premium {
    width: 100%;
    box-sizing: border-box;
    background: linear-gradient(352deg, #B19541 -1.3%, rgba(177, 149, 65, 0.85) 57.36%, rgba(177, 149, 65, 0.53) 118.52%);
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
}

.tp-plan__table__content__paid--premium {
    width: 40%;
    box-sizing: border-box;
    height: 56px;
    border-right: 1px solid #957D34;
    border-top: 1px solid #957D34;
    font-weight: bold;
    font-size: 1.4rem;
    color: #957D34;
    background-color: rgba(209, 181, 122, 0.1);
    line-height: 56px;
}

.tp-plan__table__plan__paid--premium {
    width: 62px;
    background: rgba(209, 181, 122, 0.1);
    border-radius: 10px 10px 0 0;
    color: #fff;
    height: 44px;
}

.tp-plan__table__text__paid--premium {
    width: 60%;
    box-sizing: border-box;
    color: #303030;
    height: 56px;
    font-size: 1.4rem;
    font-weight: bold;
    border-top: 1px solid #957D34;
    line-height: 56px;
    text-align: center;
}

.tp-plan__table--premium {
    background-color: #ffffff;
    height: 56px;
    width: 206px;
    border-right: 1px solid #957D34;
}

/* ポイント利用用 料金表 */

.tp-plan__table__header--point {
    width: 100%;
    box-sizing: border-box;
    background: #7E4542;
    color: #fff;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
}

.tp-plan__table__content__paid--point {
    width: 40%;
    box-sizing: border-box;
    height: 56px;
    border-right: 1px solid #7E4542;
    border-top: 1px solid #7E4542;
    font-weight: bold;
    font-size: 1.4rem;
    color: #7E4542;
    background-color: rgba(193, 122, 102, 0.05);
    line-height: 56px;
}

.tp-plan__table__text__paid--point {
    width: 60%;
    box-sizing: border-box;
    color: #303030;
    height: 56px;
    font-size: 1.4rem;
    font-weight: bold;
    border-top: 1px solid #7E4542;
    line-height: 20px;
    text-align: center;
}

.tp-plan__table--point {
    background-color: #ffffff;
    height: 56px;
    width: 206px;
    border-right: 1px solid #7E4542;
}

/* 比較表 */
.tp-plan__table_outer {
    position: relative;
    z-index: 0;
}

.tp-plan__table_outer--fixedAmount {
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #BE3D4D;
}

.tp-plan__table_outer--premium {
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #957D34;
}

.tp-plan__table_outer--point {
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #7E4542;
}

.tp-plan__table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    border-radius: 0 0 10px 10px;
    margin: 0;
    box-sizing: border-box;
}

.tp-plan__table tr {
	text-align: center;
	border-collapse: collapse;
}
.tp-plan__table--plan {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    margin: 0;
    box-sizing: border-box;
}

.tp-plan__table--plan tr {
    text-align: center;
    border-collapse: collapse;
}

.tp-plan__table--bggray {
    background: #F9F9F9;
}
.tp-plan__table--bg {
	background: #ffffff;
}

.tp-plan__table__plan--free {
    width: 22%;
    min-width: 62px;
    background: rgba(48, 48, 48, 0.6);
    height: 43px;
    font-size: 1.2rem;
    color: #ffffff;
}

.tp-plan__table__plan--month {
    width: 22%;
    min-width: 62px;
    background: #BE3D4D;
    font-size: 1.2rem;
    color: #fff;
    height: 43px;
    line-height: 1.2;;
}

.tp-plan__table__plan--premium {
    width: 22%;
    min-width: 62px;
    background: linear-gradient(352deg, #B19541 -1.3%, rgba(177, 149, 65, 0.85) 57.36%, rgba(177, 149, 65, 0.53) 118.52%);
    font-size: 1.2rem;
    color: #fff;
    height: 43px;
}

.tp-plan__table__content {
    height: 50px;
    border-right: 1px solid #EAEAEA;
    border-bottom: 1px solid #EAEAEA;
    border-left: 1px solid #EAEAEA;
    text-align: left;
    font-weight: bold;
    padding-left: 8px;
    line-height: 1.5;
    font-size: 1.1rem;
}

.tp-plan__table__content--top {
    border-top: 1px solid #EAEAEA;
}

.tp-plan__table__content span {
	display: inline-block;
}

.tp-plan__table__content--small {
	font-size: 1.0rem;
	position: absolute;
	top: 0px;
	right: -9px;
}

.tp-plan__table__border {
    border-right: 1px solid #EAEAEA;
    border-bottom: 1px solid #EAEAEA;
}

.tp-plan__table__no-border {
    width: 34%;
}

.tp-plan__table__text--gray {
    font-size: 1.2rem;
    font-weight: 600;
    color: rgba(48, 48, 48, 0.6);
}

.tp-plan__table__text--red {
    font-size: 1.2rem;
    font-weight: 600;
    color: #BE3D4D;
}

.tp-plan__table__text--gold {
    font-size: 1.2rem;
    font-weight: 600;
    color: #B19541;
}

.tp-plan__table__free {
	display: inline-block;
	width: 52px;
	height: 16px;
	position: relative;
	margin: 0 auto;
	font-size: 1.0rem;
	color: rgba(48, 48, 48, 0.6);
	font-weight: 600;
}

.tp-plan__table__content--small--free {
	font-size: 0.8rem;
	position: absolute;
	top: -10px;
	right: -1px;
}

.tp-plan__table__x {
	display: inline-block;
	width: 24px;
	height: 24px;
	position: relative;
	margin: 0 auto;
}

.tp-plan__table__x span::before,
.tp-plan__table__x span::after {
	display: block;
	content: "";
	position: absolute;
	top: 58%;
	left: 50%;
	width: 84%;
	height: 16%;
	margin: -8% 0 0 -42%;
	background: #cbcbcb;
}

.tp-plan__table__x span::before {
	transform: rotate(-45deg);
}

.tp-plan__table__x span::after {
	transform: rotate(45deg);
}

.tp-plan__table__circle {
	width: 11px;
	height: 11px;
	border: 4px solid #BB5345;
	border-radius: 50%;
	margin: 0 auto;
}

.tp-plan__table__caution {
	font-size: 1.0rem;
	line-height: 1.5;
}

.tp-plan__price {
	color: #BB5345;
	font-weight: 500;
	font-size: 2.2rem;
	margin-bottom: 15px;
}

.tp-plan__price--unit {
	font-size: 1.7rem;
}

.tp-plan__price--month {
	font-size: 1.3rem;
}

.tp-plan__caution p {
    font-size: 1.1rem;
    line-height: 1.5;
    padding-bottom: 5px;
    padding-top: 8px;
    color: rgba(48, 48, 48, 0.75);
}

.tp-planCont__information {
    color: rgba(48, 48, 48, 0.75);
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 2px;
}

@media screen and (max-width: 320px) {
	.tp-plan__table__content {
		min-width: 75px;
		font-size: 1.0rem;
		padding-left: 4px;
	}

	.tp-plan__table__plan--free {
		min-width: 48px;
		font-size: 1.0rem;
	}
	
	.tp-plan__table__plan--month {
		min-width: 48px;
		font-size: 1.0rem;
	}

	.tp-plan__table__plan--premium {
		min-width: 48px;
		font-size: 1.0rem;
	}
	
	.tp-plan__table__plan--premium span {
		display: inline-block;
		line-height: 1.2;
		transform: scale(0.9);
	}
}
.tp-planCont__text {
    font-size: 1.4rem;
    line-height: 1.9;
}

.tp-planCont__text--bg {
    margin-bottom: 32px;
}

/* 無料プラン */
.tp-plan__subTitle {
    font-size: 1.7rem;
    padding: 8px 0 8px 13px;
    border-left: 2px solid #303030;
    line-height: 1.3;
}

.tp-plan__free {
    background-color: rgba(193, 122, 102, 0.1);
    margin-left: -25px;
    margin-right: -25px;
    padding-top: 32px;
    padding-bottom: 32px;
    box-sizing: border-box;
}

.tp-plan__free > .tp-plan__free__box,
.tp-plan__free > .tp-planCont__headBlock,
.tp-plan__free > .tp-plan__table_outer {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 25px;
    padding-right: 25px;
    box-sizing: border-box;
}

.tp-plan__free > h3.tp-plan__subTitle {
    margin-left: 25px;
    margin-bottom: 24px;
    box-sizing: border-box;
}

.tp-plan__free__box {
    display: flex;
    gap: 8px;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

.tp-plan__free__card {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.tp-plan__free__card--woman .tp-plan__free__top {
    background-color: #cb6161;
}

.tp-plan__free__card--men .tp-plan__free__top {
    background-color: #1895A4;
}

.tp-plan__free__top {
    align-self: stretch;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 0;
}

.tp-plan__free__gender {
    line-height: 1.9;
    color: #ffffff;
    font-weight: 500;
}

.tp-plan__free__bottom {
    align-self: stretch;
    border-radius: 0 0 10px 10px;
    background-color: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    flex-grow: 1;
}

.tp-plan__free__bottom__text {
    font-size: 12px;
    color: #cb6161;
    line-height: 1.6rem;
    font-weight: 500;
}

.tp-plan__free__card--men .tp-plan__free__bottom__text {
    color: #1895A4;
}

/* 有料プラン */

.tp-plan__paid {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 32px 0;
    box-sizing: border-box;
    gap: 24px;
}

.tp-plan__subTitle__titile {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

/* 定額パックでできること */
.tp-plan__paid-color--fixedAmount {
    color: #BE3D4D;
}

.tp-plan__subTitle__border--fixedAmount {
    height: 1px;
    border-bottom: 2px dotted rgba(207, 63, 80, 0.50);
    width: 100%;
}

.tp-plan__paid-column--fixedAmount {
    background-color: rgba(207, 63, 80, 0.05);
    width: 100%;
    box-sizing: border-box;
}


/* プレミアムパックでできること */
.tp-plan__paid-color--premium {
    color: #B19541;
}

.tp-plan__subTitle__border--premium {
    height: 1px;
    border-bottom: 2px dotted #D1B57A;
    width: 100%;
}

.tp-plan__paid-column--premium {
    background-color: rgba(209, 181, 122, 0.1);
    width: 100%;
    box-sizing: border-box;
}

.tp-plan__paid-cardTitle--premium {
    background: linear-gradient(352deg, #B19541 -1.3%, rgba(177, 149, 65, 0.85) 57.36%, rgba(177, 149, 65, 0.53) 118.52%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tp-plan__caution--premium {
    margin-top: 8px;
    font-size: 1.1rem;
    line-height: 1.5;
    padding-bottom: 5px;
    color: #303030;
}

/* ポイント利用 */
.tp-plan__paid-color--point {
    color: #924A46;
}

.tp-plan__subTitle__border--point {
    height: 1px;
    border-bottom: 2px dotted #AD7774;
    width: 100%;
}

.tp-planCont__information__box{
    margin-bottom: 32px;
}

/* アコーディオン */
.tp-plan__paid-column {
    padding: 16px;
    border-radius: 10px;
}

.tp-plan__paid-input {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

.tp-plan__paid-outerCard {
    position: relative;
    background: transparent;
    overflow: visible;
}

.tp-plan__paid-cardVisual {
    background: #ffffff;
    border-radius: 5px;
    display: flex;
    padding: 20px 15px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    margin: 16px 0;
}

.tp-plan__paid-cardTitle {
    font-weight: 600;
    font-size: 16px;
    text-align: center;
    line-height:1.5;
}

.tp-plan__paid-list {
    display: flex;
    gap: 3px;
}

.tp-plan__paid-list img{
    width: 24px;
}

.tp-plan__paid-list p {
    margin-top: 4px;
}

.tp-plan__paid-btn {
    cursor: pointer;
    display: flex;
    height: 32px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    user-select: none;
}

.tp-plan__paid-btn:active{
    opacity: 0.6;
}

.tp-plan__paid-btn > p {
    margin: 0;
    padding: 0;
    font-weight: 600;
    font-size: 1.5rem;
}

.tp-plan__paid-icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 4px;
    background-image: url('../img/arrow_down.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 220ms ease;
}

.tp-plan__paid-input:checked + .tp-plan__paid-outerCard .tp-plan__paid-icon {
    transform: rotate(180deg);
}

/*  アコーディオン中身 */
.tp-plan__paid-panel {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition:
            max-height 420ms cubic-bezier(.2,.8,.2,1),
            opacity 320ms ease,
            transform 320ms ease,
            padding 320ms ease;
}

/* Panel が開いた時のスタイル */
.tp-plan__paid-input:checked + .tp-plan__paid-outerCard .tp-plan__paid-panel {
    max-height: 3000px;
    opacity: 1;
    transform: translateY(0);
}

/* ToggleLabel の回転 */
.tp-plan__paid-input:checked + .tp-plan__paid-outerCard .tp-plan__paid-toggleLabel {
    transform: rotate(180deg);
}

/* PanelBlock (個別のセクション) */
.tp-plan__paid-panelBlock {
    background: #fff;
    border-radius: 5px;
    padding: 20px 12px;
    margin-top: 24px;
}

.tp-plan__paid-panelHeading {
    font-weight: 600;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.5;
}

.tp-plan__paid-panelBody {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tp-plan__paid-panelText {
    font-size: 1.3rem;
    line-height: 1.5;
}

.tp-plan__paid-panelImg {
    width: 269px;
    height: auto;
    margin: 20px 0;
}

.tp-plan__paid-panelImg-bg {
    width: 429px;
}

@media (max-width: 370px) {
    .tp-plan__paid-panelImg {
        width: 200px;
    }
}
/*------------------------------
   料金プラン  PC版
------------------------------*/
.tp-container__info--hd-wt {
    background: #ffffff;
    color: #303030;
    font-size: 1.4rem;
    line-height: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.tp-infoContainer--hd .tp-plan__paid-btn:hover{
    opacity: 0.6;
}

.tp-infoContainer--hd .tp-plan__free {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-left: 0px;
    margin-right: 0px;
}

.tp-infoContainer--hd .tp-plan__free > h3.tp-plan__subTitle {
    max-width: 800px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    box-sizing: border-box;
}

.tp-infoContainer--hd .tp-plan__free > .tp-plan__free__box{
    padding-left: 0;
    padding-right: 0;
}

.tp-infoContainer--hd .tp-plan__subTitle,
.tp-infoContainer--hd .tp-plan__free__gender,
.tp-infoContainer--hd .tp-plan__paid-color--fixedAmount{
    font-size: 1.8rem;
}

.tp-infoContainer--hd .tp-plan__free__bottom__text{
    font-size: 1.5rem;
    line-height: 1.5;
}

.tp-infoContainer--hd .tp-planCont__text {
    font-size: 1.6rem;
}

.tp-infoContainer--hd .tp-plan__paid-list p{
    font-size: 1.6rem;
    margin-top: 2px;
}

.tp-infoContainer--hd .tp-plan__paid-cardTitle{
    font-size: 1.7rem;
}

.tp-infoContainer--hd .tp-plan__paid-cardVisual{
    display: grid;
    grid-template-columns: 340px 340px;
    margin: 20px 0;
}

.tp-infoContainer--hd .tp-plan__paid-column{
    padding: 24px 40px;
}


.tp-infoContainer--hd .tp-plan__paid-panelText {
    text-align: center;
}


.tp-infoContainer--hd .tp-plan__table__header--fixedAmount,
.tp-infoContainer--hd .tp-plan__table__header--premium,
.tp-infoContainer--hd .tp-plan__table__header--point {
    font-size: 1.8rem;
}

.tp-infoContainer--hd .tp-plan__table__content__paid--fixedAmount span,
.tp-infoContainer--hd .tp-plan__table__text__paid--fixedAmount,
.tp-infoContainer--hd .tp-plan__table__content__paid--premium span,
.tp-infoContainer--hd .tp-plan__table__text__paid--premium,
.tp-infoContainer--hd .tp-plan__table__content__paid--point span,
.tp-infoContainer--hd .tp-plan__table__text__paid--point{
    font-size: 1.6rem;
}

.tp-infoContainer--hd .tp-plan__table__content__paid--fixedAmount{
    width: 206px;
}

.tp-infoContainer--hd .tp-planCont__information__box{
    margin-bottom: 40px;
}

.tp-infoContainer--hd .tp-plan__table__content span,
.tp-infoContainer--hd .tp-plan__table__plan--free,
.tp-infoContainer--hd .tp-plan__table__plan--month,
.tp-infoContainer--hd .tp-plan__table__plan--premium{
    font-size: 1.4rem;
}

.tp-infoContainer--hd .tp-plan__table__text--gray,
.tp-infoContainer--hd .tp-plan__table__text--red,
.tp-infoContainer--hd .tp-plan__table__text--gold{
    font-size: 1.6rem;
}

.tp-infoContainer--hd .tp-plan__text--caution {
	font-size: 1.6rem;
	margin: -15px 0 50px;
}

.tp-infoContainer--hd .tp-plan__table { 
	font-size: 1.4rem;
}

.tp-infoContainer--hd .tp-plan__table__plan--free,
.tp-infoContainer--hd .tp-plan__table__plan--month{ 
	font-size: 1.6rem;
	height: 52px;
}

.tp-infoContainer--hd .tp-plan__table__free{
	font-size: 1.5rem;
	width: 80px;
}

.tp-infoContainer--hd  .tp-plan__table__content--small--free {
	font-size: 1.0rem;
}

.tp-infoContainer--hd .tp-plan__table__content {
	height: 60px;
	padding-left: 14px;
}

.tp-infoContainer--hd .tp-plan__table__x {
	display: inline-block;
	width: 30px;
	height: 30px;
	position: relative;
	margin: 0 auto;
}

.tp-infoContainer--hd .tp-plan__table__content--small {
	font-size: 1.1rem;
	position: absolute;
	top: 0px;
	right: -15px;
}

.tp-infoContainer--hd .tp-plan__table__circle {
	width:16px;
	height: 16px;
	border: 5px solid #BB5345;
	border-radius: 50%;
	margin: 0 auto;
}

.tp-infoContainer--hd .tp-plan__table__caution {
	font-size: 1.1rem;
	padding-top: 2px;
}

.tp-infoContainer--hd .tp-plan__price {
	font-size: 2.3rem;
}

.tp-infoContainer--hd .tp-plan__price--month {
	font-size: 1.4rem;
}

.tp-infoContainer--hd .tp-plan__caution p {
	font-size: 1.1rem;
	line-height: 1.3;
}

.tp-infoContainer--hd  .tp-plan__free__box,
.tp-infoContainer--hd  .tp-plan__table_outer{
    margin-top: 32px;
}

/*------------------------------
	年齢確認に関して
------------------------------*/
.tp-menuCont__wrapper .ag-box__contents, 
.tp-menuCont__wrapper .ag-box__title, 
.tp-menuCont--hd__wrapper .ag-box__contents, 
.tp-menuCont--hd__wrapper .ag-box__title {
	margin: 0 auto !important;
	max-width: 600px;
}

.tp-menuCont__text--hd {
	font-size: 1.3rem;
	margin-bottom: 8px;
	text-align: center;
}

.tp-ageCheck__NgTitle {
	margin-top: -15px;
}

.tp-ageCheck__howtoTitle {
	display: flex;
	color: #924A46;
	font-size: 1.6rem;
	line-height: 1.2;
}

.tp-ageCheck__howtoTitle--3 {
	align-items: center;
	margin-bottom: 20px;
}


.tp-ageCheck__howtoText {
	font-size: 1.4rem;
	line-height: 1.5;
	margin-bottom: 40px;
}

.tp-ageCheck__number {
	height:24px;
	width:24px;
	border-radius:50%;
	line-height:22px;
	text-align:center;
	background:#924A46;
	font-size:1.2rem;
	color: #fff;
	font-weight: 700;
	margin-right: 10px;
	flex-shrink: 0; 
} 

.tp-ageCheck__box {
	background: rgba(193,122,102,0.07);
	border-radius:  0 0 10px 10px;
	margin: 20px 0 55px;
}

.tp-ageCheck__boxTitle {
	background: #7E4542;
	border-radius:  10px 10px 0 0;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	padding: 15px 0 ;	
}

.tp-ageCheck__licenseList__outer {
	padding: 25px 20px;
	max-width: 350px;
	margin: 0 auto;
}

.tp-ageCheck__licenseList {
	display: flex;
	justify-content: space-between;
}

.tp-ageCheck__licenseList__space{
    margin-bottom: 25px;
}

.tp-ageCheck__license {
	display: flex;
	align-items: center;
    width: 130px;
}

.tp-ageCheck__license img {
	width: 58px;
}

.tp-ageCheck__licenseTitle {
	font-size: 1.1rem;
	line-height: 1.3;
	color: #303030;
	font-weight: bold;
	padding-left: 6px;
}

.tp-ageCheck__licenseText--mynumber {
	font-size: 1.0rem; 
	padding: 5px 0 20px;
}

.tp-ageCheck__license--other {
	font-size: 1.1rem;
	background: #fff;
	border-radius: 5px;
	padding: 13px 10px 10px;
}

.tp-ageCheck__licenseTitle--other {
	font-weight: 700;
	margin-bottom: 5px;
}

.tp-ageCheck__licenseText--other {
	font-size: 1.0rem;
	line-height: 1.8;
}

.tp-ageCheck__caution {
	display: flex;
	justify-content: center;
	font-size: 1.0rem;
	line-height: 1.7;
	margin: -20px 0 50px;
}

@media screen and (max-width: 320px) {
	.tp-ageCheck__licenseList__outer {
        padding: 15px 8px;
	}
	
	.tp-ageCheck__licenseTitle {
		font-size: 1.0rem;
	}
    
    .tp-ageCheck__licenseList{
        gap: 5px;
    }

    .tp-ageCheck__licenseList__space{
        margin-bottom: 20px;
    }
}

/*------------------------------
	年齢確認　 PC版
------------------------------*/
.tp-infoContainer--hd .tp-ageCheck__howtoTitle {
	font-size: 1.7rem;
	align-items: center;
	margin: 30px 0 20px;
}

.tp-infoContainer--hd .tp-ageCheck__boxTitle {
	font-size: 1.6rem;
	padding: 13px 0;	
}

.tp-infoContainer--hd .tp-ageCheck__licenseList__outer {
    padding: 30px 30px;
    max-width: 640px;
    display: flex;
}

.tp-infoContainer--hd .tp-ageCheck__license {
	width: 190px;
}

.tp-infoContainer--hd .tp-ageCheck__license--1line {
	width: 250px;
}

.tp-infoContainer--hd .tp-ageCheck__license img {
	width: 70px;
}

.tp-infoContainer--hd .tp-ageCheck__licenseTitle {
	font-size: 1.2rem;
	padding-left: 10px;
}

.tp-infoContainer--hd .tp-ageCheck__license--other {
	font-size: 1.1rem;
	background: #fff;
	border-radius: 5px;
	padding: 12px 15px;
	width: 180px;
	box-sizing: border-box;
    height: 117px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tp-infoContainer--hd .tp-ageCheck__licenseList {
	align-items: flex-end;
    flex-wrap: wrap;
    gap: 28px 10px;
}

.tp-infoContainer--hd .tp-ageCheck__licenseList {
	align-items: center;
    width: 460px;
}

.tp-infoContainer--hd .tp-ageCheck__licenseText--mynumber {
	font-weight: normal;
	font-size: 1.0rem;
	line-height: 1.8;
}

.tp-infoContainer--hd .tp-ageCheck__licenseTitle--other {
	font-size: 1.2rem;
}

.tp-ageCheck__phone--hd {
	width: 362px;
	margin: -5px auto 25px;
}

.tp-ageCheck__phone--hd img{
	width: 100%;
}

.tp-ageCheck__NgTitle--hd {
	font-size: 1.5rem;
	margin-top: -15px;
}

.tp-ageCheck__NgContents--hd {
	width: 117px;
	font-weight: bold;
	font-size: 1.3rem;
	text-align: center;
}

.tp-ageCheck__NgContents--hd p {
	padding-top: 10px;
}

.tp-ageCheck__NgContents--hd img {
	width: 100%;
}

.tp-infoContainer--hd .tp-ageCheck__caution {
	font-size: 1.1rem;
	justify-content:flex-start;
	padding-top: 5px;
}

.tp-ageCheck__privacy--hd {
	border: 1px solid rgb(193,122,102,0.4);
	border-radius: 10px;
	padding: 30px;
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 60px 0 20px 0;
}

.tp-ageCheck__privacyTitle--hd {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	color: #BB5345;
	margin-bottom: 15px;
}

.tp-ageCheck__privacy__japhic {
	display: flex;
	align-items: flex-end;
	font-size: 1.3rem;
	line-height: 1.3;
	margin: 10px 0 0;
}

.tp-ageCheck__privacy__japhic img {
	width: 50px;
	height: auto;
	margin: 5px 25px -5px 20px;
}

/*------------------------------
	メニュー配下 PC版
------------------------------*/
.tp-menuCont--hd__wrapper {
	background: #fafafa;
	padding: 88px 16px 16px;
	min-height: 100%;
	min-width: 960px;
}

.tp-menuCont--hd__titleBox {
	padding: 64px 0 56px;
}

.tp-menuCont--hd__title {
	color: #C2B2FF;
	font-size: 40px;
	display: flex;
	justify-content: center;
	padding: 12px 0;
}

.tp-menuCont--hd__logo img {
	margin: 2px 2px 0 0;
	width: 192px;
}

.tp-menuCont--hd__title span {
	background: linear-gradient(135deg, #BDA0FF 0%, #CAB5FF 20%, #ECAEFF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding-top: 4px;
}

@media all and (-ms-high-contrast:none) {
	.tp-menuCont--hd__logo img {
		margin: 0 2px 0 0;
}

	.tp-menuCont--hd__title span {
		background: none;
	}
}

.tp-menuCont--hd__title--sub {
	color: #D0CFD3;
	font-size: 1.6rem;
	letter-spacing: 1px;
	text-align: center;
}

.tp-menuCont--hd__block {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 960px;
}

.tp-menuCont--hd__item {
	display: flex;
	flex-direction: column;
	margin-bottom: 72px;
	width: 420px;
}

.tp-contblock--hd__title {
	font-size: 2.2rem;
	line-height: 1.4;
	margin-bottom: 14px;
	text-align: center;
}

.tp-contblock--hd__title span {
	color: #BB5345;
	font-size: 2.4rem;
	font-weight: normal;
	margin-right: 6px;
}

.tp-contblock--hd__text {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 12px;
	text-align: justify;
	order: 2;
}

.tp-contblock--hd__text--s {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-bottom: 4px;
	text-align: justify;
	order: 2;
}



/*====================================================
	運営者情報
====================================================*/

.tp-infoContainer li:last-child {
	border: none;
}

.tp-infoList li {
	box-sizing: border-box;
	display: flex;
	word-break: break-all;
	font-size: 1.3rem;
	line-height: 1.8;
	padding-bottom: 25px;
}

.tp-infoList__listItem--left {
	box-sizing: border-box;
	flex-basis: 130px;
	font-weight: 700;
	padding-right: 5px;
}

.tp-infoList__listItem--right {
	flex: 1;
}

.tp-infoList__listItem__caution {
	font-size: 1.0rem;
	line-height: 1.7;
	display: block;
}

/* ---------------------------------------------------
   固定表示用余白
----------------------------------------------------*/
/* グローバルメニュー */
.tp-menuCont__underNav {
	padding-top: 77px;
}

.tp-menuCont__underNav--banner {
	padding-top: 121px;
}

/* グローバルメニュー + タイトル */
.tp-menuCont__underNavTitle {
	padding-top: 129px;
}

.tp-menuCont__underNavTitle--banner {
	padding-top: 173px;
}

/*------------------------------
   PC版
------------------------------*/
.tp-infoContainer--hd {
	display: block;
	padding: 150px 0 0;
}

/* パンくず */
.tp-breadcrumbs__outer--hd  {
	max-width: 1240px;
	min-width: 1024px;
	margin: -70px auto -10px;
	padding: 0 0 0 20px;
	box-sizing: border-box;
}

.tp-breadcrumbs__outer--hd .tp-breadcrumbs ul {
	font-size: 1.3rem;
}

.tp-breadcrumbs__outer--hd .tp-breadcrumbs__end {
	padding: 0 0 0 28px;
}

.tp-breadcrumbs__outer--hd .tp-breadcrumbs__end::after {
	content: '';
	width: 7px;
	height: 7px;
	border: 0;
	border-top: solid 1px #BB5345;
	border-right: solid 1px #BB5345;
	position: absolute;
	top: 50%;
	left: 8px;
	margin-top: -3px;
	transform: rotate(45deg);
}

.tp-breadcrumbs__outer--hd .tp-breadcrumbs li:first-child img {
	padding-right: 5px;
	width: 15px;
	height: 12px;
}

.tp-infoBox__outer--hd {
	width:800px;
	margin:0 auto;
	padding: 0 20px;
}

.tp-infoBox--hd {
	width: 800px;
	margin:  0 auto 70px;
	background: #fff;
	border-radius: 20px;
}

.tp-infoBox__title--hd {
	font-size: 2.7rem;
	color: #C17A66;
	padding: 50px 50px 0;
}

.tp-infoheader__text--hd {
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 45px;
}

.tp-infoContainer--hd .tp-menuCont__title {
	font-size: 3.2rem;
	line-height: 1.2;
	padding-bottom: 38px;
}

.tp-infoContainer--hd .tp-menuCont__title--1line {
	font-size: 3.2rem;
}

.tp-infoContainer--hd .tp-infoList {
	padding: 40px 50px 50px;
}

.tp-infoContainer--hd .tp-infoList li {
	font-size: 1.4rem;
	line-height: 1.8;
	padding-bottom: 30px;
}

.tp-infoContainer--hd .tp-infoList li:last-of-type {
	padding-bottom: 0px;
}

.tp-infoContainer--hd .tp-infoList__listItem--left {
	flex-basis: 160px;
	padding-right: 10px;
}

.tp-infoBox__textOuter--hd {
	padding: 40px 50px 25px;
}

.tp-infoBox__textOuter--hd .tp-menuCont__subTitle {
	font-size: 1.8rem;
}

.tp-infoBox__textOuter--hd .tp-menuCont__subTitle--first {
	margin-top: 10px;
}

.tp-infoBox__textOuter--hd .tp-menuCont__title--small {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.tp-infoBox__textOuter--hd .tp-menuCont__list { 
	line-height: 1.7;
}

.tp-infoBox__textOuter--hd .tp-menuCont__list li { 
	margin-bottom: 6px;
}

@media (min-width: 768px) {
	.tp-infoContainer {
		font-size: 1.6rem;
	}

	.tp-infoTitleBox {
		font-size: 2.2rem;
		padding: 88px 22px 16px;
	}
}


/*====================================================
	AdWords
====================================================*/
/*------------------------------
   PC版
------------------------------*/
.tp-adwContainer {
	background: url(../img/top_adw_main_visual_hd.jpg) no-repeat center;
	background-size: cover;
	height: 100vh;
	min-height: 768px;
	transition: all .3s;
}

.tp-adw__contentBlock {
	background: rgba(255, 255, 255, 1);
	box-sizing: border-box;
	color: #303030;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 10px;
	width: 50%;
	max-width: 600px;
	height: 100vh;
	min-height: 768px;
	transition: all .3s;
}

@media (max-width: 1000px) {
	.tp-adwContainer {
		background-position: -200px 0;
	}
}

.tp-adw__logo--sp  {
	width: 172px;
}

.tp-adw__logo--pc  {
	width: 50%;
	max-width: 256px;
}

.tp-adw__logo--sp img,
.tp-adw__logo--pc img {
	width: 100%;	
}

.tp-adw__desc {
	font-size: 2.1rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing:0.08em;
	margin: 32px 0 50px;
}

.tp-adw__notes {
	font-size: 1.6rem;
	line-height: 1.4;
	margin-bottom: 16px;
}

.tp-adw__cta {
	background: #924a46;
	border-radius: 40px;
	height: 80px;
	width: 100%;
	max-width: 400px;
}

.tp-adw__cta a {
	background: #924a46;
	border-radius: 40px;
	box-shadow: 0 4px 15px 0 rgba(146, 74, 70, .3);
	box-sizing: border-box;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transition: all .2s;
	height: 80px;
	width: 100%;
	max-width: 400px;
}

.tp-adw__cta a.hover {
	background: #89463e;
	box-shadow: 0 0 8px 0 rgba(146, 74, 70, .3);
}

.tp-adw__link {
	margin: 32px 0 50px;
}

.tp-adw__link a {
	color: #bb5345;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: underline;
}

.tp-adw__link a.hover {
	opacity:0.5;
}

.tp-adw__copyright {
	font-size: 1.3rem;
	line-height: 1.4;
}

.tp-adw__copyright p + p {
	margin-top: 12px;
}
/*------------------------------
   スマホ版（width 668以上）
------------------------------*/
@media (min-width: 668px){
	.tp-adw__logo--sp img {
		display: none;
	}
}

/*------------------------------
   スマホ版（width 667以下）
------------------------------*/
@media (max-width: 667px){
	.tp-adwContainer {
		background: url(../img/top_adw_main_visual.jpg) no-repeat center -16px;
		background-size: 100%;
		box-sizing: border-box;
		min-height: 0;
		padding-top: 50%;
	}

	.tp-adw__contentBlock {
		background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 1) 50%);
		justify-content: flex-start;
		box-sizing: border-box;
		padding: 27px 0 0;
		width: 100%;
		max-width: 100%;
		height: 100%;
		min-height: 100%;
	}

	.tp-adw__logo--pc img {
		display: none;
	}

	.tp-adw__desc {
		font-size: 1.4rem;
		margin: 12px 0 27px;
	}

	.tp-adw__notes {
		font-size: 1.2rem;
		margin-bottom: 12px;
	}

	.tp-adw__cta {
		border-radius: 30px;
		height: 60px;
		width: 300px;
	}

	.tp-adw__cta a {
		border-radius: 30px;
		font-size: 2rem;
		height: 60px;
		width: 300px;
	}

	.tp-adw__link {
		margin: 20px 0 30px;
	}

	.tp-adw__link a {
		font-size: 1.3rem;
	}

	.tp-adw__copyright {
		font-size: 1.1rem;
		padding-bottom: 8px;
	}

	.tp-adw__copyright p {
		margin-bottom: 8px;
	}
}

/*====================================================
	幸せレポート
====================================================*/
/* タグの種別 */
/* 交際 */
.tp-report__tab--together {
	color: #F26D6D;
	border: 1px #F26D6D solid;
}

/* 婚約 */
.tp-report__tab--engagement {
	color: #4AACB7;
	border: 1px #4AACB7 solid;
}

/* 結婚 */
.tp-report__tab--marriage {
	color: #CF3F50;
	border: 1px #CF3F50 solid;
}

/* 再婚 */
.tp-report__tab--remarriage {
	color: #A270BF;
	border: 1px #A270BF solid;
}

/* TOPページ */
.tp-report__outer {
	background: rgba(193, 122, 102, 0.1);
	padding: 50px 15px 50px;
}

.tp-report__thumbnail__group {
	display: flex; 
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px 20px;
	margin:30px 10px 0;
}

.tp-report__thumbnail {
	width: calc(50% - 10px);
	box-sizing: border-box;
}

.tp-report__thumbnail a {
	display: block;
}

.tp-report__thumbnail a.hover {
	opacity: 0.8;
}

.tp-report__thumbnail__tab {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 17px;
	font-size: 1.1rem;
	line-height: 11px;
	font-weight: 600;
	border-radius: 3px;
	background: #fff;
	margin-right: 5px;
}

.tp-report__thumbnail__prof {
	font-size: 1.1rem;
	line-height: 18px;
	color: #303030;
	margin-top: 10px;
}

.tp-report__thumbnail__photo {
	width: 100%;
	border-radius: 5px;
}

.tp-report__thumbnail__title {
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 18px;
	color: #303030;
	padding-top: 5px;
}

.tp-report__list__btn {
	margin: 40px auto 0;
	border-radius: 24px;
	height:48px;
	width: 240px;
}

.tp-report__list__btn a {
	border-radius: 24px;
	box-sizing: border-box;
	color: #BB5345;
	background: #fff;
	border: 1px solid #C17A66;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transition: all .2s cubic-bezier(.17,.67,.83,.47);
	height:48px;
	width: 240px;
	font-size: 1.5rem;
}

.tp-report__list__btn a.hover{
	background:rgba(193, 122, 102, 0.20);
}

.tp-report__outer--hd .tp-report__list__btn {
	margin: 70px auto 0;
	border-radius: 30px;
	height: 60px;
	width: 320px;
}

.tp-report__outer--hd .tp-report__list__btn a {
	border-radius: 30px;
	box-sizing: border-box;
	color: #BB5345;
	background: #fff;
	border: 1px solid #C17A66;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transition: all .2s cubic-bezier(.17,.67,.83,.47);
	height: 60px;
	width: 320px;
	font-size: 1.8rem;
}

.tp-report__outer--hd .tp-report__list__btn a.hover{
	background:rgba(193, 122, 102, 0.20);
}

/* 詳細ページ */
.tp-report__detail__outer {
	margin: 75px 25px 50px;
}

.tp-report__detail__photo img {
	border-radius: 5px;
	width: 100%;
}

.tp-report__detail__title {
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 28px;
	color: #303030;
	margin: 15px 0;
}

.tp-report__detail__tab {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 22px;
	font-size: 1.2rem;
	line-height: 12px;
	font-weight: bold;
	border-radius: 5px;
	background: #fff;
	margin-right: 8px;
}

.tp-report__detail__prof {
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.4rem;
	padding-bottom: 50px;
}

.tp-report__detail__answerer {
	color: rgba(48, 48, 48, 0.60);
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 25px;
}

.tp-report__detail__subTitle {
	color: #B55C50;
	font-size:1.6rem;
	line-height: 22px;
	font-weight: 600;
	padding-bottom: 5px;
}

.tp-report__detail__text {
	font-size:1.5rem;
	line-height: 30px;
	padding-bottom: 40px;
}

.tp-report__detail__btn__outer {
	display: flex;
	justify-content: center;
	align-items: center;
}

.tp-report__detail__btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid rgba(48, 48, 48, 0.5);
	font-size: 1.5rem;
	font-weight: bold;
	color: rgba(48, 48, 48, 0.75);
	height: 48px;
	width: 240px;
	border-radius: 24px;
	margin: 0 25px;
}

.tp-report__detail__btn a.hover { 
	background: rgba(48, 48, 48, 0.1);
}

.tp-infoContainer--hd .tp-report__detail__btn a {
	font-size: 1.8rem;
	height: 60px;
	width: 300px;
	border-radius: 30px;
	margin: 0 auto;
}

/* 募集中 */
.tp-report__recruit {
	background: rgba(193, 122, 102, 0.2);
	padding: 0px 25px 40px;
}

.tp-report__recruit__title {
	font-family: 'Shippori Mincho', serif;
	color: #7E4542;
	font-size:2.5rem;
	font-weight: 500;
	line-height: 30px;
	text-align: center;
	padding: 40px 0 16px;
	border-bottom: 2px #7E4542 dotted;
}

.tp-report__recruit__title--img {
	background-image: url(../img/report_feather_sp.png);
	background-repeat: no-repeat;
	background-position: top 15px center;
	background-size: 100px 70px;
}

.tp-report__recruit__text {
	font-size: 1.4rem;
	line-height: 24px;
	text-align: center;
	padding: 20px 0;
}

.tp-report__recruit__present {
	margin-bottom: 20px;
}

.tp-report__recruit__present img {
	width: 100%;
}

.tp-report__recruit__btn a {
	margin: 0 auto;
	color: #fff;
	background: #7E4542;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
	width: 240px;
	height: 48px;
	border-radius: 24px;
}

.tp-report__recruit__btn a.hover {
	opacity: 0.8;
}

/* PC */
.tp-report__outer--hd {
	background: rgba(193, 122, 102, 0.1);
	padding: 80px 0 90px;
}

.tp-report__recruitOuter--hd {
	background: #F3E4E0;
	padding: 80px 0 80px;
}

.tp-report__recruit--hd {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 30px; 
	width:840px;
	margin: 0 auto;
}

.tp-report__recruit--hd .tp-report__recruit__title {
	font-size: 4.0rem;
	line-height: 50px;
	text-align: left;
	padding: 0 0 30px;
}

.tp-report__recruit--hd .tp-report__recruit__title span {
	font-size: 3.4rem;
}

.tp-report__recruit--hd .tp-report__recruit__text {
	font-size: 1.7rem;
	line-height: 30px;
	text-align: left;
	padding: 23px 0 0;
}

.tp-report__recruit--hd .tp-report__recruit__btn a {
	margin: 0 auto;
	color: #fff;
	background: #7E4542;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	width: 300px;
	height: 56px;
	border-radius: 28px;
}

.tp-report__recruitOuter--hd .tp-report__recruit__text__outer {
	width: 425px;
}

.tp-report__thumbnailOuter--hd {
	display: flex;
	flex-wrap: wrap;
	gap: 62px 44px;
	width: 1000px;
	margin: 70px auto 0;
}

.tp-report__thumbnail--hd {
	width: 304px;
}

.tp-report__thumbnail--hd a {
	display: block;
}

.tp-report__thumbnail--hd a.hover {
	opacity: 0.8;
}

.tp-report__recruitOuter--hd .tp-report__recruit__present__outer {
	width: 380px;
}

.tp-report__recruitOuter--hd .tp-report__recruit__present {
	margin-bottom: 25px;
}

.tp-report__outer--hd .tp-report__thumbnail__outer {
	background: #fff;
	width:840px;
	border-radius: 5px;
	margin: 0 auto;
	padding: 0 50px 50px;
	box-sizing: border-box;
	box-shadow: 0px 2px 20px 0px rgba(193, 122, 102, 0.15);
}

.tp-report__outer--hd .tp-report__thumbnail__group {
	gap: 60px; 
}

.tp-report__outer--hd .tp-report__thumbnail__prof {
	font-size: 1.6rem;
	color: #303030;
	margin: 15px 0 0;
}

.tp-report__outer--hd .tp-report__thumbnail__tab {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 62px;
	height: 27px;
	font-weight: 600;
	background: #fff;
	font-size: 1.6rem;
	line-height: 17px;
	border-radius: 5px;
	margin-right: 10px;
}

.tp-report__outer--hd .tp-report__thumbnail__title {
	padding: 10px 0 0;
	font-size: 2.1rem;
	line-height: 32px;
}

.tp-report__thumbnail--hd .tp-report__thumbnail__textlink {
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.7rem;
	text-align: right;
	background-image: url(../img/arrow_right.svg);
	background-repeat: no-repeat;
	background-position: top 4px right 0px;
	background-size: 8px 12px;
	padding-right: 15px;
	margin-top: 20px;
}

.tp-report__detail--hd {
	background: #fff;
}

.tp-report__detail--hd .tp-report__detail__outer {
	margin: 0px auto;
	padding: 20px 0 100px;
	width: 640px;
}

.tp-report__detail--hd .tp-report__detail__photo img {
	border-radius: 10px;
}

.tp-report__detail--hd .tp-report__detail__title {
	font-size: 2.9rem;
	font-weight: 600;
	line-height: 42px;
	margin: 17px 0 15px;
}

.tp-report__detail--hd .tp-report__detail__prof {
	font-size: 1.8rem;
	padding-bottom: 80px;
}

.tp-report__detail__tab--hd {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 62px;
	height: 28px;
	font-size: 1.6rem;
	line-height: 16px;
	font-weight: 600;
	background: #fff;
	border-radius: 5px;
	margin-right: 10px;
}

.tp-report__detail--hd .tp-report__detail__answerer {
	font-size: 1.9rem;
	margin-bottom: 45px;
}

.tp-report__detail--hd .tp-report__detail__subTitle {
	font-size: 2.2rem;
	padding-bottom: 15px;
}

.tp-report__detail--hd .tp-report__detail__text {
	font-size: 1.8rem;
	line-height: 36px;
	padding-bottom: 70px;
}

.tp-report__detail--hd .tp-report__outer--hd {
	background: #F9F2F0;
}

.tp-report__detail__recruit__title--hd {
	font-family: 'Shippori Mincho', serif;
	color: #7E4542;
	border-bottom: 2px #7E4542 dotted;
	font-size: 4.0rem;
	line-height: 50px;
	padding: 40px 0 30px;
	background-image: url(../img/report_feather2_pc.png);
	background-repeat: no-repeat;
	background-position: top 0px left 280px;
	background-size: 140px 100px;
	text-align: left;
	margin-top: -40px;
	font-weight: 500;
}

/* 一覧ページ */
.tp-report__list--hd {
	display: block;
	padding: 150px 0 0 0;
	background:#F9F2F0;
}

.tp-report__list--hd .tp-report__outer--hd {
	padding: 30px 0 90px;
}

.tp-report__detail__photo--bottom {
	margin-bottom: 40px;
}

.tp-report__detail__photo--vertical {
	max-width: 220px;
	height: 100%;
	margin: 0 auto;
}

.tp-container__info--hd .tp-report__detail__photo--vertical {
	max-width: 390px;
	height: 100%;
	margin: 0 auto 40px;
}

.tp-report__detail--hd .tp-report__detail__photo--bottom {
	margin-bottom: 70px;
}