/* reset */
html, body, div, span, p, a, img, ul, li, section {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	margin: 0;
	padding: 0;
	margin-top: 0;
}
ul {
	list-style: none;
}
/* .row {
	margin-right: 0 !important;
	margin-left: 0 !important;
}
.container, .col-sm-1, .col-sm-10, .col-sm-12, .col-sm-2, .col-sm-8 {
	padding-right: 0 !important;
	padding-left: 0 !important;
}
*/
.container {
	width: 100% !important;
}
a {
	outline: none;
	color: #000;
	text-decoration: none;
}
a:link {
	color: #333;
}
a:hover {
	text-decoration: none;
}
/* global */
section {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.ff {
	font-family: 'Cochin', "GFS Didot", Arial, sans-serif;
}
.fs {
	font-family: 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif !important;
}
.fs2 {
	font-family: Didot,Didot LT STD,Hoefler Text,Garamond,Times New Roman,serif;
}
section img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
}
/* common */
#pageTop {
	position: fixed;
	bottom: 2vw;
	right: 2vw;
	z-index: 9;
}
#pageTop a {
	display: block;
	z-index: 9;
	padding: 8px;
	border-radius: 0;
	width: 35px;
	height: 35px;
	background-color: #231815;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
}
@media screen and (max-width: 767px) {
   /* SP */
	.pc {
		display: none !important;
   }
	.item_bnr_line_xmas{
		position: relative !important;
		top: 0;
		padding-bottom: 5.5vw;
		margin: 0 auto;
		width: 100%;
   }
	.item_bnr_line_xmas img {
		width: 100%;
   }
}
@media screen and (min-width: 768px) {
   /* PC */
	
	    .menu_pc {
        position: fixed;
        z-index: 999999;
    }
	
	.sp {
		display: none !important;
   }
	.container {
		padding-right: 0px;
		padding-left: 0px;
		margin-right: auto;
		margin-left: auto;
   }
	.item_bnr_line_xmas{
		position: relative !important;
		top: 0;
		padding-bottom: 1.5vw;
		margin: 0 auto;
		width: 37vw;
   }
	.item_bnr_line_xmas img {
		width: 100%;
   }
}
/* FS_page_init */
#header {
   /*はじめの高さを設定*/
	height: 7vw;
	width: 100%;
   /*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#header.HeightMin {
	position: fixed;
	z-index: 999;
   /*最前面へ*/
	height: 0px;
	animation: DownAnime 0.5s forwards;
	margin-top: -7vw !important;
}
@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-14vw);
   }
	to {
		opacity: 1;
		transform: translateY(0);
   }
}
main {
	height: 100%;
	padding: 0 0px;
	background-color: #fff;
	transition: all .5s;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	main {
		margin-top: 0vw;
   }
}
@media screen and (min-width: 768px) {
	main {
		margin-top: 0vw !important;
   }
}
@media screen and (min-width: 768px) {
	.container {
		padding-right: 0px;
		padding-left: 0px;
		padding-top: 
		margin-right: auto;
		margin-left: auto;
   }
}
@media screen and (max-width: 767px) {
	#line_frds_add_pdct {
		border-style: none;
		margin: 0 auto;
		padding: 0 0 1vw;
   }
	#line_frds_add_pdct img {
		width: 100vw;
		height: 100%;
   }
}
@media screen and (min-width: 768px) {
	#line_frds_add_pdct {
		border-style: none;
		margin: 0 auto;
		padding: 0 0 1vw;
   }
	#line_frds_add_pdct img {
		width: 70vw;
		height: 100%;
   }
}

/* section */
@media screen and (max-width: 767px) {
   /* SP */
	.head_kv {
		width: 100%;
		position: relative;
   }
	.head_kv img {
		width: 100%;
		height: 100%;
   }
/*
	.item_list_ttl {
		padding: 0 0 5vw;
		margin-top: 24vw !important;
   }
*/
	.item_list {
		padding: 0 2vw;
   }
	.item_list.row-1 li {
		position: relative;
   }
	.item_list.row-1 li:not(:last-child) {
		margin-bottom: 7vw;
   }
	.item_list.row-1 li .data-info {
		position: relative;
   }
/*
	#pageTop a {
		display: block;
		width: 20vw;
		height: 20vw;
		border-radius: 50px;
   }
	.is-webp #pageTop a {
		background-image: url(/wp-content/themes/mytrex/img/page/xmas22/pagetop.png.webp);
		background-color: transparent;
		background-position: left;
		background-size: contain;
		background-repeat: no-repeat;
   }
	.is-no-webp #pageTop a {
		background-image: url(/wp-content/themes/mytrex/img/page/xmas22/pagetop.png);
		background-color: transparent;
		background-position: left;
		background-size: contain;
		background-repeat: no-repeat;
   }
	#pageTop a img {
		display: none;
   }
*/
	.icon_new {
		width: 20vw;
		position: absolute;
		right: -1vw;
		top: 58.5vw;
   }
}
@media screen and (min-width: 768px) {
   /* PC */
	.head_kv {
		width: 100%;
		position: relative;
   }
	.head_kv img {
		width: 100%;
		height: 100%;
   }
/*
	.item_list_ttl {
		padding: 0 0 0;
		margin-top: 11vw !important;
		margin-bottom: 7vw;
   }
*/
	.item_list.row-1 li {
		position: relative;
   }
	.item_list.row-1 li:not(:last-child) {
		margin-bottom: 7vw;
   }
	.item_list.row-1 li .data-info {
		position: relative;
   }
	.icon_new {
		width: 10vw;
   }
/*
	#pageTop a {
		display: block;
		width: 7vw;
		height: 7vw;
		border-radius: 50px;
   }
	.is-webp #pageTop a {
		background-image: url(/wp-content/themes/mytrex/img/page/xmas22/pagetop.png.webp);
		background-color: transparent;
		background-position: left;
		background-size: contain;
		background-repeat: no-repeat;
   }
	.is-no-webp #pageTop a {
		background-image: url(/wp-content/themes/mytrex/img/page/xmas22/pagetop.png);
		background-color: transparent;
		background-position: left;
		background-size: contain;
		background-repeat: no-repeat;
   }
	#pageTop a img {
		display: none;
   }
*/
}

/* foot */
@media screen and (max-width: 767px) {
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 2.0vw;
		line-height: 3vw;
		padding: 2vw 0vw 2vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}
@media screen and (min-width: 768px) {
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 0.7vw;
		line-height: 1.1vw;
		padding: 1vw 0vw 1vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}


/* ny_2023 */


/* head */
@media screen and (max-width: 767px) {
	.head_kv img {
		height: 100%;
   }
	.sec_nav {
		background: url(/wp-content/themes/mytrex/img/page/ny2023/ny23_menu_bg_s.jpg) repeat-y left top;
		background-size: 100% auto;
		padding-bottom: 6vw;
   }
	.nav_ttl {
		width: 80vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 6vw;
		margin-top: 10vw !important;
   }
	.nav_link_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 1.7vw;
		width: 83vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5vw;
   }
	.nav_link_list > li {
		width: 26.5VW;
   }
	.nav_text {
		font-size: 1.5vw;
		letter-spacing: 0.05em;
		line-height: 1.6;
		width: 83vw;
		margin-left: auto;
		margin-right: auto;
   }
}
@media screen and (min-width: 768px) {
	.head_kv img {
		height: 100%;
   }
	.sec_nav {
		background: url(/wp-content/themes/mytrex/img/page/ny2023/ny23_menu_bg_p.jpg) repeat-y left top;
		background-size: 100% auto;
		padding-bottom: 43vw;
   }
	.nav_ttl {
		width: 80vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 4vw;
		margin-top: 8vw !important;
   }
	.nav_link_list {
		display: flex;
		justify-content: space-between;
		width: 80vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 4vw;
   }
	.nav_link_list > li {
		width: 15vw;
   }
	.nav_text {
		font-size: 1vw;
		letter-spacing: 0.05em;
		line-height: 1.7;
		width: 80vw;
		margin-left: auto;
		margin-right: auto;
   }
}

/* section */
.sec_wrap img {
	display: block;
	width: 100%;
	vertical-align: top;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.sec_item {
		background: url(/wp-content/themes/mytrex/img/page/ny2023/ny23_sec_bg_s.jpg) repeat-y left top;
	   /* background-size: contain;
		*/
		background-size: 100% auto;
		margin-top: -57vw !important;
		padding-top: 57vw;
		margin-bottom: 13vw;
   }
	.item_list {
		margin-left: 4vw;
		margin-right: 4vw;
   }
	.item_box_wrap {
		margin-bottom: 15vw;
		position: relative;
   }
	.item_box {
		background-color: rgba(255,255,255,0.7);
	   ;
		min-height: 400px;
		padding-left: 4vw;
		padding-right: 4vw;
		padding-top: 10vw;
		padding-bottom: 6vw;
   }
	.item_icon {
		width: 18vw;
		position: absolute;
		left: 0;
		right: 0;
		top: -4vw;
		margin-left: auto;
		margin-right: auto;
   }
	.item_btn {
		width: 75vw;
		margin-left: auto;
		margin-right: auto;
   }
	.item_btn a {
		width: 100%;
		height: 10vw;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #ab171e;
		color: #dac880;
		font-size: 3.75vw;
		letter-spacing: 0.04em;
		position: relative;
		border-radius: 2px;
   }
	.item_btn a::after{
		content: '';
		display: inline-block;
		border-style: solid;
		border-width: 7px 0 7px 12px;
		border-color: transparent transparent transparent #dac880;
		display: inline-block;
		width: 0;
		height: 0;
		position: absolute;
		top: 50%;
		right: 4vw;
		transform: translateY(-50%);
   }
	.item_note {
		color: #ffffff;
		background: rgb(195,0,18);
		background: linear-gradient(90deg, rgba(195,0,18,1) 0%, rgba(135,0,2,1) 100%);
		height: 7.5vw;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 3.8vw;
		letter-spacing: 0.01em;
		width: 100%;
		position: absolute;
		left: 0;
		top: 41vw;
		right: 0;
		margin: auto;
   }
}
@media screen and (min-width: 768px) {
	.sec_item {
		background: url(/wp-content/themes/mytrex/img/page/ny2023/ny23_sec_bg_p.jpg) repeat-y left top;
	   /* background-size: contain;
		*/
		background-size: 100% auto;
		margin-bottom: 9vw;
   }
	.item_list {
		margin-left: 8vw;
		margin-right: 8vw;
		margin-top: -30vw !important;
   }
	.item_box_wrap {
		margin-bottom: 10vw;
		position: relative;
   }
	.item_box {
		background-color: rgba(255,255,255,0.7);
	   ;
		min-height: 400px;
		padding-left: 5vw;
		padding-right: 5vw;
		padding-top: 7vw;
		padding-bottom: 2vw;
   }
	.item_icon {
		width: 14vw;
		position: absolute;
		left: 0;
		right: 0;
		top: -3vw;
		margin-left: auto;
		margin-right: auto;
   }
	.item_btn {
		width: 46vw;
		margin-left: auto;
		margin-right: auto;
   }
	.item_btn a {
		width: 100%;
		height: 6vw;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #ab171e;
		color: #dac880;
		font-size: 2.3vw;
		letter-spacing: 0.04em;
		position: relative;
		border-radius: 2px;
   }
	.item_btn a::after{
		content: '';
		display: inline-block;
		border-style: solid;
		border-width: 10px 0 10px 15px;
		border-color: transparent transparent transparent #dac880;
		display: inline-block;
		width: 0;
		height: 0;
		position: absolute;
		top: 50%;
		right: 2.5vw;
		transform: translateY(-50%);
   }
	.item_note {
		color: #ffffff;
		background: rgb(195,0,18);
		background: linear-gradient(90deg, rgba(195,0,18,1) 0%, rgba(135,0,2,1) 100%);
		height: 5vw;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 2.5vw;
		letter-spacing: 0.075em;
	   /* margin-left: calc(-42vw + 50%);
		*/
	   /* margin-right: calc(-42vw + 50%);
		*/
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		top: 27vw;
		margin: auto;
   }
}

/* cart */
@media screen and (min-width: 768px) {
	.fs_cart_add {
		width: 46vw;
		margin-left: auto;
		margin-right: auto;
	}
	.fs_cart_add form > table tr td button[type="submit"] {
		background-color: #ab171e;
		height: 6vw;
		color: #dac880;
		font-size: 2.3vw;
		letter-spacing: 0.04em;
	}
	.fs_cart_add form > table tr td input[type="text"] {
		height: 6vw;
	}
}

@media screen and (max-width: 767px) {
	.fs_cart_add form > table tr td button[type="submit"] {
		background-color: #ab171e;
		color: #dac880;
		font-size: 3.75vw;
		letter-spacing: 0.04em;
	}
}

/* foot */
@media screen and (max-width: 767px) {
	.foot_info {
		width: 83vw;
		margin-left: auto;
		margin-right: auto;
		color: #383232;
		margin-bottom: 16vw;
   }
	.foot_info1 {
		color: #ff4600;
		font-size: 2.3vw;
		margin-bottom: 3vw;
   }
	.foot_info1 span {
		font-size: 1.9vw;
   }
	.foot_info2 {
		font-size: 2.4vw;
		letter-spacing: 0.035em;
		line-height: 1.5;
		font-weight: bold;
		padding-left: 4vw;
		position: relative;
		margin-bottom: 2vw;
   }
	.foot_info2_icon {
		width: 2.5vw;
		position: absolute;
		left: 0;
		top: 0;
   }
	.foot_info3 {
		font-size: 2.4vw;
		letter-spacing: 0.001em;
   }
	.foot_info3 > li {
		margin-left: 1em;
		text-indent: -1em;
	   ;
   }
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 2.0vw;
		line-height: 3vw;
		padding: 2vw 0vw 2vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}
@media screen and (min-width: 768px) {
	.foot_info {
		width: 90vw;
		margin-left: auto;
		margin-right: auto;
		color: #383232;
		margin-bottom: 14vw;
   }
	.foot_info1 {
		color: #ff4600;
		font-size: 1.7vw;
		margin-bottom: 2vw;
   }
	.foot_info1 span {
		font-size: 1.4vw;
   }
	.foot_info2 {
		font-size: 1.7vw;
		letter-spacing: 0.035em;
		line-height: 1.5;
		font-weight: bold;
		padding-left: 5vw;
		position: relative;
		margin-bottom: 3vw;
   }
	.foot_info2_icon {
		width: 3.3vw;
		position: absolute;
		left: 0;
		top: 0;
   }
	.foot_info3 {
		font-size: 1.7vw;
		letter-spacing: 0.05em;
   }
	.foot_info3 > li {
		margin-left: 1em;
		text-indent: -1em;
	   ;
   }
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 0.7vw;
		line-height: 1.1vw;
		padding: 1vw 0vw 1vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}

/* modal */
.js-info {
	display: none;
}
.js-info.activate {
	display: block;
}
@media screen and (max-width: 767px) {
	.head_order {
		display: flex;
		flex-direction: column-reverse;
	}
	.overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		background-color: rgba(0, 0, 0, 0.65);
		width: 100%;
		height: 100%;
		z-index: 10;
		opacity: 1;
	}
	.modal-window {
		display: none;
		position: fixed;
		top: 53%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 92vw;
		height: 86%;
		/* overflow: auto; */
		z-index: 11;
		background-color: #fff;
		padding: 4.5vw 4vw;
		padding-bottom: 14vw;
		overscroll-behavior: contain;
	}
	.modal-window > div {
		display: block;
		position: relative;
	}
	.js-close {
		position: absolute;
	}
	.button-close {
		position: absolute;
		top: 2vw;
		right: 2vw;
		width: 8vw;
		height: 8vw;
		background-color: rgba(255, 255, 255, 0.65);
		border: 1px solid #4d4d4d;
		cursor: pointer;
		font-size: 14vw;
		display: flex;
		justify-content: center;
		font-weight: 100;
		line-height: 4vw;
		z-index: 1;
	}
	.button-close-btm {
		width: 100%;
		background-color: #ffffff;
		border: 1px solid #4d4d4d;
		cursor: pointer;
		display: block;
		align-items: center;
		justify-content: center;
		position: relative;
		font-size: 3.75vw;
		margin: 0 auto 0;
		position: relative !important;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 3vw 0;
		margin-top: 3vw;
	}
	.square_btn {
		display: block;
		position: relative;
		width: 30px;
		height: 30px;
		background: transparent;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.square_btn::before, .square_btn::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1px;
		height: 15px;
		background: #333;
	}
	.square_btn::before {
		transform: translate(-50%,-50%) rotate(45deg);
	}
	.square_btn::after {
		transform: translate(-50%,-50%) rotate(-45deg);
	}
}

/* ローディング */
.loading {
	position: absolute;
	z-index: 10;
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	background: transparent;
	left: 0;
	top: 0;
}
.loaded + .loading {
	opacity: 0;
	pointer-events: none;
	transition: opacity 500ms;
}
.loading .circle {
	display: block;
	position: relative;
	top: calc(50% - 20px);
	width: 40px;
	height: 40px;
	margin: 0 auto;
	border: 8px solid #e0e0e0;
	border-top: 7px solid #b49664;
	border-radius: 50px;
	animation: loading 700ms linear 0ms infinite normal both;
}
@keyframes loading {
	0% {
		transform: rotate(0deg);
   }
	100% {
		transform: rotate(360deg);
   }
}

/* modal */
.openModal {
    border: none;
    background: none;
    padding: 0;
}
.modal {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transform: scale(0.3);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
  overflow-y: auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.modal.show {
  display: block;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.modal-cnt {
    max-height: 90vh;
    overflow-y: auto;
    transform: none;
    position: relative;
}
@media screen and (min-width:768px){
    .closeModal {
        width: fit-content;
        margin: 0 auto;
        font-size: 1vw;
        padding: .5vw 2vw;
        border: 1px solid;
        border-radius: 3vw;
    }
}
@media screen and (max-width:767px){
    .closeModal {
        width: fit-content;
        margin: 0 auto;
        font-size: 2.5vw;
        padding: 1.3vw 4vw;
        border: 1px solid;
        border-radius: 5vw;
    }
}


/* シャワーヘッドホテル導入
==============================*/
body {
    font-feature-settings: 'palt';
}
img {
    width: 100%;
}
a {
    text-decoration: none!important;
}
@media screen and (min-width:768px){
    .menu_btn_link {
        display: inline-block;
        font-family: sans-serif;
        background: #3c3c3c;
        font-size: .95vw;
        letter-spacing: .15em;
        line-height: 1;
        padding: .3vw 2.5vw;
        border-radius: .2vw;
    }
    .menu_btn_link:link,
    .menu_btn_link:visited {
        color: #fff;
    }
    .fixed_entry_btn {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, rgba(69, 111, 176, 1) 45%, rgba(109, 94, 181, 1) 100%);
        font-size: 1.65vw;
        text-align: center;
        padding: .5vw 0;
        letter-spacing: .13em;
        z-index: 9999;
    }
    .fixed_entry_btn:link,
    .fixed_entry_btn:visited {
        color: #fff;
    }
    .fixed_entry_btn::before {
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 27%;
        right: 38%;
    }
    .fixed_entry_btn::after {
        display: inline-block;
        content: '';
        height: .6vw;
        width: .6vw;
        border-top: .15vw solid #456fb0;
        border-right: .15vw solid #456fb0;
        position: absolute;
        top: 40%;
        right: 38.6%;
        transform: rotate(45deg);
    }
    .sec1_box1 {
        padding: 5vw 0 6vw;
        text-align: center;
    }
    .sec1_txt1 {
        font-size: 1vw;
        letter-spacing: .13em;    
        color: #466fad;
        margin-bottom: .5vw;
    }
    .sec1_ttl {
        font-size: 2.4vw;
        letter-spacing: .02em;
        line-height: 1;
        margin-bottom: 1vw;
    }
    .sec1_ttl span {
        font-size: 2.6vw;
        font-weight: 600;
    }
    .entry_btn1 {
        display: inline-block;
        background: #ebf3f6;
        font-size: 1.3vw;
        letter-spacing: .15em;
        line-height: 1;
        padding: 1vw 5vw;
        border-radius: .3vw;
        position: relative;
    }
    .entry_btn1::before {
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 27%;
        right: 4%;
    }
    .entry_btn1::after {
        display: inline-block;
        content: '';
        height: .6vw;
        width: .6vw;
        border-top: .15vw solid #333;
        border-right: .15vw solid #333;
        position: absolute;
        top: 40%;
        right: 6%;
        transform: rotate(45deg);
    }
    .sec1_box2 {
        padding: 0 12.5vw 14vw;    
        display: flex;
    }
    .sec2_box {
        padding: 0 12vw 7vw;
    }
    .bg {
        background: #f2f5fa;
    }
    .sec_ttl {
        width: 21vw;
        margin: 0 auto;
        background: linear-gradient(90deg, rgba(69, 111, 176, 1) 45%, rgba(109, 94, 181, 1) 100%);
        color: #fff;
        font-size: 1.5vw;
        letter-spacing: .13em;
        line-height: 1;
        text-align: center;
        padding: .7vw 0;
        position: relative;
    }
    .sec_ttl::before,
    .sec_ttl::after {
        display: inline-block;
        content: '';
        height: 2.9vw;
        width: .1vw;
        background: #333;
        position: absolute;
        top: 0;
    }
    .sec_ttl::before{
        left: -.5vw;
    }
    .sec_ttl::after{
        right: -.5vw;
    }
    .sec2_box1 {
        padding: 4vw 9vw 3vw;
    }
    .sec2_txt {
        font-size: 2.1vw;
        letter-spacing: .1em;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: .5vw;
        white-space: nowrap;
    }
    .sec2_txt span {
        font-size: 3vw;
        letter-spacing: .08em;
        color: #466faf;
    }
    .sec2_ttl {
        font-size: 1.7vw;
        letter-spacing: .18em;
        text-align: center;    
        margin-bottom: 1vw;
    }
    .sec2_slide_cnt {
        display: flex;
    }
    .sec2_slide_img {
        width: 34%;
    }
    .sec2_slide_txt {
        width: 66%;
        background: #fff;
        padding: 2.5vw 3vw;
    }
    .sec2_nm {
        font-size: 1.8vw;
        letter-spacing: .06em;
        line-height: 1;
        text-align: center;
        padding: .7vw 0;
        border-top: .1vw solid;
        border-bottom: .1vw solid;
        margin-bottom: 1vw;
    }
    .sec2_txt1 {
        font-size: 1.5vw;
        letter-spacing: .08em;
        line-height: 1.4;
        text-align: center;
        margin-bottom: .3vw;
    }
    .sec2_txt2 {
        font-size: 1vw;
        letter-spacing: .08em;
        line-height: 1.8;
        margin-bottom: 1vw;
    }
    .site_link {
        display: block;
        width: fit-content;
        margin: 0 auto;
        background: linear-gradient(180deg, rgba(231, 231, 231, 1) 45%, rgba(209, 209, 209, 1) 100%);
        box-shadow: .1vw .1vw .3vw rgba(0, 0, 0, .3);
        font-size: 1.1vw;
        letter-spacing: .1em;
        line-height: 1;
        padding: .8vw 5vw;
        border-radius: .6vw;
    }
    #image-carousel01 .splide__arrow,
    #image-carousel02 .splide__arrow {
        background: none;
        border-radius: 0;
        height: 2vw;
        width: 2vw;
        border-top: .15vw solid;
        border-right: .15vw solid;
        opacity: 1;
        top: 44%;
    }
    #image-carousel01 .splide__arrow--prev, 
    #image-carousel02 .splide__arrow--prev {
        left: -6vw;
        transform: rotate(-135deg);
    }
    #image-carousel01 .splide__arrow--next,
    #image-carousel02 .splide__arrow--next {
        right: -6vw;
        transform: rotate(45deg);
    }
    #image-carousel01 .splide__arrow svg, 
    #image-carousel02 .splide__arrow svg {
        display: none;
    }
    #image-carousel01 .splide__pagination {
        bottom: -12%;
    }
    #image-carousel01 .splide__pagination__page {
        height: .65vw;
        width: .65vw;
        opacity: 1;
        background: #acadaf;
    }
    #image-carousel01 .splide__pagination__page.is-active {
        background: #666;
        transform: scale(1);
    }
    .sec3_box {
        padding: 10vw 23vw;
    }
    .sec3_box1 {
        margin-bottom: 3vw;
    }
    .sec3_ttl {
        font-size: 2.1vw;
        letter-spacing: .12em;
        text-align: center;
        margin-bottom: 1.5vw;
    }
    .sec3_box2 {
        background: #f9f9f9;
        padding: 3.5vw 4.5vw 4vw;
    }
    .sec3_ttl2 {
        font-size: 1.9vw;
        letter-spacing: .1em;
        line-height: 1.5;
        text-align: center;
        margin-bottom: .8vw;
    }
    .sec3_txt {
        font-size: 1.1vw;
        line-height: 1.65;
        text-align: center;
        padding: 1.4vw 0;
    }
    .sec4_box {
        padding: 0 12vw 5.5vw;
    }
    .series_ttl {
        font-size: 1.65vw;
        font-weight: 600;
        letter-spacing: .06em;
        text-align: center;
        padding: 4.5vw 0 2.5vw;
    }
    .series_cnt {
        display: flex;    
        justify-content: space-between;
    }
    .series_item {
        width: calc(50% - 3vw);
    }
    .item_img {
        margin-bottom: 2vw;
    }
    .item_detail {
        height: 16vw;
        padding-left: 1.3vw;
        border-left: .7vw solid;
        margin-bottom: 1.5vw;
    }
    .series_item:first-child .item_detail{
        border-image: linear-gradient(to bottom, #456fb0, #6d5eb5) 1;
    }
    .series_item:last-child .item_detail{
        border-image: linear-gradient(to bottom, #ff9655, #ffd79d) 1;
    }
    .item_ttl {
        font-size: 1.5vw;
        font-weight: 700;
        letter-spacing: .15em;
        line-height: 1.3;
        margin-bottom: .8vw;
    }
    .series_item:first-child .item_ttl{
        color: #2a588a;
    }
    .series_item:last-child .item_ttl{
        color: #fd9757;
    }
    .item_nm {
        font-size: 1.15vw;
        letter-spacing: .1em;
        line-height: 1;
        margin-bottom: .8vw;
    }
    .item_nm sup {
        font-size: .8vw;
        vertical-align: bottom;
    }
    .item_dtl1 {
        font-size: 1.6vw;
        letter-spacing: .1em;    
        line-height: 1.4;
        padding-bottom: .5vw;
        border-bottom: .15vw dashed #9c9d9f;
        margin-bottom: .8vw;
    }
    .item_dtl2 {
        font-size: 1.2vw;
        letter-spacing: .1em;
        line-height: 1.5;
        text-align: justify;
        position: relative;
		min-height: 35%;
    }
    .item_dtl2 sup {
        font-size: .8vw;
    }
    .item_dtl2 span {
        font-size: .6vw;
        position: absolute;
        bottom: 2%;
        right: 0;
    }
    .item_feature {
        display: flex;
        justify-content: space-between;
        margin-bottom: 1.8vw;
    }
    .item_feature li {
        width: calc(33.3% - .5vw);
        font-size: 1vw;
        letter-spacing: .06em;
        line-height: 2;
        text-align: center;
        color: #fff;
    }
    .series_item:first-child .item_feature li{
        background: #3e6795;
    }
    .series_item:last-child .item_feature li{
        background: #ff9655;
    }
    .item_link {
        display: block;
        background: #666;
        box-shadow: .1vw .1vw .3vw rgba(0, 0, 0, .3);
        font-size: 1.2vw;
        letter-spacing: .1em;
        line-height: 1;
        text-align: center;
        padding: .8vw 0;
        border-radius: .3vw;
        position: relative;
    }
    .item_link::before{
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 30%;
        right: 2.5%;
    }
    .item_link::after {
        display: inline-block;
        content: '';
        height: .5vw;
        width: .5vw;
        border-top: .15vw solid #666;
        border-right: .15vw solid #666;
        position: absolute;
        top: 40%;
        right: 3.5%;
        transform: rotate(45deg);
    }
    .item_link:link,
    .item_link:visited{
        color: #fff;
    }
    .sec5_box {
        padding: 14vw 0 0;
    }
    .sec5_box1 {
        padding: 3.5vw 13vw 14vw;
    }
    .sld2_cnt {
        position: relative;
    }
    .sld2_mv {
        width: 29vw;
        position: absolute;
        top: 0;
        left: 0;
    }
    .sec5_box2 {
        padding: 0 4.5vw;
    }
    .sec5_box2a {
        background: #fff;
        padding: 0 8.5vw;
        display: flex;
        justify-content: space-between;
    }
    .sec5_box2a li {
        width: calc(33.3% - .5vw);
    }
    .sec6_box {
        padding: 14vw 23vw;
    }
    .sec6_box1 {
        padding-top: 2.2vw;
    }
    .series_table {
        width: 100%;
        table-layout: fixed;
    }
    .series_table tr {
        border-top: .1vw solid #7f7f7f;
    }
    .series_table tr:last-child {
        border-bottom: .1vw solid #7f7f7f;
    }
    .series_table td:nth-child(2) {
        border-right: .1vw solid #7f7f7f;
    }
    .series_table th {
        width: 15vw;
        background: #f4f8fb;
        font-size: 1.2vw;
        letter-spacing: .13em;
        text-align: center;
        vertical-align: middle;
    }
    .series_table tr:not(:first-child) td {
        font-size: 1.1vw;
        letter-spacing: .08em;
        line-height: 1.4;
        text-align: center;
        vertical-align: middle;
        padding: 1vw 0;
    }
    .series_table tr:nth-child(3) td {
        text-align: left;
        padding-left: 4vw;
    }
    .series_table tr:nth-child(4) td,
    .series_table tr:nth-child(6) td,
    .series_table tr:nth-child(7) td:last-child {
        font-size: 1.45vw;
    }
    .series_table tr:nth-child(8) td,
    .series_table tr:last-child td {
        line-height: 1.1;
        padding: .5vw 0;
    }
    .series_table td span {
        font-size: .8vw;
    }
    .sec7_box {
        padding: 6vw 0 5.5vw;
        text-align: center;
    }
    .sec7_ttl {
        font-size: 2.5vw;
        letter-spacing: .08em;
        line-height: 1;
        margin-bottom: 1.3vw;
    }
    .sec7_sub {
        font-size: 1.15vw;
        letter-spacing: .13em;
        line-height: 1;
        margin-bottom: 2vw;
    }
    .entry_btn2{
        display: inline-block;
        background: #466fb1;
        font-size: 1.3vw;
        letter-spacing: .15em;
        line-height: 1;
        padding: 1vw 7vw;
        border-radius: .3vw;
        position: relative;
    }
    .entry_btn2::before {
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 27%;
        right: 4%;
    }
    .entry_btn2::after {
        display: inline-block;
        content: '';
        height: .6vw;
        width: .6vw;
        border-top: .15vw solid #466fb1;
        border-right: .15vw solid #466fb1;
        position: absolute;
        top: 40%;
        right: 6.5%;
        transform: rotate(45deg);
    }
    .entry_btn2:link,
    .entry_btn2:visited {
        color: #fff;
    }
    #contact {
        width: 60vw;
        padding-top: 8vw;
        margin: 0 auto;
    }
    .contact_item_nm {
        font-size: 1.4vw;
        line-height: 1.8;
    }
    .contact_item_nm span {
        display: inline-block;
        color: #ff9655;
        padding-left: 1vw;
    }
    input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required,
    input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel {
        width: 100%;
        border: none;
        border-bottom: 1px solid #ccc;
        background-color: #fbfbfb;
        margin-top: 0.4vw;
        font-weight: normal;
        margin-bottom: 1vw;
    }
    textarea.wpcf7-form-control.wpcf7-textarea {
        width: 100%;
        border: 1px solid #ccc;
        padding: 1vw;
    }
    input.wpcf7-form-control.has-spinner.wpcf7-submit {
        display: inline-block;
        background: #466fb1;
        color: #fff;
        font-size: 1.3vw;
        letter-spacing: .15em;
        line-height: 1;
        padding: 1vw 7vw;
        border: none;
        border-radius: .3vw;
    }
}
@media (max-width: 767px) {
    .menu_sp_list_logo a {
        margin: 0 auto;
    }
    .menu_btn_link {
        display: block;
        width: 22vw;
        background: #3c3c3c;
        font-size: 2.4vw;
        letter-spacing: .08em;
        line-height: 1.7;
        text-align: center;
        border-radius: .5vw;
    }
    .menu_btn_link:link,
    .menu_btn_link:visited {
        color: #fff;
    }
    .wrapper main {
        margin-top: 13vw !important;
    }
    .fixed_entry_btn {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        background: linear-gradient(160deg, rgba(69, 111, 176, 1) 30%, rgba(109, 94, 181, 1) 100%);
        font-size: 4.8vw;
        text-align: center;
        padding: 3vw 0;
        letter-spacing: .13em;
        z-index: 9999;
    }
    .fixed_entry_btn:link,
    .fixed_entry_btn:visited {
        color: #fff;
    }
    .fixed_entry_btn::before {
        display: inline-block;
        content: '';
        height: 4.5vw;
        width: 4.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 32%;
        right: 15%;
    }
    .fixed_entry_btn::after {
        display: inline-block;
        content: '';
        height: 2vw;
        width: 2vw;
        border-top: 1.5px solid #456fb0;
        border-right: 1.5px solid #456fb0;
        position: absolute;
        top: 40.7%;
        right: 16.6%;
        transform: rotate(45deg);
    }
    .sec1_box1 {
        padding: 10vw 0;
        text-align: center;    
    }
    .sec1_txt1 {
        font-size: 2.5vw;
        letter-spacing: .15em;    
        line-height: 1;
        color: #466fad;
        margin-bottom: 2vw;
    }
    .sec1_ttl {
        font-size: 5vw;
        letter-spacing: .04em;
        line-height: 1;
        margin-bottom: 2vw;
    }
    .sec1_ttl span {
        font-size: 5.5vw;
        font-weight: 600;
    }
    .entry_btn1 {
        display: inline-block;
        background: #ebf3f6;
        font-size: 3.1vw;
        letter-spacing: .13em;
        line-height: 1;
        padding: 2vw 9vw;
        border-radius: .3vw;
        position: relative;
    }
    .entry_btn1::before {
        display: inline-block;
        content: '';
        height: 3vw;
        width: 3vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 27%;
        right: 4%;
    }
    .entry_btn1::after {
        display: inline-block;
        content: '';
        height: 1.35vw;
        width: 1.35vw;
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        position: absolute;
        top: 38%;
        right: 6%;
        transform: rotate(45deg);
    }
    .sec2_box {
        padding-top: 14vw;
    }
    .sec_ttl {
        width: 83vw;
        margin: 0 auto;
        background: linear-gradient(160deg, rgba(69, 111, 176, 1) 45%, rgba(109, 94, 181, 1) 100%);
        color: #fff;
        font-size: 5.1vw;
        letter-spacing: .13em;
        line-height: 1;
        text-align: center;
        padding: 3vw 0;
        position: relative;
    }
    .sec_ttl::before,
    .sec_ttl::after {
        display: inline-block;
        content: '';
        height: 11vw;
        width: 1px;
        background: #333;
        position: absolute;
        top: 0;
    }
    .sec_ttl::before{
        left: -1.5vw;
    }
    .sec_ttl::after{
        right: -1.5vw;
    }
    .sec2_box1 {
        padding: 4vw 6vw 19vw;
    }
    .sec2_txt {
        font-size: 5.4vw;
        letter-spacing: .1em;
        line-height: 1.5;
        text-align: center;
        margin-bottom: 4vw;
    }
    .sec2_txt span {
        font-size: 7.5vw;
        color: #466faf;
    }
    .sec2_ttl {
        font-size: 4.4vw;
        letter-spacing: .2em;
        line-height: 2.5;
        text-align: center;
        background: #d8d8d8;
    }
    #image-carousel01 {
        background: #f5f9fc;
        padding: 5.5vw 9vw 13vw;
    }
    .sec2_slide_cnt {
        background: #fff;
        padding: 4vw 0 7vw;
    }
    .sec2_nm {
        font-size: 3.8vw;
        letter-spacing: .06em;
        line-height: 1;
        text-align: center;
        margin-bottom: 3vw;
    }
    .sec2_slide_txt {
        padding: 4vw 6vw 0;
    }
    .sec2_txt1 {
        font-size: 3.1vw;
        letter-spacing: .08em;
        line-height: 1.5;
        text-align: center;
        padding-bottom: 2vw;
        border-bottom: 1px solid #9a9a9a;
        margin-bottom: 2vw;
    }
    .sec2_txt2 {
        color: #353535;
        font-size: 2.55vw;
        letter-spacing: .06em;
        line-height: 1.6;
        margin-bottom: 4vw;
    }
    .site_link {
        display: block;
        width: fit-content;
        margin: 0 auto;
        background: linear-gradient(180deg, rgba(231, 231, 231, 1) 45%, rgba(209, 209, 209, 1) 100%);
        box-shadow: 2px 2px 6px rgba(0, 0, 0, .2);
        font-size: 3.1vw;
        letter-spacing: .13em;
        line-height: 1;
        padding: 2.5vw 15vw;
        border-radius: 1.5vw;
    }
    #image-carousel01 .splide__arrow,
    #image-carousel02 .splide__arrow {
        background: none;
        border-radius: 0;
        height: 5vw;
        width: 5vw;
        border-top: 1px solid;
        border-right: 1px solid;
        opacity: 1;
        top: 47%;
    }
    #image-carousel01 .splide__arrow--prev {
        left: 3vw!important;
        transform: rotate(-135deg);
    }
    #image-carousel01 .splide__arrow--next,
    #image-carousel02 .splide__arrow--next {
        right: 3vw!important;
        transform: rotate(45deg);
    }
    #image-carousel01 .splide__arrow svg, 
    #image-carousel02 .splide__arrow svg {
        display: none;
    }
    #image-carousel01 .splide__pagination {
        bottom: 6vw !important;
    }
    #image-carousel01 .splide__pagination__page, 
    #image-carousel02 .splide__pagination__page {
        height: 2vw;
        width: 2vw;
        margin: 1vw;
        opacity: 1;
        background: #acadaf;
    }
    #image-carousel01 .splide__pagination__page.is-active,
    #image-carousel02 .splide__pagination__page.is-active {
        background: #666!important;
        transform: scale(1);
    }
    .sec3_box {
        padding: 13vw 0 20vw;
    }
    .sec3_box1 {
        padding: 0 8vw 9vw;
        position: relative;
    }
    .sec3_ttl {
        width: 84%;
        font-size: 5.7vw;
        letter-spacing: .08em;
        line-height: 1.5;
        text-align: center;
        position: absolute;
        top: 10vw;
    }
    .sec3_box2 {
        background: #f9f9f9;
        padding: 11vw 0 14vw;
    }
    .sec3_ttl2 {
        font-size: 5vw;
        letter-spacing: .1em;
        line-height: 1.55;
        text-align: center;
        margin-bottom: 3vw;
    }
    .sec3_txt {
        padding: 5vw 8vw 4vw;
        font-size: 3.7vw;
        letter-spacing: .04em;
        line-height: 1.65;
    }
    .sec4_box {
        background: #f3f4f9;
        padding: 14vw 0 13vw;
    }
    .series_ttl {
        font-size: 4.3vw;
        font-weight: 600;
        letter-spacing: .06em;
        text-align: center;
        padding: 8vw 0 6vw;
    }
    .series_cnt {
        display: flex;
        flex-direction: column;
        gap: 10vw;
    }
    .item_detail {
        padding: 8vw 8.5vw 3vw;
    }
    .item_ttl {
        font-size: 3.8vw;
        font-weight: bold;
        letter-spacing: .1em;
        line-height: 1;
        text-align: center;
        margin-bottom: 2vw;
    }
    .series_item:first-child .item_ttl{
        color: #2a588a;
    }
    .series_item:last-child .item_ttl{
        color: #fd9757;
    }
    .item_nm {
        font-size: 3.5vw;
        letter-spacing: .1em;
        line-height: 1;
        text-align: center;
        margin-bottom: 6.5vw;
        position: relative;
    }
    .item_nm sup {
        font-size: 2.5vw;
    }
    .item_nm::before {
        display: block;
        content: '';
        height: 1.5px;
        width: 6vw;
        background: #666;
        position: absolute;
        bottom: -4.5vw;
        left: 50%;
        transform: translateX(-50%);
    }
    .item_dtl1 {
        font-size: 5.2vw;
        letter-spacing: .08em;
        line-height: 1.35;
        text-align: center;
        padding-bottom: 2vw;
        border-bottom: 1px dashed #d1d5d8;
        margin-bottom: 2vw;
    }
    .item_dtl2 {
        font-size: 3.2vw;
        letter-spacing: .08em;
        line-height: 1.7;
        text-align: justify;
        color: #353533;
        position: relative;
    }
    .item_dtl2 sup {
        font-size: 1.7vw;
    }
    .item_dtl2 span {
        font-size: 1.5vw;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .item_feature {
        padding: 0 9vw 4vw;
        display: flex;
        justify-content: space-between;
    }
    .item_feature li {
        width: calc(33.3% - 1vw);
        font-size: 2.9vw;
        letter-spacing: .06em;
        line-height: 1.8;
        text-align: center;
        color: #fff;
    }
    .series_item:first-child .item_feature li{
        background: #3e6795;
    }
    .series_item:last-child .item_feature li{
        background: #ff9655;
    }
    .item_link {
        display: block;
        width: 82vw;
        margin: 0 auto;
        background: #666;
        box-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
        font-size: 2.8vw;
        letter-spacing: .15em;
        line-height: 1;
        text-align: center;
        padding: 2.5vw 0;
        border-radius: .7vw;
        position: relative;
    }
    .item_link::before{
        display: inline-block;
        content: '';
        height: 2.8vw;
        width: 2.8vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 30%;
        right: 3%;
    }
    .item_link::after {
        display: inline-block;
        content: '';
        height: 1.3vw;
        width: 1.3vw;
        border-top: 1px solid #666;
        border-right: 1px solid #666;
        position: absolute;
        top: 41%;
        right: 4.3%;
        transform: rotate(45deg);
    }
    .item_link:link,
    .item_link:visited{
        color: #fff;
    }
    .sec5_box {
        padding-top: 20vw;
    }
    .sec5_box1 {
        padding: 7vw 9vw 25vw;
    }
    #image-carousel02 .splide__arrow--prev {
        left: -5vw!important;
        transform: rotate(-135deg) !important;
    }
    #image-carousel02 .splide__arrow--next {
        right: -5vw!important;
    }
    #image-carousel02 .splide__pagination {
        bottom: -8vw !important;
    }
    .sld2_cnt {
        position: relative;
    }
    .sld2_mv {
        width: 100%;
        position: absolute;
        top: 11vw;
        left: 0;
    }
    .sec6_box {
        padding: 8vw 7vw 19vw;
    }
    .sec6_box1 {
        padding-top: 8vw;
    }
    .series_table {
        width: 100%;
    }
    .series_table tr {
        border-top: 1px solid #bfbfbf;
    }
    .series_table tr:last-child {
        border-bottom: 1px solid #bfbfbf;
    }
    .series_table th {
        width: 24vw;
        background: #f3f7fa;
        font-size: 3.1vw;
        letter-spacing: .1em;
        line-height: 1.3;
        text-align: center;
        vertical-align: middle;
        color: #1a1c1b;
    }
    .series_table tr:first-child td:first-child {
        border-right: 1px solid #bfbfbf;
    }
    .series_table tr:not(:first-child) td {
        width: calc(50% - 24vw);
        font-size: 2.8vw;
        letter-spacing: .06em;
        line-height: 1.5;
        text-align: center;
        vertical-align: middle;
        color: #1b1d1c;
    }
    .series_table tr:nth-child(2) td, 
    .series_table tr:nth-child(4) td, 
    .series_table tr:nth-child(6) td {
        padding: 3vw 0;
    }
    .series_table tr:nth-child(3) td {
        text-align: left!important;
        padding: 3.5vw 0;
    }
    .series_table tr:nth-child(3) td:last-child {
        padding: 3.5vw 0 3.5vw 6vw;
    }
    .series_table tr:nth-child(5) td, 
    .series_table tr:nth-child(8) td {
        padding: 1.5vw 0;
    }
    .series_table tr:nth-child(7) td, 
    .series_table tr:last-child td {
        padding: 1.5vw 0 1vw;
    }
    .tbl_note {
        font-size: 3.7vw;
        line-height: 1.1;
    }
    .tbl_note2 {
        font-size: 3.1vw;
        line-height: 1;
    }
    .tbl_note3 {
        font-size: 2.2vw;
    }
    .sec7_box {
        background: #2f2a27;
        color: #fff;
        text-align: center;
        padding: 12vw 0;
    }
    .sec7_ttl {
        font-size: 6.2vw;
        letter-spacing: .13em;
        line-height: 1;
        margin-bottom: 2vw;
    }
    .sec7_sub {
        font-size: 3vw;
        letter-spacing: .1em;
        line-height: 1.6;
        margin-bottom: 4vw;
    }
    .entry_btn2 {
        display: inline-block;
        background: #466fb1;
        font-size: 3.1vw;
        letter-spacing: .13em;
        line-height: 1;
        padding: 2.5vw 18vw;
        border-radius: .3vw;
        position: relative;
    }
    .entry_btn2::before {
        display: inline-block;
        content: '';
        height: 3.5vw;
        width: 3.5vw;
        background: #fff;
        border-radius: 50%;
        position: absolute;
        top: 27%;
        right: 4%;
    }
    .entry_btn2::after {
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        border-top: 1px solid #466fb1;
        border-right: 1px solid #466fb1;
        position: absolute;
        top: 39%;
        right: 6.2%;
        transform: rotate(45deg);
    }
    .entry_btn2:link,
    .entry_btn2:visited {
        color: #fff;
    }
    #contact {
        padding: 9vw 8vw 0;
    }
    .contact_item_nm {
        font-size: 3.5vw;
        line-height: 2;
    }
    .contact_item_nm span {
        display: inline-block;
        color: #ff9655;
        padding-left: 1vw;
    }
    input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required,
    input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel{
        border: none;
        border-bottom: 1px solid #ccc;
        background-color: #fbfbfb;
        margin-top: 0.8vw;
        font-size: 16px;
        font-weight: normal;
        margin-bottom: 2vw;
    }
    textarea.wpcf7-form-control.wpcf7-textarea {
        width: 100%;
        border: 1px solid #ccc;
        padding: 1vw;
        margin-bottom: 2vw;
    }
    input.wpcf7-form-control.has-spinner.wpcf7-submit {
        width: 40vw;
        background: #466fb1;
        color: #fff;
        font-size: 3.1vw;
        letter-spacing: .13em;
        line-height: 1;
        padding: 2.5vw 18vw;
        border: none;
        border-radius: .3vw;
    }
}

/* simulation */
@media screen and (max-width: 767px) {
	.sec8_box{
		padding: 15% 0% 13%;
	}
	.sec8_box1_icon{
		width: 14%;
		margin: 0 auto;
	}
	.sec8_box1_icon img{
		width:100%;
		height:auto;
	}
	.sec8_box_ttl{
		text-align: center;
	    font-size: 4.5vw;
    	line-height: 1;
	    color: #000000;
    	letter-spacing: 0.1em;
	    font-weight: 600;
    	padding: 4% 0% 5%;
	}
	.sec8_box1{
		background: linear-gradient(90deg, #ced3e545 0%, #b2bedd45 24%, #cde1eb45 100%);
		padding: 8% 8%;		
	}
	.sec8_box1_ttl{
		text-align: center;
		font-size: 3.35vw;
	    color: #000000;
    	line-height: 1;
	    letter-spacing: 0.15em;
    	padding-bottom: 6%;
	}
	.sec8_box1_form{
		padding:0% 0% 2%;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2vw;
	}
	.sec8_box1_form div{
		padding:0vw;
	}
	.sec8_box1_form-row {
		display: flex;
		align-items: center;
		gap: 10px; /* 要素間の余白 */
	}
	
	.sec8_box1_form-row label {
		display: block; /* list-itemを解除 */
		width: 29%;
	}
	
	.sec8_box1_form_ttl{
		font-size: 3.0vw;
		line-height: 1;
		letter-spacing: 0.09em;
		color: #000000;
		vertical-align: middle;
		padding-bottom: 25% !important;
	}
	.sec8_box1_form_sub{
		font-size: 3.0vw;
		line-height: 1;
		letter-spacing: 0.5em;
		color: #000000;
		padding-bottom: 5% !important;
	}
	.sec8_box1_form input {
		width: 100%;
	    padding: 0.5vw 1vw;
    	margin-bottom: 15px;
	    font-size: 6.5vw;
    	color: #000000;
	    border: none;
    	line-height: 1;
	    text-align: right;
	}
	.sec8_box1_btm{
		margin:0 auto;
		width:26%;
	}
	.sec8_box1-btn {
		width: 100%;
	    border-radius: 3px;
    	color: #fff;
	    border: none;
    	cursor: pointer;
	    font-size: 2.8vw;
    	font-weight: 500;
	    display: flex;
    	align-items: center;
	    justify-content: center;
    	text-align: center;
	    clip-path: polygon( 50% 100%, 00% 80%, 0% 0%, 100% 0%, 100% 80%);
    	transition: 0.3s;
	    letter-spacing: 0.1em;
    	padding: 1.8vw 1vw 2.5vw;
	}
	.sec8_box1-btn {
		background: #2b578b;
		transform: translateY(3px);
	}
	#sec8_box1-results{
		
	}
	.sec8_box1_result{
		padding: 5% 0% 0%;
	    display: grid !important;
    	grid-template-columns: repeat(1, 1fr);
	    gap: 2vw;
	}
	.sec8_box1_section {
		padding: 1vw 0vw 2.5vw;
	    width: 65%;
    	margin: 0 auto;
	}
	.sec8_box1_section_ttl1a{
		font-size: 3.3vw;
	    padding-bottom: 1vw;
    	color: #000;
	    line-height: 1;
    	font-weight: 300;
	    letter-spacing: 0.1em;
    	text-align: center;
	    width: 100%;
    	display: inline-block;
	}
	.sec8_box1_section_ttl1b{
		font-size: 3.3vw;
		padding-bottom: 1vw;
		color: #000;
		line-height: 1;
		font-weight: 300;
		letter-spacing: 0.1em;
		text-align: center;
		width: 100%;
		display: inline-block;
	}
	.sec8_box1_section_ttlb{
		font-size:1vw;
		line-height:1.4;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		padding:0.5vw 0vw;
	}
	.sec8_box1_section_ttl2{
		padding:0vw 0.5vw;
	}
	#totalYear.result-value{
		color: #2b578b;
	    line-height: 1;
    	letter-spacing: -0.03em;
	    font-weight: 500;
    	font-size: 10vw;
	    text-align: right;
    	width: 92%;
	    display: inline-block;
	}
	#totalMonth.result-value{
		color: #2b578b;
	    line-height: 1;
    	letter-spacing: -0.03em;
	    font-weight: 500;
    	font-size: 10vw;
	    text-align: right;
    	width: 92%;
	    display: inline-block;
	}
	.sec8_box1_section_ttl3a{
		font-size: 3vw;
    	color: #000000;
	    padding-left: 1vw;
	}
	.sec8_box1_section_ttl3b{
		line-height: 1.3;
	    font-size: 3vw;
    	color: #000;
	    padding-left: 1vw;
    	position: absolute;
	    padding-top: 5.4%;
	}
	.sec8_box2{
		padding: 0vw;
	    min-height: 75%;
    	margin-top: 2% !important;
	}
	.sec8_box2_ttl{
		background: #d5dde8;
	    padding: 1.9vw 0vw 1.4vw;
    	text-align: center;
	    color: #000000;
    	font-size: 3.3vw;
	    letter-spacing: 0.15em;
    	line-height: 1;
	}
	.sec8_box2_price{
		padding: 4% 0vw;
		text-align:center;
		background: #fff;
	}
	.sec8_box2_price1{
		color:#000000;
		font-size:3vw;
	}
	#waterYear.result-value{
		padding:0vw 0.5vw;
		color:#808080;
		font-size: 7vw;
		letter-spacing: 0.01em;
		font-weight:400;
		line-height:1;
	}
	#gasYear.result-value{
		padding:0vw 0.5vw;
		color:#808080;
		font-size: 7vw;
		letter-spacing: 0.01em;
		font-weight:400;
		line-height:1;
	}
	.sec8_box2_price2{
		color:#000000;
		font-size:3vw;
	}
	.sec8_box2_price_box{
		padding: 0vw 3vw 3.5vw;
		background: #fff;
	}
	.sec8_box2_price_in {
		width: 100%;
		border-collapse: collapse;
		border: none; /* 外枠なし */
	}
	.sec8_box2_price_in td {
		padding: 1.2vw;
		border: 1px solid #1a1c1b;
	    color: #1a1c1b;
    	font-size: 2.5vw;
	    line-height: 1;
    	text-align: center;
	    letter-spacing: 0.3em;
	}
	.sec8_box2_price_in tr:first-child td {
		border-top: none;
	}
	.sec8_box2_price_in tr:last-child td {
		border-bottom: none;
	}
	.sec8_box2_price_in td:first-child {
		border-left: none;
	}
	.sec8_box2_price_in td:last-child {
		border-right: none;
	}
	#waterOtherCost,
	#waterOwnCost,
	#gasOtherCost,
	#gasOwnCost,
	#waterOtherM3,
	#waterOwnM3{
		font-size:3vw;
		color:#000000;
		line-height:1;
	}
	.sec8_box2_price_inb{
		color:#1a1c1b;
		font-size:2.5vw;
	}
	.sec8_box3{
		padding: 4vw 0vw 0vw;
	    color: #808080;
    	font-size: 1.5vw;
	    line-height: 1.5;
    	letter-spacing: 0.05em;
	}
}
@media screen and (min-width: 768px) {
	.sec8_box{
		padding: 15% 0% 0%;
	}
	.sec8_box1_icon{
		width: 4%;
		margin: 0 auto;
	}
	.sec8_box1_icon img{
		width:100%;
		height:auto;
	}
	.sec8_box_ttl{
		text-align: center;
		font-size: 1.7vw;
		line-height: 1;
		color: #000000;
		letter-spacing: 0.13em;
		font-weight: 600;
		padding: 2% 0% 3.5%;
	}
	.sec8_box1{
		background: linear-gradient(90deg, #ced3e545 0%, #b2bedd45 24%, #cde1eb45 100%);
		padding: 5% 25%;
	}
	.sec8_box1_ttl{
		text-align: center;
		font-size: 1.35vw;
		color: #000000;
		line-height: 1;
		letter-spacing: 0.05em;
		padding-bottom: 5%;
	}
	.sec8_box1_form{
		padding:0% 0% 2%;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2vw;
	}
	.sec8_box1_form div{
		padding:0vw;
	}
	.sec8_box1_form-row {
		display: flex;
		align-items: center;
		gap: 10px; /* 要素間の余白 */
	}
	
	.sec8_box1_form-row label {
		display: block; /* list-itemを解除 */
	}
	
	.sec8_box1_form_ttl{
		font-size: 1.2vw;
		line-height: 1;
		letter-spacing: 0.09em;
		color: #000000;
	}
	.sec8_box1_form_sub{
		font-size: 1.3vw;
		line-height: 1;
		letter-spacing: 0.5em;
		color: #000000;
	}
	.sec8_box1_form input {
		width: 100%;
		padding: 0.5vw 1vw;
		margin-bottom: 15px;
		font-size: 2.5vw;
		color: #000000;
		border: none;
		line-height: 1;
		text-align: right;
	}
	.sec8_box1_btm{
		margin:0 auto;
		width:17%;
	}
	.sec8_box1-btn {
		width: 100%;
		border-radius: 3px;
		color: #fff;
		border: none;
		cursor: pointer;
		font-size: 1.1vw;
		font-weight: 500;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		clip-path: polygon( 50% 100%, 00% 80%, 0% 0%, 100% 0%, 100% 80%);
		transition: 0.3s;
		letter-spacing: 0.05em;
		padding: 0.8vw 1vw 1.0vw;
	}
	.sec8_box1-btn {
		background: #2b578b;
		transform: translateY(3px);
	}
	#sec8_box1-results{
		
	}
	.sec8_box1_result{
		padding: 3% 0% 0%;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr);
		gap: 2vw;
	}
	.sec8_box1_section {
		padding: 1vw 0vw 2.5vw;
		position: relative;
		margin-bottom: 6% !important;
	}
	.sec8_box1_section_ttl1a{
		font-size: 1.0vw;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		padding: 1vw 0vw;
		color: #000;
		line-height: 1;
		font-weight: 600;
		letter-spacing: 0.05em;
		position: absolute;
		left: 0%;
		top: 0;
	}
	.sec8_box1_section_ttl1b{
		font-size: 1.0vw;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		padding: 1vw 0vw;
		color: #000;
		line-height: 1;
		font-weight: 600;
		letter-spacing: 0.05em;
		position: absolute;
		left: 0%;
		top: 0;
	}
	.sec8_box1_section_ttlb{
		font-size:1vw;
		line-height:1.4;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		padding:0.5vw 0vw;
	}
	.sec8_box1_section_ttl2{
		padding:0vw 0.5vw;
	}
	#totalYear.result-value{
		color: #2b578b;
		line-height: 1;
		letter-spacing: -0.03em;
		font-weight: 500;
		position: absolute;
		left: 24%;
		top: -8%;
		font-size: 3.7vw;
		width: 70%;
		text-align: right;
	}
	#totalMonth.result-value{
		color: #2b578b;
		line-height: 1;
		letter-spacing: -0.03em;
		font-weight: 500;
		position: absolute;
		left: 14%;
		top: -8%;
		font-size: 3.7vw;
		width: 75%;
		text-align: right;
	}
	.sec8_box1_section_ttl3a{
		font-size: 1vw;
		color: #000000;
		position: absolute;
		right: 1%;
		bottom: 1%;
	}
	.sec8_box1_section_ttl3b{
		font-size: 1vw;
		color: #000000;
		line-height: 1.3;
		position: absolute;
		bottom: 0;
		right: 1%;
	}
	.sec8_box2{
		padding:0vw;
		background: #fff;
		min-height: 75%;
	}
	.sec8_box2_ttl{
		background: #d5dde8;
		padding: 0.5vw;
		text-align: center;
		color: #000000;
		font-size: 1vw;
		letter-spacing: 0.12em;
	}
	.sec8_box2_price{
		padding:1vw 0vw;
		text-align:center;
	}
	.sec8_box2_price1{
		color:#000000;
		font-size:1vw;
	}
	#waterYear.result-value{
		padding:0vw 0.5vw;
		color:#808080;
		font-size: 3vw;
		letter-spacing: 0.01em;
		font-weight:600;
		line-height:1;
	}
	#gasYear.result-value{
		padding:0vw 0.5vw;
		color:#808080;
		font-size: 3vw;
		letter-spacing: 0.01em;
		font-weight:600;
		line-height:1;
	}
	.sec8_box2_price2{
		color:#000000;
		font-size:1vw;
	}
	.sec8_box2_price_box{
		padding: 0vw 1vw 1.5vw;
	}
	.sec8_box2_price_in {
		width: 100%;
		border-collapse: collapse;
		border: none; /* 外枠なし */
	}
	.sec8_box2_price_in td {
		padding: 0.5vw;
		border: 1px solid #1a1c1b;
		color:#1a1c1b;
		font-size:1vw;
		line-height:1;
		text-align: center;
	}
	.sec8_box2_price_in tr:first-child td {
		border-top: none;
	}
	.sec8_box2_price_in tr:last-child td {
		border-bottom: none;
	}
	.sec8_box2_price_in td:first-child {
		border-left: none;
	}
	.sec8_box2_price_in td:last-child {
		border-right: none;
	}
	#waterOtherCost,
	#waterOwnCost,
	#gasOtherCost,
	#gasOwnCost,
	#waterOtherM3,
	#waterOwnM3{
		font-size:1vw;
		color:#000000;
		line-height:1;
	}
	.sec8_box2_price_inb{
		color:#1a1c1b;
		font-size:0.8vw;
	}
	.sec8_box3{
		padding: 1vw 0vw;
		color: #808080;
		font-size: 0.65vw;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}
}