/*
Theme Name: melon-ewoman
Theme URI:
Author:
Author URI:
Description:
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version:
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: melon-ewoman
Tags:
*/

/* ==============================================================
 * 基本スタイル
 * =========================================================== */

html {
	scroll-padding-top: 65px;
}

@media screen and (max-width: 1024px) {
	html {
		scroll-padding-top: auto;
	}
}


body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "yu-gothic-pr6n", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 1.45em;
	-webkit-font-smoothing: antialiased;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

main {
	background: url(assets/images/common/bg.png) repeat-y;
	background-size: 100% auto;
	background-position: top center;
}

a:hover {
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

/* ==============================================================
 * ヘッダー
 * =========================================================== */

/* ブレークポイントを600pxから1024pxに変更 */
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

@media (min-width: 1024px) {
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		background-color: inherit;
		display: block;
		position: relative;
		width: 100%;
		z-index: auto;
	}

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}
}

.globalnav {
font-size: clamp(14px, 1.245vw, 17px);
}

.globalnav .wp-block-site-logo {
	position: absolute;
	top: 50%;
	left: 3.5%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: clamp(30px, calc(30px + (47 - 30) * ((100vw - 768px) / (1366 - 768))), 47px);
	transition: all 0.3s ease;
	z-index: 1;
}

.globalnav .wp-block-navigation__container > .wp-block-navigation-item {
	border-right: 1px solid #ffffff;
	/* padding: 8px 16px; */
	padding: 8px clamp(8px, calc(8px + (20 - 8) * ((1278px - 768px) / (1366 - 768))), 25px);
	line-height: 1.2;
}

@media screen and (min-width: 1025px) {
	.globalnav .has-child {
		position: relative;
	}

	.globalnav .wp-block-navigation:not(.is-menu-open) .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container {
		border: 1px solid #a77966;
		left: 50%;
		position: absolute;
		top: clamp(14px, calc(14px + (30 - 14) * ((100vw - 768px) / (1366 - 768))), 30px);
		transform: translateX(-50%);
		width: 110%;
	}

	.globalnav .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-bottom: 1px solid #a77966;
		/* padding: 10px 5px; */
	}

	.globalnav .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child {
		border-bottom: none;
	}

	.globalnav .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
		justify-content: center;
		padding: 15px 5px;
		text-align: center;
	}
}


@media screen and (max-width: 1024px) {
	header {
		position: fixed;
		width: 100%;
		z-index: 998;
	}

	header ~ main {
		margin-top: 0;
	}

	.globalnav.wp-block-group:has(.wp-block-navigation) {
		background: none !important;
	}

	.globalnav .wp-block-site-logo {
		visibility: hidden;
	}

	.globalnav .wp-block-navigation__responsive-container-open {
		background-color: #ffffff;
		color: #80584f;
		display: block;
		/* height: 43px; */
		padding: 10px 12px;
		/* position: relative; */
		/* width: 52px; */
		/* z-index: 100001; */
	}

	.globalnav .wp-block-navigation__responsive-container-open svg {
		/* height: 36px;
		width: 36px; */
		display: block;
	}

	.globalnav .wp-block-navigation__container {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		margin: 0 auto;
		width: 80%;
	}

	.globalnav .wp-block-navigation__container > .wp-block-navigation-item,
	.globalnav .wp-block-navigation__submenu-container .wp-block-navigation-item {
		padding: 0;
		border-bottom: 1px solid #e3e3e3;
		text-align: left;
		line-height: 1.2;
		width: 100%;
	}

	.globalnav .wp-block-navigation-item:last-child {
		border-bottom: none;
	}

	.globalnav .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content,
	.globalnav .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
		padding: 23px 6%;
	}

	.globalnav .wp-block-navigation-item a {
		box-sizing: border-box;
		display: flex;
		font-size: 16px;
		width: 100%;
		/* position: relative; */
	}

	.globalnav .wp-block-navigation-item:not(.has-child) a::after {
		position: absolute;
		top: 27px;
		right: 5%;
		width: 7px;
		height: 7px;
		content: "";
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		border: 1px solid #80584f;
		border-bottom: none;
		border-left: none;
	}

	.globalnav .wp-block-navigation-item.has-child:not(.open) > a {
		padding: 25px 6%;
		background: url(./assets/images/common/icon_plus.svg) no-repeat;
		background-position: 95% 50%;
		background-size: 14px 14px;
	}

	.globalnav .wp-block-navigation-item.has-child.open > a {
		padding: 25px 6%;
		background: url(./assets/images/common/icon_minus.svg) no-repeat;
		background-position: 95% 50%;
		background-size: 14px 14px;
	}

	.globalnav .wp-block-navigation-item.has-child:not(.open) .wp-block-navigation__submenu-container {
		display: none;
	}

	.globalnav .wp-block-navigation-item.sp-only-nav {
		display: block;
	}

	.globalnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.globalnav .wp-block-navigation__submenu-container .wp-block-navigation-item a::before {
		content: "-";
		margin-right: 5px;
	}
}

/* ==============================================================
 * フッター
 * =========================================================== */

.footer-nav a {
	text-decoration: none;
}

.footer-nav a:hover {
	color: #693a2f;
	opacity: 1;
}

/* ==============================================================
 * フロントページ
 * =========================================================== */

/* メインビジュアル */
@media screen and (max-width: 1024px) {
	.mainvisual-img img {
		display: block;
		margin-left: auto;
		margin-right: 0;
		width: 75.521vw;
	}
}

/* リード */
.lead {
	font-size: clamp(11px, calc(11px + (24 - 11) * ((100vw - 768px) / (1366 - 768))), 24px);
}

/* 特徴 */
.feature_box {
	position: relative;
	max-width: 1100px;
	margin: 0 auto clamp(60px, calc(60px + (96 - 60) * ((100vw - 768px) / (1366 - 768))), 96px);
	padding: 35px 56px 35px 40px;
	border-radius: 90px 0 0 0;
	background-color: #fff;
}

.feature_box::before {
	position: absolute;
	top: -20px;
	left: 0;
	display: inline-block;
	width: clamp(120px, calc(120px + (165 - 120) * ((100vw - 768px) / (1366 - 768))), 165px);
	height: clamp(146px, calc(146px + (189 - 146) * ((100vw - 768px) / (1366 - 768))), 189px);
	vertical-align: middle;
	content: "";
}

.feature_box.feature_box_01::before {
	background: url(./assets/images/home/feature-01.svg) no-repeat;
}

.feature_box.feature_box_02::before {
	background: url(./assets/images/home/feature-02.svg) no-repeat;
}

.feature_box.feature_box_03::before {
	background: url(./assets/images/home/feature-03.svg) no-repeat;
}

.feature_box h3 {
	position: relative;
	top: -20px;
	display: flex;
	align-items: center;
	height: clamp(95px, calc(95px + (155 - 95) * ((100vw - 768px) / (1366 - 768))), 155px);
	padding-left: clamp(85px, calc(85px + (145 - 85) * ((100vw - 768px) / (1366 - 768))), 145px);
	font-size: clamp(20px, calc(20px + (30 - 20) * ((100vw - 768px) / (1366 - 768))), 30px);
	line-height: 1.5;
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {

	.feature_box {
		border-radius: 75px 0 0 0;
		padding: 20px;
	}

	.feature_box::before {
		top: -13px;
		max-width: 100px;
		max-height: 114px;
	}

	.feature_box h3 {
		font-weight: bold;
		top: -10px;
		display: flex;
		align-items: center;
		padding-left: clamp(90px, calc(90px + (135 - 90) * ((100vw - 768px) / (1366 - 768))), 135px);
		font-size: calc(1.55rem + ((1vw - 0.3rem) * 1));
		letter-spacing: 0;
	}
}

/* ご愛用者の声 */
.memo {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 20px;
	position: relative;
	text-decoration: none;
}

.memo::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -25px;
	left: -52px;
	width: 140px;
	height: 136px;
	z-index: 1;
}

a.fukidashi-20::before {
	background: url(./assets/images/voice/fukidashi-icon-20.svg);
	background-size: contain;
	vertical-align: middle;
}

a.fukidashi-10::before {
	background: url(./assets/images/voice/fukidashi-icon-10.svg);
	background-size: contain;
	vertical-align: middle;
}

a.fukidashi-7::before {
	background: url(./assets/images/voice/fukidashi-icon-7.svg);
	background-size: contain;
	vertical-align: middle;
}

.memo p:nth-of-type(2) {
	flex: 1;
}

.review a {
	display: block;
	position: relative;
	text-decoration: none;
}

.review a:after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 7px;
	height: 7px;
	border: 1px solid #80584f;
	border-bottom: none;
	border-left: none;
	content: "";
	-webkit-transform: translateY(-50%);
	-webkit-transform: rotate(45deg);
	-ms-transform: translateY(-50%);
	-ms-transform: rotate(45deg);
	transform: translateY(-50%);
	transform: rotate(45deg);
}

/* Online Shop */

@media screen and (min-width: 768px) {
	.onlineshop_tit figure {
		position: relative;
	}

	.onlineshop_tit figure::after {
		position: absolute;
		top: 0;
		right: -190px;
		display: inline-block;
		width: 138px;
		height: 127px;
		background: url(./assets/images/shopping/AmazonPay_02.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		content: "";
	}
}

@media screen and (max-width: 767px) {
	.onlineshop_tit {
		position: relative;
	}

	.onlineshop_tit:after {
		position: static;
		display: inline-block;
		width: 100%;
		height: 74px;
		background: url(./assets/images/shopping/AmazonPay_sp.png) no-repeat;
		background-position: center;
		background-size: contain;
		vertical-align: middle;
		content: "";
	}
}

.present-box {
	font-size: 2.0rem;
}

.present-box:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -35px;
	right: 25px;
	width: 127px;
	height: 139px;
	background: url(./assets/images/shopping/book.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.present-box .f-lg {
	font-size: 2.6rem;
}

.present-box .f-sm {
	font-size: 1.6rem;
}

@media screen and (max-width: 1024px) {
	.present-box {
		padding: 30px 35px 25px 35px;
	}

	.present-box:before {
		top: -45px;
		width: 127px;
		height: 149px;
	}
}

@media screen and (max-width: 767px) {
	.present-box {
		font-size: 1.4rem;
		padding: 15px;
		border-left: none;
		border-right: none;
	}

	.present-box:before {
		top: 15px;
		bottom: auto;
		right: 0px;
		width: 87px;
		height: 139px;
	}

	.present-box .f-lg {
		font-size: 1.7rem;
		font-weight: bold;
	}
	.present-box .f-sm {
		font-size: 1.3rem;
	}
}

.product {
	display: flex;
	flex-direction: column;
}

.product .product-grow {
	flex: 1;
}

.product .present {
	position: relative;
}

.product .present:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 0px;
	width: 62px;
	height: 70px;
}

.product .present-off-7:before {
	background: url(./assets/images/shopping/off-icon-7.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.product .present-off-15:before {
	background: url(./assets/images/shopping/off-icon-15.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.product .present-off-30:before {
	background: url(./assets/images/shopping/off-icon-30.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.product .present:after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 30px;
	right: -20px;
	width: 99px;
	height: 99px;
	background: url(./assets/images/shopping/present.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

/* FAQ */
.question .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.question .wp-block-accordion-heading__toggle {
	position: relative;
}
.question .wp-block-accordion-heading__toggle:before {
	position: absolute;
	content: "";
	display: block;
	background: url(./assets/images/home/q-icon.svg) no-repeat;
	background-size: 33px 30px;
	width: 33px;
	height: 30px;
}

.question .wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-title {
	margin-left: 45px;
}

/* ==============================================================
 * 固定ページ: report
 * =========================================================== */

.mainvisual-pc .wp-block-column:first-child {
	margin-left: 5%;
	min-width: 500px;
	width: 20%;
	z-index: 2;
}

.mainvisual-pc .wp-block-column:last-child {
	width: 80%;
	z-index: 1;
}

.message {
	align-items: flex-end;
	justify-content: flex-end;
}

.message .wp-block-column:first-child {
	margin-left: 5%;
	max-width: 290px;
	width: 20%;
	z-index: 2;
}

.message .wp-block-column:last-child {
	max-width: 852px;
	padding: 55px 16% 35px 0;
	position: relative;
	width: 62.37%;;
	z-index: 1;
}

.message .wp-block-column:last-child::before {
    position: absolute;
    content: "";
    width: 193px;
    height: 100%;
    background-color: #fff;
    top: 0;
    left: -193px;
    z-index: -1;
}

@media screen and (max-width: 767px) {
	.message .wp-block-column:first-child {
		background-color: #ffffff;
		margin: 0 auto;
		max-width: none;
		padding: 30px;
		width: 90%;
	}

	.message .wp-block-column:last-child {
		width: 90%;
		margin: 0 auto;
		padding: 30px;
	}

	.message .wp-block-column:last-child::before {
		content: none;
	}
}

@media screen and (max-width: 767px) {
	.mainvisual-subttl {
		gap: 0 23px;
	}

	.mainvisual-subttl p {
		font-size: 14px;
	}
}

/* ==============================================================
 * 固定ページ: survey
 * =========================================================== */

.survey h2 {
	font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
	.survey h2 {
		font-size: calc(1.7rem + ((1vw - 0.3rem) * 0.6667));
	}
}

@media screen and (max-width: 767px) {
	.survey .q img {
		height: 52px;
		width: auto;
	}
}

/* ==============================================================
 * 固定ページ: voice
 * =========================================================== */

/* ==============================================================
 * 固定ページ: interview
 * =========================================================== */

.interview-block {
	background-position: right 70px top 70px;
	background-repeat: no-repeat;
}

.interview-block:nth-of-type(1) {
	background-image: url(./assets/images/interview/interview-subttl01.svg);
}

.interview-block:nth-of-type(2) {
	background-image: url(./assets/images/interview/interview-subttl02.svg);
}

.interview-block:nth-of-type(3) {
	background-image: url(./assets/images/interview/interview-subttl03.svg);
}

@media screen and (max-width: 767px) {

	.interview-block {
		background-position: right 30px top 40px;
		background-size: 50% auto;
	}
}

/* ==============================================================
 * 固定ページ: medical
 * =========================================================== */

.reference {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
}

.reference .reference-link a {
	position: relative;
	display: inline-block;
	padding-right: 17px;
	color: #5b9024;
	font-weight: bold;
	line-height: 1.4;
	text-align: right;
	text-decoration: none;
}

.reference .reference-link a::after {
	position: absolute;
	top: 4px;
	right: 0;
	display: block;
	width: 10px;
	height: 10px;
	background-image: url(./assets/images/common/icon_target_g.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
}

/* ==============================================================
 * テンプレートパーツ、ブロックスタイル
 * =========================================================== */

/* テンプレートパーツ： 上マージン削除 */
.wp-block-template-part.is-style-rm-margin-top {
	margin-top: 0;
}

/* ナビゲーションリンクブロック： スマホのみ表示 */
.wp-block-navigation-link.is-style-sp-only {
	display: none;
}

/* リストブロック： リストマークなし */
.wp-block-list.is-style-no-listmark {
	list-style: none;
	padding-left: 0;
}

/* リストブロック： リストマークL字 */
.wp-block-list.is-style-l-shape-listmark {
	padding-left: 1.5em;
}

.wp-block-list.is-style-l-shape-listmark li {
	list-style-image: url(./assets/images/common/footer-sub.png);
}

/* カラムブロック： 両端揃え */
.wp-block-columns.is-style-justify {
	justify-content: space-between;
}

/* カラムブロック： 中央揃え */
.wp-block-columns.is-style-center {
	justify-content: center;
}

/* カラムブロック: 逆順 */
@media screen and (max-width: 767px) {
	.wp-block-columns.is-style-reverse > .wp-block-column:nth-child(1) {
		order: 2;
	}

	.wp-block-columns.is-style-reverse > .wp-block-column:nth-child(2) {
		order: 1;
	}

	.wp-block-columns.is-style-reverse > .wp-block-column:nth-child(3) {
		order: 0;
	}
}

/* 横並びブロック： ベースライン揃え */
.wp-block-group.is-style-baseline {
	align-items: baseline;
}

/* ボタンブロック */
.wp-block-button .wp-block-button__link {
	opacity: 1;
}

/* 見出しブロック: 横線付き */
.wp-block-heading.is-style-with-left-line {
	display: flex;
	align-items: center;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 768px) / (1366 - 768))), 22px);
}
.wp-block-heading.is-style-with-left-line:before {
	display: inline-block;
	content: "";
	height: 1px;
	width: 38px;
	background-color: #bdada9;
	margin-right: 20px;
}

@media screen and (max-width: 767px) {
	.wp-block-heading.is-style-with-left-line {
		align-items: flex-start;
	}

	.wp-block-heading.is-style-with-left-line:before {
		flex-shrink: 0;
		width: 30px;
		margin-top: 12px;
	}
}

/* 見出しブロック: 緑線付き */
.wp-block-heading.is-style-with-green-line {
	position: relative;
	padding-left: 15px;
}

.wp-block-heading.is-style-with-green-line:before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 5px;
	height: 92%;
	background: linear-gradient(105deg, #a0ca29 0%, #68850a 100%);
}

/* 段落ブロック: 文字詰め */
p.is-style-palt {
	font-feature-settings: "palt";
}
