@charset "utf-8";
/* ==========================================================================
# 共通設定
========================================================================== */
html {
  font-size: 62.5%; /* 10px */
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	min-width: inherit;
	color: #441F00;
	font-size: 1.4rem;
	line-height: 1.8;
	font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 700;
}
a {
	color: #441F00;
	text-decoration: none;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
ul,
ol {
	list-style: none;
}

/* SP・PC 表示切替え
---------------------------------------------------------- */
@media screen and (min-width: 751px){
	.is-pc { display: block; }
	.is-sp { display: none; }
}
@media screen and (max-width: 750px){
	.is-pc { display: none; }
	.is-sp { display: block; }
}

/* タグ
---------------------------------------------------------- */
#tag {
	width: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}



/* 共通設定
========================================================================== */
.container {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 calc(10 * 100vw / 750) rgba(0,0,0,0.16);
	position: relative;
}
h2, h3, p, li, dt, dd, span, a{
	font-family: "Kaisei Tokumin", serif !important;
	font-weight: 700;
}

@media screen and (min-width: 751px) {
.container {
	max-width:1200px;
	box-shadow: 0 0 min(calc(10 * 100vw / 1200), 10px) rgba(0,0,0,0.16);
}
}
/* top
========================================================================== */
.top {
	position: relative;
}
.top_mv img {
    height: auto;
}
.logo_text {
	font-size: calc(18 * 100vw / 750);
	letter-spacing: 0;
	line-height: 1;
	margin-bottom:calc(15 * 100vw / 750); 
	color: #333;
}
.top_logo{
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 2%;
	left: 2%;
}
.header_logo-link {
	width: calc(310 * 100vw / 750);
	min-width: 140px;
	line-height: 1;
}
.header_logo-images {
	width: 100%;
	/* filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(7500%) hue-rotate(141deg) brightness(106%) contrast(101%); */
}

@media screen and (min-width: 751px) {
.top {
	position: relative;
}
.logo_text {
	font-size: min(calc(11 * 100vw / 1200), 11px);
	margin-bottom:min(calc(13 * 100vw / 1200), 13px);
}
.header_logo-link {
	width: min(calc(290 * 100vw / 1200), 290px);
}
}

/* recommend
========================================================================== */
.recommend_inner {
	background: url(../images/other/img_kv_bt_back_s.webp) 0 0 / cover;
}
.recommend_contents .recommend_title {
	font-family: "Kaisei Tokumin", serif;
	font-size: calc(38 * 100vw / 750);
	font-weight: 700;
	line-height: 1.17;
	letter-spacing: 0.05em;
	color: #fff;
	margin-bottom:calc(26 * 100vw / 750);
}
.recommend_contents .recommend_item{
	padding-right: calc(40 * 100vw / 750);
}
.recommend_contents .recommend_item a{
	display:inline-block;
}
/* swiper */
.swiper_wrap {
	position: relative;
	z-index: 0;
	overflow: hidden;
	padding: calc(24 * 100vw / 750) calc(27 * 100vw / 750) calc(26 * 100vw / 750);
}
.swiper_wrap img{
	width: 100%;
    height: auto;
    box-shadow: 0px 0px calc(10 * 100vw / 750) rgb(0 0 0 / 16%);
}
.swiper-wrapper {
    padding-bottom: calc(40 * 100vw / 750);
}
.swiper-pagination-clickable .swiper-pagination-bullet {
    width: calc(15 * 100vw / 750);
    height: calc(15 * 100vw / 750);
}
.swiper-pagination-bullet {
    background: #AEA48D;
    opacity: inherit;
}
.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: #fff;
}
.swiper-pagination {
    position: static;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,calc(12 * 100vw / 750));
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom,calc(8 * 100vw / 750));
}
.swiper-scrollbar-drag{
    background: #C49393;
}
.swiper-pagination {
    display: block;
}
@media screen and (min-width: 751px){
	.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper,.swiper-backface-hidden .swiper-slide{
		transform: none;
	}
	.swiper-slide{
		height: auto;
		flex-shrink: inherit;
	}
	.swiper-wrapper{
		padding-bottom: 0;
	}
	.swiper-pagination {
		display: none;
	}
	.recommend_inner {
		background: #DA5F0F;
	}
	.recommend_contents .recommend_inner {
		background: url(../images/other/img_kv_bt_back.webp) 0 0 / cover;
		display: flex;
		justify-content:center;
		align-items: center;
		padding: min(calc(20* 100vw / 1200), 20px) min(calc(100* 100vw / 1200), 100px)  min(calc(20* 100vw / 1200), 20px) min(calc(80* 100vw / 1200), 80px);
		gap: min(calc(40* 100vw / 1200), 40px);
	}
	.recommend_contents .recommend_title {
		font-size: min(calc(25 * 100vw / 1200), 25px);
		line-height: 1.69;
		letter-spacing: 0.03em;
		margin: 0;
		width: min(calc(220 * 100vw / 1200), 220px);
		text-align: right;
	}
	.recommend_contents .recommend_list {
		display: flex;
		align-items: center;
		width:min(calc(798* 100vw / 1200), 798px);
	}
	.recommend_contents .recommend_item {
		padding-right:min(calc(30* 100vw / 1200), 30px);
	}
	.recommend_contents .recommend_item:last-child{
		margin-right: 0;
	}
	.recommend_contents .recommend_item img {
		transition: transform .3s;
	}
	.recommend_contents .recommend_item:hover img {
		transform: scale(1.1);
	}
}
/* entrance
========================================================================== */
.entrance {
	position: relative;
	margin: calc(120 * 100vw / 750) calc(15 * 100vw / 750);
}
.entrance_text {
	font-size: calc(34 * 100vw / 750);
	line-height:1.706;
	text-align: center;
	letter-spacing: 0;
	color: #441F00;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 700;
	letter-spacing: 0;
}
.entrance_text p {
	font-weight: 700;
	font-family: "Kaisei Tokumin", serif;
}

.entrance_text p:not(:last-child){
	margin-bottom:calc(35 * 100vw / 750);
}

@media screen and (min-width: 751px) {
.entrance {
	margin:min(calc(120 * 100vw / 1200), 120px) 0 min(calc(120 * 100vw / 1200), 120px);
}
.entrance_text {
	font-size: min(calc(23 * 100vw / 1200), 23px);
	letter-spacing: 0.1em;
	line-height: 1.6;
}
.entrance_text p:not(:last-child){
	margin-bottom: min(calc(30 * 100vw / 1200), 30px);
}
}
/* design_link
========================================================================== */
.design_link{
	background:#FEFBED;
	padding:calc(100 * 100vw / 750) calc(61 * 100vw / 750) calc(100 * 100vw / 750);
}
.design_title{
	font-weight: 800;
	font-family: "Kaisei Tokumin", serif;
	font-size:calc(55 * 100vw / 750);
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	margin-bottom:calc(53 * 100vw / 750);
    text-align: left;
}
.design_link-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:calc(70 * 100vw / 750) 0;
}
.design_link-list .design_link-item {
	width: 60%;
}
.design_link-list .design_link-item.-health, .design_link-list .design_link-item.-goodluck {
	width: 40%;
}
.design_link-list .design_link-item.-business {
	width: 100%;
}
.design_link-list .design_link-item a{
	font-family: "Kaisei Tokumin", serif;
	font-size: calc(42 * 100vw / 750);
	font-weight: 700;
	line-height: 1.17;
	letter-spacing: 0.05em;
	padding-left: calc(46 * 100vw / 750);
	position: relative;
}
.design_link-list .design_link-item a::before {
	content: "";
	display: block;
	width: calc(30 * 100vw / 750);
	height: calc(30 * 100vw / 750);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.design_link-list .design_link-item.-successful a::before {
	background: url(../images/btn/ico_01.png) no-repeat 0 0 / contain;
}
.design_link-list .design_link-item.-health a::before {
	background: url(../images/btn/ico_02.png) no-repeat 0 0 / contain;
}
.design_link-list .design_link-item.-prosperity a::before {
	background: url(../images/btn/ico_03.png) no-repeat 0 0 / contain;
}
.design_link-list .design_link-item.-goodluck a::before {
	background: url(../images/btn/ico_04.png) no-repeat 0 0 / contain;
}
.design_link-list .design_link-item.-business a::before {
	background: url(../images/btn/ico_05.png) no-repeat 0 0 / contain;
}



@media screen and (min-width: 751px){
	.design_link{
		background:#FEFBED;
		display: flex;
        align-items: flex-start;		justify-content: center;
		gap: min(calc(74 * 100vw / 1200),74px);
		padding:min(calc(120 * 100vw / 1200),120px) min(calc(130 * 100vw / 1200),130px);
	}
	.design_title{
		font-size:min(calc(56 * 100vw / 1200), 47px);
		margin-bottom:min(calc(8 * 100vw / 1200), 8px);
		writing-mode: vertical-rl;
		line-height: 1.8;
		letter-spacing: .05em;
		text-align: left;
	}
	.design_link-list{
        gap:min(calc(80 * 100vw / 1200), 80px) 0;
		padding-top:min(calc(54 * 100vw / 1200), 54px);
		width:min(calc(901 * 100vw / 1200),901px);
		margin: auto;
	}
	.design_link-list .design_link-item{
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		width: 50%;
	}
	.design_link-list .design_link-item.-health, .design_link-list .design_link-item.-goodluck {
		width: 50%;
	}
	.design_link-list .design_link-item a{
		font-size: min(calc(31 * 100vw / 1200), 31px);
		width: fit-content;
        display: inline-block;
		padding-left: min(calc(40 * 100vw / 1200), 40px);
		transition: .3s;
	}
	.design_link-list .design_link-item a::before {
        width: min(calc(26* 100vw / 1200), 26px);
        height: min(calc(26* 100vw / 1200), 26px);
	}

	/*hover anime*/
	.design_link-list .design_link-item a:hover{
		color: #CF9E35;
	}
}
/* design
========================================================================== */
.design{
	padding-bottom: calc(120 * 100vw / 750);
}
.design_inner {
	position: relative;
	padding:calc(100 * 100vw / 750) calc(32 * 100vw / 750) 0;
}
.design_line-title{
	font-weight: 800;
	font-family: "Kaisei Tokumin", serif;
	font-size:calc(64 * 100vw / 750);
	margin:0 auto calc(42 * 100vw / 750);
	padding-bottom: calc(64 * 100vw / 750);
	position: relative;
	text-align: center;;
}
.design_line-title::after {
	content: "";
	display: block;
	width: calc(42 * 100vw / 750);
	height: calc(42 * 100vw / 750);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
#design_successful .design_line-title::after {
	background: url(../images/btn/ico_01.png) no-repeat 0 0 / contain;
}
#design_health .design_line-title::after {
	background: url(../images/btn/ico_02.png) no-repeat 0 0 / contain;
}
#design_prosperity .design_line-title::after {
	background: url(../images/btn/ico_03.png) no-repeat 0 0 / contain;
}
#design_goodluck .design_line-title::after {
	background: url(../images/btn/ico_04.png) no-repeat 0 0 / contain;
}
#design_business .design_line-title::after {
	background: url(../images/btn/ico_05.png) no-repeat 0 0 / contain;
}


.design_line{
	margin-bottom:calc(95 * 100vw / 750);
}
.design_line-lead{
	font-size:calc(34 * 100vw / 750);
	letter-spacing: 0.05em;
	line-height:1.5;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 700;
	text-align: center;
}
div:where(#design_monye) .design_line-lead{
	letter-spacing:0;
}
.design_item-title{
	font-size:calc(53 * 100vw / 750);
	letter-spacing: 0.05em;
	line-height:1;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 800;
	color:#E64500;
	margin-bottom:calc(47 * 100vw / 750);
}
.min_title{
	font-size:calc(34 * 100vw / 750);
}

.design_item-title .hang_icon{
	font-size:calc(47 * 100vw / 750);
	margin:0 calc(30 * 100vw / 750);
}
.design_list-cont:not(:last-child){
	margin-bottom:calc(170 * 100vw / 750);
}
.design_list {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
	gap: calc(120 * 100vw / 750) 0;
}

.design_item {
	/* width: calc(534 * 100vw / 750); */
	text-align: center;
}
.design_item-thumb{
	margin: 0 auto calc(41 * 100vw / 750);
	width: 80%;
}
.design_item-image {
	box-shadow:calc(12 * 100vw / 750) calc(12 * 100vw / 750) calc(32 * 100vw / 750) 0 rgba(0, 0, 0, 24%);
}
.design_item-detail{
	width: calc(440* 100vw / 750);
	height: calc(88* 100vw / 750);
	margin: 0 auto;
}
.design_item-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc(34 * 100vw / 750);
	font-family: "Kaisei Tokumin", serif;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.05em;
	text-decoration: none;
	border-radius: calc(18* 100vw / 750);
	background-color: #E04700;
	margin: 0 auto;
	box-sizing: border-box;
	transition: opacity .3s;
	height: 100%;
	line-height: calc(88 * 100vw / 750);
	overflow: hidden;
}
.btn-arrow{
	position: relative;
	width: calc(34* 100vw / 750);
	height: calc(34* 100vw / 750);
	border-radius: 50%;
	background: #fff;
	right: calc(-12* 100vw / 750);
	top: calc(1* 100vw / 750);
}
.btn-arrow::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 35%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: calc(10 * 100vw / 750) solid transparent;
	border-bottom: calc(10 * 100vw / 750) solid transparent;
	border-left: calc(16 * 100vw / 750) solid #E04700;
	border-right: 0;
}
/* 横向きはがき */
.design_list.-width {
	margin-top: calc(112 * 100vw / 750);
}
.design_item.-width {
	width: calc(685 * 100vw / 750);
}
.design_item.-width .design_item-image {
	height: auto;
}

@media screen and (min-width: 751px) {
.design{
	padding-bottom: min(calc(180 * 100vw / 1200), 180px);
}
.design_inner{
	padding:min(calc(122 * 100vw / 1200), 122px) min(calc(124 * 100vw / 1200), 124px) 0;
}
.design_line {
    margin-bottom:min(calc(89 * 100vw / 1200), 89px);
}
.design_line-title{
    font-size:min(calc(60 * 100vw / 1200), 60px);
    margin: 0 auto min(calc(45 * 100vw / 1200), 45px);
	padding-bottom: min(calc(60 * 100vw / 1200), 60px);
}
.design_line-title::after {
	width: min(calc(34 * 100vw / 1200), 34px);
	height: min(calc(34 * 100vw / 1200), 34px);
}
.min_title {
    font-size: min(calc(20 * 100vw / 1200), 20px);
}
.design_line-lead {
    font-size:min(calc(22 * 100vw / 1200), 22px);
    letter-spacing: 0.05em;
    line-height: 1.77;
	text-align: center;
}
div:where(#design_monye) .design_line-lead{
	letter-spacing: 0.05em;
}
.design_item{
	width: min(calc(388* 100vw / 1200), 388px);
}
.design_item-title {
    font-size: min(calc(32 * 100vw / 1200), 32px);
    letter-spacing: 0.1em;
    margin-bottom:min(calc(20 * 100vw / 1200), 20px);
}
.design_item-title .hang_icon {
    font-size: min(calc(26 * 100vw / 1200), 26px);
    margin: 0 min(calc(15 * 100vw / 1200), 15px);
}
.design_list-cont:not(:last-child){
	margin-bottom:min(calc(150 * 100vw / 1200), 150px);
}
.design_list {
	flex-wrap: wrap;
	flex-direction: row;
	gap: min(calc(90 * 100vw / 1200), 90px) 0;
	justify-content: space-between;
}
.design_item-thumb{
	margin:0 auto min(calc(24 * 100vw / 1200), 24px);
	width:min(calc(324 * 100vw / 1200), 324px);
}
.design_item-link {
	display: block;
	transition: transform .3s ease;
}
@media (hover: hover) and (pointer: fine) {
	.design_item-link:hover {
		transform: scale(1.05);
	}
	.design_item-thumb:hover + .design_item-detail .design_item-btn{
		background: #FF6652;
	}
	.design_item-thumb:hover + .design_item-detail .btn-arrow::after {
		border-left: min(calc(8* 100vw / 1200), 8px) solid #FF6652;
		transition-delay: .1s;
	}
}
.design_item-image {
	box-shadow:min(calc(8 * 100vw / 1200), 8px) min(calc(8 * 100vw / 1200), 8px) min(calc(24 * 100vw / 1200), 24px) 0 rgba(0, 0, 0, 24%);
}
.design_item-detail{
	width: min(calc(280 * 100vw / 1200), 280px);
	height: min(calc(56 * 100vw / 1200), 56px);
}
.design_item-btn {
  font-size: min(calc(22 * 100vw / 1200), 22px);
  border-radius: min(calc(12 * 100vw / 1200), 12px);
  transition: .3s;
}
.btn-arrow{
	width: min(calc(20 * 100vw / 1200), 20px);
	height: min(calc(20 * 100vw / 1200), 20px);
	right: min(calc(-2 * 100vw / 1200), -2px);
	top: min(calc(1 * 100vw / 1200), 1px);
}
.btn-arrow::after {
	left: 36%;
	border-top: min(calc(5 * 100vw / 1200), 5px) solid transparent;
	border-bottom: min(calc(5 * 100vw / 1200), 5px) solid transparent;
	border-left: min(calc(8 * 100vw / 1200), 8px) solid #E04700;
}
@media (hover: hover) and (pointer: fine) {
	.design_item-btn:hover {
		background:#FF6652;
	}
	.design_item-btn:hover .btn-arrow::after{
		border-left: min(calc(8 * 100vw / 1200), 8px) solid #FF6652;
		transition-delay: .1s;
	}
	.design_item-thumb:has(+ .design_item-detail){
		transition: .3s;
	}
	.design_item-thumb:has(+ .design_item-detail:hover){
		transform: scale(1.05);
	}
}

/* 横向きはがき */
.design_list.-width {
	margin-top: min(calc(90 * 100vw / 1200), 90px);
	max-width: min(calc(996 * 100vw / 1200), 996px);
	gap: min(calc(90 * 100vw / 1200), 90px) min(calc(64 * 100vw / 1200), 64px);
}
.design_item.-width {
	width: min(calc(466 * 100vw / 1200), 466px);
}
}

/* messeage
========================================================================== */
.messeage{
	background: #FEFBED;
}
.step_item-text  {
    font-family: "BIZ UDPGothic","Noto Sans JP", sans-serif !important;
}
.service_item-text {
    font-family: "BIZ UDPGothic","Noto Sans JP", sans-serif !important;
}

/* service
========================================================================== */
.step{
	background: #FEFBED;
}
.step_item::before {
	border-top: calc(30 * 100vw / 750) solid #E04700;
}
.step_item-text {
	font-weight: 500;
}
.service_item-link{
	color: #442624;
}
.service_item-arrow {
	background: #D70C18;
}
@media screen and (min-width: 751px) {
	
	.step_item::before {
		border-top: min(calc(20 * 100vw / 1200), 20px) solid transparent;
		border-left: min(calc(25 * 100vw / 1200), 25px) solid #E04700;
	}
}

/* appeal
========================================================================== */
.feature_title{
	color: #442624;
}

/* design_feature
========================================================================== */
.feature_bottom-btn a {
	background: #E04700;
}
.feature_btn-arrow::after {
	border-left: calc(16 * 100vw / 750) solid #E04700;
}
@media screen and (min-width: 751px) {
.feature_btn-arrow::after {
	border-left: min(calc(12 * 100vw / 1200), 12px) solid #E04700;
}
}
/* footer
========================================================================== */
.footer{
	margin-top: calc(175*100vw/750);
}
.footer_bottom{
	background:#E64500;
	padding:calc(27.5*100vw/750) 0;
}
#sns{
	margin-bottom:calc(32*100vw/750); 
}
/*パンくず*/
.bread_list{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom:calc(5*100vw/750);
}
.bread_list li,.bread_list li a{
	color: #fff;
	font-size: calc(24*100vw/750);
	transition: .3s;
	line-height: normal;
}
.bread_list li:hover a{
	text-decoration: underline;
}
.bread_list li:not(:last-child)::after{
	content: ">";
	display: inline-block;
	padding: 0 calc(5*100vw/750);
}
.copyright{
	display: flex;
	align-items: center;
	justify-content: center;
}
.copyright,.copyright a{
	color: #fff;
	font-size: calc(24*100vw/750);
	transition: .3s;
	line-height: normal;
}
.copyright a:hover{
	text-decoration: underline;
}

@media screen and (min-width: 751px){
	.footer{
		margin-top:min(calc(140*100vw/1200),140px);
	}
	.footer_bottom{
		padding:min(calc(16*100vw/1200),16px) 0;
	}
	#sns{
		margin-bottom:min(calc(24*100vw/1200),24px); 
	}
	/*パンくず*/
	.bread_list{
		margin-bottom:min(calc(4*100vw/1200),4px);
	}
	.bread_list li,.bread_list li a{
		font-size: min(calc(12*100vw/1200),12px);
		letter-spacing: 0.04em;
	}
	.bread_list li:not(:last-child)::after{
		padding: 0 min(calc(5* 100vw / 1200), 5px);
		font-size: min(calc(14*100vw/1200),14px);
	}
	.copyright,.copyright a{
		font-size:min(calc(12*100vw/1200),12px);
		letter-spacing: 0.04em;
	}
}

