@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.0/css/all.min.css');
/* @import url('https://fonts.googleapis.com/css2\
?family=Noto+Sans+JP:wght@100..900\
&family=Noto+Serif+JP:wght@200..900\
&family=Sawarabi+Gothic\
&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900\
&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Sawarabi+Gothic&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root {
/*----------------
  色設定
  ------------------*/
	--gold-color: #BFA57D;
}

.color_white {
	color: #fff;
}

#main {
	margin-top: 0 !important;
}

.sub_mv {
	position: relative;
}
.sub_mv .sub_mv_bg {
	background-image: url(../img/corporation/topimg_sp.jpg);
	height: calc( 100vh * 0.7);
}
.sub_mv .sub_mv_bg h1 {
	text-shadow: 2px  2px 2px #ffffff,
      -2px  2px 2px #ffffff,
       2px -2px 2px #ffffff,
      -2px -2px 2px #ffffff,
       2px  0px 2px #ffffff,
       0px  2px 2px #ffffff,
      -2px  0px 2px #ffffff,
       0px -2px 2px #ffffff;
}
.sub_mv .sub_mv_bg h2 {
	position: absolute;
	line-height: 1.5;
	font-weight: bold;
	text-shadow: 3px  3px 3px #eee,
		-3px  3px 3px #eee,
		3px -3px 3px #eee,
		-3px -3px 3px #eee,
		3px  3px 3px #eee,
		3px  3px 3px #eee,
		-3px  3px 3px #eee,
		3px -3px 3px #eee;
	color: var(--color-honten);
	top: 20%;
	right: 50%;
	transform: translateX(50%);
	font-size: 130%;
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.sub_mv .sub_mv_bg h1 {
		top: 67%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 160%;
		width: 100%;
		text-align: center;
	}
}
@media screen and (min-width: 768px) {
	.sub_mv .sub_mv_bg h1 {
		width: auto;
		margin: 0 auto;
		padding: 30px 1em;
		font-size: 250%;
		letter-spacing: 0.1em;
    }
	.sub_mv .sub_mv_bg {
		background-image: url(../img/corporation/topimg.jpg);
		height: 400px;
	}
	.sub_mv .sub_mv_bg h2 {
		top: 65%;
		/* left: 16%; */
		right: 10%;
		transform: translateY(-50%);
		font-size: 230%;
		text-align: initial;
		width: auto;
	}
}
@media screen and (min-width: 992px) {
	.sub_mv .sub_mv_bg {
		height: 700px;
	}
	.sub_mv .sub_mv_bg h2 {
		top: 50%;
	}
}

.sidelink_shop {
	display: none;
}
.breadcrumbArea {
    display: none;
}

.area_padding {
	padding: 3em 0;
}
@media screen and (min-width: 768px) {
	.area_padding {
		padding: 3em 0;
	}
}
@media screen and (min-width: 992px) {
	.area_padding {
		padding: 6em 0;
	}
}

section figure {
	margin: 0 auto;
}
section h2 {
	text-align: center;
	font-size: 150%;
	margin-bottom: 1em;
}
.has_icon {
	display: flex;
	justify-content: center;
	align-items: center;
}
.has_icon:before {
	content: '';
	display: inline-block;
	background-repeat: no-repeat;
	background-size: cover;
	width: 67px;
	height: 50px;
	margin-right: 10px;
}
@media screen and (min-width: 768px) {
	section h2 {
		font-size: 200%;
		margin-bottom: 1.5em;
	}
}
@media screen and (min-width: 992px) {
	section h2 {
		font-size: 250%;
	}
}

.outline {
	font-size: 140%;
}

/*----------------------------------------
  コンバージョンボタン
------------------------------------------*/
.conv_area {
	padding: 1.5em 0;
}
@media screen and (min-width: 768px) {
	.conv_area {
		padding: 1.5em 0;
	}
}
@media screen and (min-width: 992px) {
	.conv_area {
		padding: 3em 0;
	}
}

.btn_conv {
	background-color: var(--color-honten);
	color: #fff;
	display: flex;
	align-items: center;
	vertical-align: middle;
	padding: 1em 0;
	text-align: center;
	justify-content: center;
	border-radius: 100px;
	width: 100%;
	line-height: 1;
}
.btn_conv span {
	font-size: 160%;
    font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
}
.btn_conv small {
	font-size: 55%;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
}
@media screen and (min-width: 768px) {
	.btn_conv {
		padding: 2em 0;
		width: 90%;
	}
	.btn_conv span {
		font-size: 250%;
	}
	.btn_conv small {
		font-size: 50%;
	}
}

/*----------------------------------------
  nayami
------------------------------------------*/
.nayami_q {
	position: relative;
	/* background-color: #f5fff2; */
	/* background: #FCF5F4; */
	/* background: linear-gradient(180deg, rgba(252, 245, 244, 1) 0%, rgba(247, 237, 237, 1) 70%, rgba(242, 221, 220, 1) 100%); */
	/* background: linear-gradient(0deg, rgba(252, 245, 244, 1) 0%, rgba(247, 237, 237, 1) 70%, rgba(242, 221, 220, 1) 100%); */
	background: #FFFFFF;
	/* background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(247, 237, 237, 1) 50%, rgba(242, 221, 220, 1) 100%);} */
	background: linear-gradient(0deg,rgba(242, 221, 220, 1) 0%, rgba(247, 237, 237, 1) 20%, rgba(255, 255, 255, 1) 50%, rgba(247, 237, 237, 1) 80%, rgba(242, 221, 220, 1) 100%);
	padding-bottom: 10em;
}
.nayami_q:before {
    content: '';
    display: block;
    position: absolute;
    width: 50%;
    height: 9em;
    bottom: 0;
    background-color: #fff;
    left: 0;
    clip-path: polygon(0 0, 100% 100%, 0% 100%);
}
.nayami_q:after {
    content: '';
    display: block;
    position: absolute;
    width: 50%;
    height: 9em;
    bottom: 0;
    right: 0;
    background-color: #fff;
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.nayami_wrap {
	position: relative;
	padding: 9em 0 10em;
	margin: 2em 0;
}
@media screen and (min-width: 768px) {
	.nayami_wrap {
		padding: 6em 0;
		margin: 4em 0;
	}
}
@media screen and (min-width: 992px) {
	.nayami_wrap {
		padding: 6em 0;
		margin: 4em 3em;
	}
}

.nayami_area h2 {
	position: relative;
}
.nayami_area h2 span {
    font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	color: var(--color-honten);
	font-size: 140%;
	position: relative;
	display: block;
	margin-bottom: 15px;
}
.nayami_area h2 span:before {
	content: '';
	display: inline-block;
	background-image: url(../img/corporation/u_line.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 130px;
	height: 15px;
	top: 100%;
	transform: rotate(-5deg);
}

.nayami_items {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 95%;
	height: 300px;
	margin: auto;
}
@media screen and (min-width: 768px) {
	.nayami_items {
		width: 70%;
		height: 520px;
		margin: auto;
	}
	.nayami_area h2 span {
		display: inline-block;
		margin-bottom: 0;
	}
	.nayami_area h2 span:before {
		width: 200px;
		height: 15px;
		top: 100%;
	}
}

.nayami_item_wrap {
	position: absolute;
}
.nayami_item {
	/* background-color: #28a300; */
	background-color: var(--color-adachi);
	color: #fff;
	border-radius: 100px;
	text-align: center;
	display: grid;
	place-items: center;
	line-height: 1.5;
	width: 170px;
	height: 150px;
	padding: 1em;
	box-shadow: 2px 2px 7px 0px rgba(3, 15, 0,.7) !important;
	font-size: 85%;
}
@media screen and (min-width: 768px) {
	.nayami_item {
		line-height: 1.5;
		width: 250px;
		height: 210px;
		padding: 1em;
		font-size: 110%;
	}
}
@media screen and (min-width: 992px) {
	.nayami_item {
		width: 300px;
		height: 250px;
		font-size: 130%;
	}
}

.nayami_left {
	left: 0;
}
.nayami_right {
	right: 0;
}
.nayami_above {
	top: 0;
}
.nayami_below {
	bottom: 0;
}
.nayami_left .nayami_item {
	margin-left: auto;
	margin-right: 1em;
}
.nayami_right .nayami_item {
	margin-left: 1em;
	margin-right: auto;
}
.nayami_left.nayami_above .nayami_item {
	border-radius: 100% 100% 30px 100%;
}
.nayami_left.nayami_below .nayami_item {
	border-radius: 100% 30px 100% 100%;
}
.nayami_right.nayami_above .nayami_item {
	border-radius: 100% 100% 100% 30px;
}
.nayami_right.nayami_below .nayami_item {
	border-radius: 30px 100% 100% 100%;
}
.nayami_ph {
	position: relative;
}
.nayami_ph:after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	box-shadow: inset 0 0 15px 15px #fff;
}

.nayami_a {
	padding: 3em 0;
}
.solution {
	position: relative;
}
.solution i {
	display: block;
	font-size: 180%;
	color: #28a300;
	margin-bottom: 15px;
}
.solution span {
	font-size: 140%;
	font-weight: bold;
	color: var(--color-honten);
	position: relative;
	display: block;
}
.solution span:before {
	content: '';
	display: block;
	background-image: url(../img/corporation/maru.png);
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	width: 250px;
	height: 200px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -35%);
	z-index: -1;
}

@media screen and (min-width: 768px) {
	.solution span {
		display: inline-block;
	}
}
@media screen and (min-width: 992px) {
}

/*----------------------------------------
  strength
------------------------------------------*/
.strength_area {
	background-color: #f8f1df;
}
.strength_item {
	padding: 1em;
}
.strength_item_inner {
	background-color: #fff;
	height: 400px;
}
@media screen and (min-width: 768px) {
	.strength_item_inner {
		height: 380px;
	}
}
@media screen and (min-width: 992px) {
	.strength_item_inner {
		height: 420px;
	}
}

.strength_item h3 {
	position: relative;
	display: flex;
	vertical-align: middle;
	align-items: center;
	font-weight: bold;
	padding: 7px 1em 7px 4em;
	height: 80px;
}
.strength_item h3 .num {
	position: absolute;
	top: -10%;
	left: -25px;
	/* transform: translateY(-50%); */
	font-size: 300%;
	font-weight: normal;
	background-color: var(--gold-color);
	border-radius: 50%;
	width: 85px;
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.strength_item .strength_text {
	padding: 1em;
}
@media screen and (min-width: 768px) {
	.strength_item_inner {
		height: 380px;
	}
}
@media screen and (min-width: 992px) {
	.strength_item_inner {
		height: 420px;
	}
}

/*----------------------------------------
  scene
------------------------------------------*/
.scene_area {
	background: #FFFFFF;
	/* background: linear-gradient(160deg, rgba(255, 255, 255, 1) 0%, rgba(247, 237, 237, 1) 70%, rgba(153, 55, 54, 1) 100%);	 */
	background: linear-gradient(160deg, rgba(255, 255, 255, 1) 0%, rgba(247, 237, 237, 1) 70%, rgba(242, 221, 220, 1) 100%);
}
.scene_item {
	padding: 1em 0;
}
.scene_item_inner {
	position: relative;
	/* background-color: #28a300;
	border: 3px solid #28a300; */
	background-color: var(--color-adachi);
	border: 3px solid var(--color-adachi);
}
.scene_item_inner h3 {
	position: absolute;
	top: 5%;
	left: 3%;
	color: var(--color-honten);
	font-weight: bold;
	font-size: 170%;
	text-shadow: 1px  1px 1px #eee,
		-1px  1px 1px #eee,
		1px -1px 1px #eee,
		-1px -1px 1px #eee,
		1px  0px 1px #eee,
		0px  1px 1px #eee,
		-1px  0px 1px #eee,
		0px -1px 1px #eee;
	background-color: rgba(255,255,255,.5);
	padding: 3px 20px;
}
.scene_item_text {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	font-size: 95%;
	padding: 1em 0.5em 0.5em;
	min-height: 100px;
}
@media screen and (min-width: 768px) {
	.scene_item {
		padding: 1em 0.5em;
	}
	.scene_item_inner h3 {
		font-size: 110%;
	}
	.scene_item_text {
		min-height: 130px;
	}
}
@media screen and (min-width: 992px) {
	.scene_item_inner h3 {
		font-size: 200%;
	}
	.scene_item_text {
		padding: 1em 1em 0.5em;
		min-height: 100px;
	}
}

/*----------------------------------------
  case
------------------------------------------*/
.case_item .caption {
	margin-top: 10px;
}

/*----------------------------------------
  flow
------------------------------------------*/
.flow_area {
	background-color: var(--background-color);
}

.flow_items {
	/* background: #68fa4b;
	background: linear-gradient(180deg,rgba(104, 250, 75, 1) 0%, rgba(75, 199, 50, 1) 40%, rgba(24, 163, 0, 1) 100%); */
}
.flow_item {
	background: #68fa4b;
	background: linear-gradient(180deg,rgba(104, 250, 75, 1) 0%, rgba(75, 199, 50, 1) 40%, rgba(24, 163, 0, 1) 100%);
	position: relative;
	border-radius: 50px;
	height: 270px;
	vertical-align: middle;
	align-items: center;
	justify-content: center;
	padding: 1em;
}
@media screen and (min-width: 768px) {
	.flow_item {
		border-radius: 100px;
		height: 200px;
		padding: 0;
	}
}
/* .flow_item:before {
	position: absolute;
	content: '';
	width: 101px;
	background-image: url(/lib/img/oukakko.svg);
	height: 202px;
	background-repeat: no-repeat;
	left: -25px;
	top: -1px;
	background-size: cover;
}
.flow_item:after {
	position: absolute;
	content: '';
	width: 101px;
	background-image: url(/lib/img/oukakko.svg);
	transform: scale(-1, 1);
	height: 202px;
	background-repeat: no-repeat;
	right: -25px;
	top: -1px;
	background-size: cover;
} */

.flow_item_img {
	vertical-align: middle;
	align-items: center;
	justify-content: center;
}
.flow_item_img h3 {
	text-align: center;
	font-size: 170%;
	font-weight: bold;
}
.flow_item_img figure {
	text-align: center;
}
.flow_item_img figure img {
	width: 60%;
	margin: 1em auto 0;
}

.flow_item_text {
	padding: 1em 1.5em;
	color: #fff;
}
.flow_arrow {
    background-color: transparent;
    text-align: center;
    font-size: 300%;
	padding: 15px 0;
}
@media screen and (min-width: 768px) {
	.flow_item_img h3 {
		text-align: right;
		padding-right: 5px;
		font-size: 170%;
		font-weight: bold;
	}
	.flow_item_img figure {
	}
	.flow_item_img figure img {
		width: 100%;
		margin: 0;
	}
	.flow_item_text {
		padding: 0 1em;
		color: initial;
		font-size: 120%;
	}
}
@media screen and (min-width: 992px) {
	.flow_item_img h3 {
		padding-right: 1em;
	}
}

/*----------------------------------------
  form
------------------------------------------*/
.form_caution {
	line-height: 1.4;
}
.form_caution a[href*="tel:"] {
	text-decoration: green dotted underline;
	border-bottom: none;
	margin-left: 5px;
	margin-right: 5px;
	font-size: 140%;
}

.form_product {
	padding: 10px;
}
.form_product img {
	width: 100%;
	margin-top: 5px;
}
.contact_area strong {
	color: var(--color-honten);
	font-weight: bold;
}
.subtitle {
	background-color: var(--color-honten);
	color: #fff;
	padding: 1em 0 1px 1em;
	margin-bottom: 10px;
}

