@charset "UTF-8";

/*
Theme Name: Origin
Author: WeFull Co., Ltd.
Author URI: https://www.wefull.co.jp/
Version: 1.3
*/

/* Noto Sans JP */
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: normal;
	src: url('./fonts/NotoSansJP-Regular.woff2') format('woff2'), url('./fonts/NotoSansJP-Regular.woff') format('woff'), url('./fonts/NotoSansJP-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: bold;
	font-weight: bold;
	src: url('./fonts/NotoSansJP-Bold.woff2') format('woff2'), url('./fonts/NotoSansJP-Bold.woff') format('woff'), url('./fonts/NotoSansJP-Bold.ttf') format('truetype');
}

/* Noto Serif JP */
@font-face {
	font-family: 'Noto Serif JP';
	font-style: normal;
	font-weight: normal;
	src: url('./fonts/NotoSerifJP-Regular.woff2') format('woff2'), url('./fonts/NotoSerifJP-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Noto Serif JP';
	font-style: bold;
	font-weight: bold;
	src: url('./fonts/NotoSerifJP-Bold.woff2') format('woff2'), url('./fonts/NotoSerifJP-Bold.woff') format('woff');
}

i.fa-plus {
	display: block;
    font-size: 4rem;
    margin: 0 auto 1rem;
    text-align: center;
}

@media screen and (max-width: 767px) {
	i.fa-plus {
		font-size: 3rem;
    	margin: 0 auto;
	}
}

.site-logo a {
	display: flex;
	align-items: center;
	color: #002F81;
}

.site-logo a span {
	font-size: 16px;
	font-weight: 500;
	white-space: nowrap;
	margin-left: 10px;
}

@media screen and (max-width: 767px) {
	.site-logo a span {
		font-size: 12px;
		font-weight: 600;
		margin-left: 5px;
	}
}

span.underline {
	background: linear-gradient(transparent 50%, #ffff00 50%);
}

html {
	overflow-x: hidden;
}

.wrap {
	max-width: 1200px;
    margin: auto;
    padding: 0 20px;
}

@media screen and (max-width: 767px){
	.wrap {
		padding: 0 10px;
	}
}

@media screen and (min-width: 768px){
	.sp_only {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.pc_only {
		display: none;
	}
}

h2.ttl {
	font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 2.4rem;
	color: #0183c6;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	h2.ttl {
		font-size: 1.6rem;
	}
}

h2.ttl span {
	display: flex;
    color: #666;
    font-size: 0.68em;
	align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px){
	h2.ttl span {

	}
}

h2.ttl span::before,
h2.ttl span::after {
	content: "";
	width: 80px;
	height: 1px;
	background: #666;
	margin: 0 20px;
}

h2.ttl.white,
h2.ttl.white span {
	color: #fff;
}

h2.ttl.white span::before,
h2.ttl.white span::after {
	background: #fff;
}

.top_btn {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 50px;
    right: 30px;
	background: #fff;
	padding: 10px;
	border: 1px solid #1355a3;
	z-index: 1000;
}

@media screen and (max-width: 767px){
	.top_btn {
		width: 45px;
        height: 45px;
        bottom: 70px;
        right: 5px;
		padding: 5px;
	}
}

.top_btn img {

}

/********** 共通ヘッダー **********/
header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    height: 80px;
	background: rgba(255, 255, 255, 0.96);
    padding: 0 20px;
	border-bottom: 1px solid #ccc;
	z-index: 10000;
}

@media screen and (max-width: 767px){
	header {
		height: 50px;
		padding: 0 10px;
	}
}

header .wrap,
footer .wrap{
	display: flex;
	height: 100%;
	padding: 0;
	align-items: center;
    justify-content: space-between;
}

header .site-logo a img{
	display: block;
	width: 240px;
}

@media screen and (max-width: 767px){
	header .site-logo a img{
		position: relative;
    	width: 160px;
    	z-index: 10000;
	}
}

@media screen and (max-width: 1199px){
	header nav.pc_nav {
		display: none;
	}
}

@media screen and (min-width: 1200px){
	header nav.sp_nav {
		display: none;
	}
}

header nav ul {
	display: flex;
	width: 100%;
    margin-left: auto;
    justify-content: space-between;
}

@media screen and (max-width: 1199px){
	header nav ul {
		flex-wrap: wrap;
	}
}

header nav ul li a {
	display: block;
	position: relative;
	color: #050922;
	padding: 5px 15px;
	transition: 0.3s;
}

@media screen and (min-width: 1200px){
	header nav ul li a {
		text-align: center;
	}

	header nav ul li a::after {
		content: "";
		position: absolute;
		width: 0%;
		height: 1px;
		bottom: 0;
		left: 50%;
		background: #6AC9F2;
		transition: 0.3s;
	}

	header nav ul li a:hover::after {
		width: 100%;
		left: 0;
		transition: 0.3s;
	}
}

@media screen and (max-width: 1199px){
	header nav ul li a {
		display: flex;
		position: relative;
		align-items: center;
	}

	header nav ul li a:after {
		font-family: "Font Awesome 5 Free";
    	content: '\f105';
    	    position: absolute;
    		right: 1rem;
    		font-size: 1em;
    		font-weight: bold;
	}
}

@media screen and (max-width: 767px){
	header nav ul li a {
		padding: 12px 0;
		color: #fff;
	}

	header nav ul li a:after {
		right: 0;
	}
}

@media screen and (max-width: 1199px){
	header nav ul li{
		width: 100%;
	}
}

header nav ul li a p {
	font-size: 0.7rem;
	line-height: 1;
	margin-bottom: 5px;
}

@media screen and (max-width: 1199px){
	header nav ul li a p {
		width: 140px;
		margin: 0;
	}
}

@media screen and (max-width: 767px){
	header nav ul li a p {
		width: 100px;
		font-size: 0.8rem;
	}
}

header nav ul li a span {
	display: block;
	font-size: 0.9rem;
	line-height: 1;
}

@media screen and (max-width: 767px){
	header nav ul li a span {
		font-size: 0.9rem;
	}
}

header .right {
	display: flex;
	width: 100%;
	justify-content: end;
}

@media screen and (max-width: 990px){
	header .right {
		width: auto;
	}
}

header .right .sp_tel {
	display: flex;
    position: relative;
    width: 80px;
    height: 80px;
    padding: 10px;
	font-weight: bold;
    color: #fff;
    background: #e98f2f;
	border: 1px solid rgba(255, 255, 255, 0.5);
    align-items: end;
    justify-content: center;
}

@media screen and (min-width: 991px){
	header .right .sp_tel {
		display: none;
	}
}

@media screen and (max-width: 990px){
	header .right .sp_tel {
		margin-right: 120px;
	}
}

@media screen and (max-width: 767px){
	header .right .sp_tel {
		font-size: 10px;
		margin-right: 50px;
		width: 40px;
    	height: 40px;
		padding: 3px;
	}
}

header .right .sp_tel span::before {
	content: '\f095';
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 34px;
    font-weight: 900;
    top: 10px;
    left: calc(50% - 17px);
}

@media screen and (max-width: 767px){
	header .right .sp_tel span::before {
		font-size: 18px;
		left: calc(50% - 9px);
		top: 4px;
	}
}

header .right .right_top{
	display: flex;
	/* margin-bottom: 5px; */
    align-items: center;
    justify-content: end;
}

@media screen and (max-width: 1199px){
	header .right .right_top{
		position: absolute;
		right: 8rem;
    	top: 30px;
	}
}

@media screen and (max-width: 990px){
	header .right .right_top{
		display: none;
	}
}

/* header .right a.number {
	font-size: 1.6rem;
	font-weight: bold;
	margin-right: 1rem;
}

header .right a.number::before {
	font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
    margin-right: 10px;
}

header .right .btn,
header .right .btn_fc {
    display: block;
    width: fit-content;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    padding: 0 30px;
    color: #fff;
    border: 1px solid #fff;
	border-radius: 3px;
}

header .right .btn {
	background: #1b9b1b;
}

header .right .btn:hover {
	background: #0f770f;
}

header .right .btn_fc {
	margin-left: 10px;
	background: #2390bf;
}

header .right .btn_fc:hover {
	background: #12749f;
}

header .right .btn span::before,
header .right .btn_fc span::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}

header .right .btn span::before {
    content: '\f450';
}

header .right .btn_fc span::before {
    content: '\f1ad';
}

header .right .tel {
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	margin-right: 20px;
}

header .right .tel::before {
	font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
    margin-right: 10px;
}

header .right .btn,
header .right .btn_fc,
header .right .tel {
	line-height: 40px
} */

@media screen and (min-width: 1200px){
	.sp_cta {
		display: none;
	}
}

footer {
	padding: 2rem 0;
	color: #fff;
    background: #050922;
}

@media screen and (max-width: 767px){
	footer {
		padding: 1rem 0 5rem;
	}
}

footer ul {
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
}

footer ul li {
	padding: 2px 10px;
}

@media screen and (max-width: 767px){
	footer ul li {
		padding: 2px 5px;
	}
}

footer ul li a {
	font-size: 1rem;
	color: #fff;
}

@media screen and (max-width: 767px){
	footer ul li a {
		font-size: 0.75rem;
	}
}

footer .sp_cta {
	display: none;
}

.sp_cta .telbox {
	text-align: center;
	background: #fff;
    margin-top: 20px;
    margin-right: 0;
    padding: 10px;
    border-radius: 10px;
}

.sp_cta .telbox .det {
	font-size: 20px;
	font-weight: bold;
	color: #333;
}

@media screen and (max-width: 767px){
	.sp_cta .telbox .det {
		font-size: 16px;
	}
}

.sp_cta .telbox a {
	font-size: 1.4rem;
	font-weight: bold;
}

.sp_cta .telbox a span:before {
	content: "\f2a0";
	font-family: "Font Awesome 5 Free";
    font-weight: bold;
    margin-right: 10px;
}

.sp_cta .mailbox a {
	display: block;
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	padding: 10px;
	color: #fff;
    background: linear-gradient(45deg, #0c6b0c, #8adb8a);
	border-radius: 5px;
}

.sp_cta .mailbox a span {
	display: flex;
	align-items: center;
	justify-content: center;
}

.sp_cta .mailbox a span:before {
	display: inline-block;
    content: "";
    position: relative;
    width: 30px;
    height: 30px;
    background: url(./img/line_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
}

.sp_cta .fcbox a {
	display: block;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    padding: 15px 10px;
    color: #fff;
    background: linear-gradient(45deg, #e98f2f, #ffa84b, #e98f2f);
	border-radius: 5px;
}

.sp_cta .fcbox a span {
	text-shadow: 0 2px 2px #333;
}

.sp_cta .fcbox a span:before {
	content: "\f1ad";
	font-family: "Font Awesome 5 Free";
	font-size: 1.2em;
    font-weight: bold;
    margin-right: 10px;
}

.site-content {
	margin-top: 100px;
}

@media screen and (max-width: 767px){
	.site-content {
		margin-top: 50px;
	}
}

/* CTAボタン */
@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

a.cta {
    display: block;
	position: relative;
    width: 90%;
    max-width: 600px;
    font-size: 2rem;
	font-weight: bold;
    text-align: center;
    margin: auto;
    padding: 0.8rem 2rem 1.6rem;
    color: #fff;
    background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
    border: 2px solid #923893;
    border-radius: 100px;
	text-shadow: 0 4px 4px #222;
	box-shadow: 0 4px 10px #fff;
	overflow: hidden;
}

@media screen and (max-width: 767px){
	a.cta {
		padding: 0.8rem 1.5rem 1.2rem 3rem;
		font-size: 4.8vw;
	}
}

a.cta::before {
	content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    background: url(./img/golf_taiken.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: 18px;
    left: 40px;
}

@media screen and (max-width: 767px){
	a.cta::before {
		width: 60px;
    	height: 60px;
    	top: 12px;
    	left: 30px;
	}
}

a.cta::after,
.fotter_btn a::after{
	content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

a.cta span {
	display: block;
	font-size: 0.65em;
	text-shadow: none;
}

@media screen and (max-width: 767px){
	a.cta span {
		font-size: 0.8em;
	}
}

.animation{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}

.keyframe2{
  animation-name: anim_h;
}

@keyframes anim_h {
  0% {
    transform: translate(0px, 0);
  }
  100% {
    transform: translate(0, 10px);
  }
}

.center {
	text-align: center;
}

.bold {
	font-weight: bold;
}

.middle {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px){
	.middle {
		font-size: 1.2rem;
	}
}

.large {
	font-size: 2.4rem;
}

@media screen and (max-width: 767px){
	.large {
		font-size: 1.6rem;
	}
}

.single {
	margin-top: 80px;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.single {
		margin-top: 50px;
	}
}

.single .wrap {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

@media screen and (max-width: 767px){
	.single .wrap {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

.single h1 {
	padding: 4rem 0;
	color: #fff;
	background: linear-gradient(to right, #050922, #3b468b);
}

@media screen and (max-width: 767px){
	.single h1 {
		font-size: 1.4rem;
		padding: 2rem 0;
		text-align: center;
	}
}

.single h1 span {
	display: block;
	max-width: 1200px;
	margin: auto;
}

.mv-block {
	margin-top: 80px;
}

@media screen and (max-width: 767px){
	.mv-block {
		margin-top: 50px;
	}
}

.mv-block img {
	width: 100%;
}

.campaign {
	position: relative;
	margin-top: 80px;
	padding: 4rem 0;
	background-image: url(./img/goldback1_normal.jpg);
	background-size: cover;
	background-position: top center;
}

@media screen and (max-width: 767px){
	.campaign {
		margin-top: 60px;
		padding: 0 0 1rem;
	}
}

.campaign .wrap {
	position: relative;
	/* background-image: url(./img/golfback3.png);
	background-repeat: no-repeat;
	background-position: left; */
}

@media screen and (min-width: 768px){
	.campaign::before {
		position: absolute;
		display: block;
		content: "";
		left: -5vw;
		background-image: url(./img/golfback3.png);
		background-repeat: no-repeat;
		background-position: left;
		background-size: contain;
	}
	
	.campaign.big::before {
		width: 360px;
        height: 600px;
        top: calc(50% - 300px);
	}
	
	.campaign.small::before {
		width: 288px;
        height: 480px;
        top: calc(50% - 240px);
	}
}

/* .campaign::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 200px;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom, #b0b9ed, transparent);
} */

.campaign .head {
	
}

@media screen and (max-width: 767px){
	.campaign .head {
		width: 100%;
	}
	
	.campaign .head strong {
		display: block;
	}
}

.campaign .badge img {
	display: block;
	max-width: 900px;
	margin: auto;
}

.campaign .head p {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
	margin-left: -40px;
}

@media screen and (max-width: 767px){
	.campaign .head p {
		margin-bottom: 1rem;
		margin-left: -10px;
		background: linear-gradient(to bottom, #ff8400 30%, #bb6100 70%);
	}
}

.campaign .head p::before{
	display: block;
    position: relative;
    content: "";
    width: 120px;
    height: 120px;
    background-image: url(./img/gentei_badge.png);
    background-repeat: no-repeat;
    background-size: contain;
	margin-right: 1rem;
	z-index: 2;
}

@media screen and (max-width: 767px){
	.campaign .head p::before{
		width: 22vw;
        height: 22vw;
        margin-right: 5px;
		transform: scale(1.2);
	}
}

.campaign .head p span {
	position: relative;
    font-size: 2.8rem;
	line-height: 2;
    padding: 0 2rem 0 1rem;
	color: #fff;
	text-shadow: 0 2px 2px #333;
	z-index: 1;
    /* background: linear-gradient(180deg, #00DBDE 30%, #FC00FF 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; */
}

@media screen and (max-width: 767px){
	.campaign .head p span {
		width: calc(100% - 35vw);
        font-size: 6.4vw;
        line-height: 1.2;
	}
}

.campaign .head p span::before {
	content: "";
    position: absolute;
    width: calc(100% + 80px);
    height: 100%;
    left: -40px;
    background: linear-gradient(to bottom, #ff8400 30%, #bb6100 70%);
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%);
}

@media screen and (max-width: 767px){
	.campaign .head p span::before {
		display: none;
	}
}

.campaign .box {

}

@media screen and (max-width: 767px){
	.campaign .box {
		
	}
}

.campaign ul {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
    justify-content: space-between;
    margin: 2rem auto 0;
    max-width: 760px;
}

@media screen and (max-width: 767px){
	.campaign ul {
		margin: 2rem auto 1rem;
	}
}

.campaign ul li {
	display: flex;
    flex-wrap: wrap;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 48%;
	font-size: 1.2rem;
	font-weight: bold;
	margin-right: -50px;
	margin-bottom: 2rem;
    padding: 1rem 2rem 1rem 50px;
	background: #fff;
    /* background: linear-gradient(45deg, #cfe7ff, #fff, #cfe7ff); */
    border: 3px solid #d1a500;
    border-radius: 10px;
    box-shadow: 0 2px 2px rgba(16, 16, 16, 0.5);
}

@media screen and (min-width: 768px){
	.campaign ul li.wide {
		width: calc(100% + 50px);
	}
}

@media screen and (max-width: 767px){
	.campaign ul li {
		display: block;
		text-align: center;
		width: 100%;
		margin-right: 0;
		margin-bottom: 1rem;
		margin-left: 0;
		padding: 40px 10px 10px;
		border-width: 2px;

	}
}

.campaign ul li span {
	font-weight: bold;
	text-align: center;
	color: #0183c6;
}

@media screen and (min-width: 768px){
	.campaign ul li span {
		display: block;
		width: 100%;
	}
	
	.campaign ul li span.middlesp {
		font-size: 2rem;
	}
}

@media screen and (max-width: 767px){
	.campaign ul li span.middle,
	.campaign ul li span.middlesp {
		font-size: 1.2rem;
	}
}

.campaign ul li p.caution {
	font-size: 0.9rem;
    font-weight: normal;
    color: #990000;
    margin-top: 10px;
}

@media screen and (max-width: 767px){
	.campaign ul li p.caution {
		font-size: 0.8rem;
	}
}

.campaign ul li::before {
	display: flex;
    position: absolute;
    width: 100px;
    height: 100px;
    top: -12px;
    left: -50px;
    font-size: 1.2rem;
    font-weight: bold;
	margin-right: -50px;
    padding: 0 10px 10px 0;
    color: #fff;
    background: linear-gradient(to bottom, #6D5208, #D0A732);
    clip-path: polygon(90% 0, 100% 10%, 90% 10%, 90% 90%, 45% 100%, 0 90%, 0 0);
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    white-space: pre;
    text-align: center;
}

@media screen and (max-width: 767px){
	.campaign ul li::before {
		width: 80px;
        height: 50px;
        left: calc(50% - 40px);
    	font-size: 1rem;
		padding: 0 0 5px;
		clip-path: polygon(100% 0, 100% 80%, 50% 100%, 0 80%, 0 0);
		border-radius: 3px;
	}
}

.campaign ul li:first-child::before {
	content: "\7279\5178\A\FF11";
}

.campaign ul li:nth-child(2)::before {
	content: "\7279\5178\A\FF12";
}

.campaign ul li:nth-child(3)::before {
	content: "\7279\5178\A\FF13";
}

.campaign ul li:nth-child(4)::before {
	content: "\7279\5178\A\FF14";
}

@media screen and (max-width: 767px){
	.campaign ul li:first-child::before {
		content: "\7279\5178\FF11";
	}

	.campaign ul li:nth-child(2)::before {
		content: "\7279\5178\FF12";
	}
	
	.campaign ul li:nth-child(3)::before {
		content: "\7279\5178\FF13";
	}
	
	.campaign ul li:nth-child(4)::before {
		content: "\7279\5178\FF14";
	}
}

.campaign .box {
	
}

.campaign .flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

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

	}
}

.campaign .box img.ticket_banner {
	display: block;
    max-width: 1000px;
    margin: auto;
	border: 5px solid #fff;
	border-radius: 10px;
	box-shadow: 0 0 4px rgba(16, 16, 16, 0.5);
}

.concept {
	padding: 4rem 0;
	background-size: cover;
	background-position: top center;
}

@media screen and (min-width: 768px){
	.concept {
		background: url(./img/concept_back4.jpg);
		background-attachment: fixed;
	}
}

@media screen and (max-width: 767px){
	.concept {
		padding: 2rem 0;
		background: url(./img/concept_back4sp.jpg);
		background-position: top right 35%;
		background-size: contain;
	}
}

.concept h2 {
	font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.concept h2 {
		font-size: 1.6rem;
	}
}

.concept ul {
	max-width: 1000px;
    margin: auto;
}

.concept ul li {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #fff;
    padding: 1rem;
    border-radius: 20px;
	counter-increment: number;
}

@media screen and (max-width: 767px){
	.concept ul li {
		border-radius: 10px;
	}
}

.concept ul li:not(:last-child){
	margin-bottom: 2rem;
}

.concept ul li figure {
	width: 40%;
}

@media screen and (max-width: 767px){
	.concept ul li figure {
		width: 100%;
		margin-bottom: 1rem;
	}
}

.concept ul li figure img {
	display: block;
	border-radius: 10px;
}

.concept ul li .detail {
	width: 58%;
}

@media screen and (max-width: 767px){
	.concept ul li .detail {
		width: 100%;
	}
}

.concept ul li .detail h3 {
	position: relative;
	font-size: 1.6rem;
	color: #1355a3;
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px){
	.concept ul li .detail h3 {
		font-size: 1.2rem;
		text-align: center;
	}
}

.concept ul li .detail h3::before {
	content: "POINT." counter(number);
    display: block;
	width: fit-content;
    font-family: 'Noto Serif JP';
    font-size: 0.9em;
    font-weight: bold;
	line-height: 1;
    color: #fff;
	background: #8f8356;
	padding: 10px 30px 10px 10px;
	clip-path: polygon(0% 0%, 90% 0, 100% 50%, 90% 100%, 0% 100%);
}

@media screen and (max-width: 767px){
	.concept ul li .detail h3::before {
		position: relative;
		font-size: ; 
		margin: 0 auto 10px;
		clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
		padding: 0 40px;
        line-height: 37px;
		z-index: 1;
	}
	
	.concept ul li .detail h3::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		left: 0;
		top: 18px;
		background: #8f8356;
	}
}

.onayami {
	padding: 4rem 0;
	background: linear-gradient(to bottom, #11194b, #2467b5, #11194b);
}

@media screen and (max-width: 767px){
	.onayami {
		padding: 2rem 0;
	}
}

.onayami h2 {
	color: #fff;
	font-size: 2.4rem;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.onayami h2 {
		font-size: 1.4rem;
	}
}

.onayami ul {
	position: relative;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 3rem 2rem;
    background: #fff;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 767px){
	.onayami ul {
		padding: 1rem;
	}
}

.onayami ul::before {
    display: block;
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    border: 1px solid #ccc;
}

@media screen and (max-width: 767px){
	.onayami ul::before {
		top: 5px;
    	right: 5px;
    	bottom: 5px;
    	left: 5px;
		border: 1px dotted #999;
	}
}

.onayami ul::after {
	content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    top: -15px;
    right: -5px;
    background-image: url(./img/pin.png);
    background-size: 60px;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	.onayami ul::after {
		width: 40px;
		height: 40px;
		top: -10px;
    	right: -5px;
		background-size: 40px;
	}
}

.onayami ul li {
	position: relative;
	width: 49%;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.onayami ul li {
		width: 100%;
		font-size: 0.9rem;
		padding-left: 30px;
	}
	
	.onayami ul li:not(:last-child){
		border-bottom: 1px dashed #999;
		margin-bottom: 1rem;
		padding-bottom: 1rem;
	}
}

@media screen and (min-width: 768px){
	.onayami ul li {
		font-size: 1.4rem;
		padding-left: 50px;
	}
	
	.onayami ul li:not(:last-child):not(:nth-last-child(2)) {
		border-bottom: 1px dashed #999;
		margin-bottom: 2rem;
		padding-bottom: 2rem;
	}
}

.onayami ul li:before {
	display: block;
	position: absolute;
    content: "";
    width: 40px;
    height: 30px;
	top: 5px;
	left: 0;
    background-image: url(./img/check_icon.png);
    background-size: contain;
}

@media screen and (max-width: 767px){
	.onayami ul li:before {
		width: 26px;
    	height: 19px;
		top: 2px;
	}
}

.border_arrows {
    position: relative;
    font-size: 4vw;
    text-align: center;
    margin-bottom: 8vw;
    padding: 0 4vw;
    background: #11194b;
}

.border_arrows::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 8vw;
    background: #11194b;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    bottom: calc(-8vw + 1px);
    left: 0;
}

@media screen and (max-width: 767px) {
    .border_arrows::after {
        height: 8vh;
        bottom: calc(-8vh + 1px);
    }
}

.border_arrows p {
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.border_arrows p {
		font-size: 5.2vw;
		line-height: 1.5;
	}
}

.border_arrows p span {
	font-size: 1.4em;
	background: linear-gradient(to bottom, #00dbde 20%, #0183c6 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.solution {
	margin-top: -8vw;
    padding: 10vw 0 2rem;
    background-image: url(./img/solution_back1.jpg);
    background-size: cover;
}

@media screen and (max-width: 767px) {
	.solution {
		margin-top: -8vh;
		padding: 14vh 0 2rem;
	}
}

.solution img {
	display: block;
	max-width: 1000px;
	margin: 0 auto 1rem;
}

.feature1 {
	padding: 4rem 0;
	background-image: url(./img/feature1_back2.jpg);
    background-size: 100%;
	border-top: 5px solid #1355a3;
}

@media screen and (max-width: 767px) {
	.feature1 {
		padding: 2rem 0;
		background-size: 200%;
	}
}

.feature1 .head {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2rem;
	background: linear-gradient(to bottom, #00dbde 20%, #0183c6 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
	.feature1 .head {
		font-size: 1.4rem;
		margin-bottom: 1rem;
		background: linear-gradient(to right, #00dbde, #0183c6, #00dbde);
		-webkit-background-clip: text;
    	-webkit-text-fill-color: transparent;
	}
}

.feature1 .ribbon {
	width: fit-content;
    position: relative;
    margin: 0 auto 2rem;
    padding: 15px 20px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFF;
    background: #e98f2f;
}

@media screen and (max-width: 767px) {
	.feature1 .ribbon {
		font-size: 1rem;
		text-align: center;
		line-height: 1.5;
		padding: 10px 30px;
	}
}

.feature1 .ribbon::before,
.feature1 .ribbon::after {
	content: "";
	position: absolute;
	top: 100%;
	border: none;
	border-bottom: solid 15px transparent;
}

.feature1 .ribbon::before {
	left: 0;
	border-right: solid 20px rgb(149, 158, 155);
}

.feature1 .ribbon::after {
	right: 0;
	border-left: solid 20px rgb(149, 158, 155);
}


.feature1 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.feature1 ul li {
	width: 49%;
	padding: 1rem;
	background: #fff;
	border-radius: 20px;
}

@media screen and (max-width: 767px) {
	.feature1 ul li {
		width: 100%;
		margin-bottom: 1rem;
		padding: 10px;
		border-radius: 10px;
	}
}

.feature1 ul li img {
	display: block;
	border-radius: 10px;
}

@media screen and (max-width: 767px) {
	.feature1 ul li img {
		border-radius: 5px;
	}
}

.feature1 ul li p {
	margin-top: 1rem;
	padding: 1rem;
	background: #e5e5fb;
	border-radius: 10px;
}

@media screen and (max-width: 767px) {
	.feature1 ul li p {
		border-radius: 5px;
		margin-top: 10px;
		padding: 10px;
	}
}

.feature2 {
	background: linear-gradient(to right, #333, #ccc, #333);
    border-bottom: 5px solid #1355a3;
}

.feature2 .wrap {
	padding: 4rem 0;
	background: #fff;
}

@media screen and (max-width: 767px) {
	.feature2 .wrap {
		background: linear-gradient(to right, #0d2643, #3e6593, #0d2643);
		padding: 2rem 10px;
	}
}

@media screen and (min-width: 768px) {
	.feature2 .wrap {
		box-shadow: 0 0 20px #000;
	}
}

.feature2 h2 {
	position: relative;
	font-size: 1.6rem;
	color: #990000;
	text-align: center;
	margin-bottom: 2rem; 
}

@media screen and (max-width: 767px) {
	.feature2 h2 {
		font-size: 4vw;
		color: #fff;
	}
}

.feature2 h2 span {
	display: block;
	font-size: 1.5em;
}

@media screen and (max-width: 767px) {
	.feature2 h2 span {
		font-size: 5.4vw;
	}
}

.feature2 ul {
	max-width: 1000px;
	margin: auto;
}

.feature2 ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.feature2 ul li:not(:last-child){
	margin-bottom: 2rem;
}

.feature2 ul li img {
	width: 30%;
}

.feature2 ul li .detail {
	width: 65%;
}

@media screen and (max-width: 767px) {
	.feature2 ul li img,
	.feature2 ul li .detail {
		width: 100%;
		color: #fff; 
	}
	
	.feature2 ul li img {
		margin-bottom: 10px;
		border: 1px solid rgba(255, 255, 255, 0.5);
	}
}

.feature2 ul li .detail h3 {
	position: relative;
	font-size: 1.6rem;
	color: #1355a3;
    border-bottom: 1px solid;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.feature2 ul li .detail h3 {
		font-size: 1.2rem;
		text-align: center;
		color: #fff;
	}
}

@media screen and (min-width: 768px) {
	.feature2 ul li .detail h3 {
		padding-left: 1rem;
	}
	
	.feature2 ul li .detail h3::before {
		content: "";
		position: absolute;
		width: 30px;
		height: 15px;
		left: -30px;
		bottom: -1px;
		background: #1355a3;
		clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	}
}


.feature2 ul li .detail p {
	
}

@media screen and (min-width: 768px) {
	.feature2 ul li .detail p {
		padding-left: 1rem;
	}
}

.trial {
	padding: 4rem 0;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.trial {
		padding: 2rem 0;
	}
}

.reason {
	padding: 4rem 0;
	background-image: url(./img/feature1_back2.jpg);
    background-size: 100%;
	border-top: 5px solid #1355a3;
	border-bottom: 5px solid #1355a3;
}

@media screen and (max-width: 767px) {
	.reason {
		padding: 2rem 0;
		background-size: 200%;
	}
}

.reason .head {
	font-weight: bold;
	color: #fff;
}

.reason .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2rem;
}

.reason .box {
	background: #fff;
	border: 1px solid #fff;
	counter-increment: reason;
}

@media screen and (min-width: 1000px) {
	.reason .box {
		width: 32%;
	}
	
	.reason .box:not(:nth-child(3n)){
		margin-right: 2%;
	}
	
	.reason .box:not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)){
		margin-bottom: 2%;
	}
}

@media screen and (max-width: 999px) and (min-width: 768px) {
	.reason .box {
		width: 48%;
	}
	
	.reason .box:not(:last-child):not(:nth-last-child(2)){
		margin-bottom: 4%;
	}
}

@media screen and (max-width: 767px) {
	.reason .box {
		width: 100%;
	}
	
	.reason .box:not(:last-child){
		margin-bottom: 1rem;
	}
}

.reason .box h3 {
	background: linear-gradient(to top, #082861, #1b4da5);
	padding: 0.5rem;
}

.reason .box h3 span {
	display: block;
	font-size: 1.3rem;
	color: #fff;
	padding-left: 10px;
	border-left: 3px solid;
	text-shadow: 0 4px 4px #222;
}

.reason .box h3 span::before {
	content: "POINT." counter(reason);
    display: block;
    font-family: 'Noto Serif JP';
    font-size: 0.9em;
    font-weight: bold;
    color: #fff;
    margin-right: 20px;
}


.reason .box ul {
	margin: 5px;
    padding: 10px;
    background: #f1f8ff;
    border: 1px solid #a2b6c9;
}

.reason .box ul li {
	position: relative;
	padding-left: 24px;
	color: #082861;
}

@media screen and (max-width: 767px) {
	.reason .box ul li {
		font-size: 14px;
		padding-left: 20px;
	}
}

.reason .box ul li::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
    content: '\f35a';
    font-weight: 900;
	top: 5px;
	left: 0;
}

@media screen and (max-width: 767px) {
	.reason .box ul li::before {
		top: 4px;
	}
}

.reason .box ul li:not(:last-child){
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #082861;
}

.reason .box p {
	padding: 0 1rem 1rem;
}

@media screen and (min-width: 768px) {
	.reason .box p {
		font-size: 1rem;
	}
}

.flow {
	padding: 4rem 0;
}

@media screen and (max-width: 767px) {
	.flow {
		padding: 2rem 0;
	}
}

.flow ul {
	max-width: 1000px;
	margin: auto;
}

.flow ul li {
	display: flex;
    flex-wrap: wrap;
    position: relative;
    border: 3px solid #8fa6c1;
    padding: 1rem;
	background: linear-gradient(45deg, #ddd, #fff, #ddd);
    justify-content: space-between;
    counter-increment: flow;
}

@media screen and (max-width: 767px) {
	.flow ul li {
		font-size: 14px;
		padding: 0;
		border: 2px solid #8fa6c1;
	}
}

.flow ul li:not(:last-child){
	margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
	.flow ul li:not(:last-child){
		margin-bottom: 40px;
	}
}

.flow ul li:not(:last-child)::after {
	content: "";
    position: absolute;
    width: 100px;
    height: 30px;
    left: calc(50% - 50px);
    bottom: -32px;
    background: linear-gradient(to bottom, #8fa6c1, #1355a3 );
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media screen and (max-width: 767px) {
	.flow ul li:not(:last-child)::after {
		width: 80px;
    	height: 24px;
    	left: calc(50% - 40px);
    	bottom: -24px;
	}
}

.flow ul li h3 {
	display: flex;
	position: relative;
    font-size: 1.4rem;
    color: #1355a3;
    align-items: center;
    margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
	.flow ul li h3 {
		flex-wrap: wrap;
		font-size: 1.1rem;
		margin-top: -32px;
		margin-bottom: 0;
	}
}

.flow ul li h3::before {
	content: "STEP." counter(flow);
    display: block;
    width: fit-content;
    font-family: 'Noto Serif JP';
    font-size: 0.9em;
    font-weight: bold;
    line-height: 3rem;
    color: #fff;
    background: #1355a3;
	margin-right: 10px;
	padding: 0 10px;
}

@media screen and (max-width: 767px) {
	.flow ul li h3::before {
		width: 100px;
        line-height: 32px;
        text-align: center;
        padding-right: 6%;
        clip-path: polygon(0 0, 80% 0, 100% 100%, 0% 100%);
	}
	
	.flow ul li h3::after {
		content: "";
        position: absolute;
        width: calc(100% - 95px);
        height: 4px;
        top: 28px;
        right: 0;
        background: linear-gradient(to right, #1355a3, #8fa6c1);
	}
}

.flow ul li h3 span {
    display: block;
    width: 100%;
    line-height: 3rem;
    border-bottom: 1px solid;
}

@media screen and (max-width: 767px) {
	.flow ul li h3 span {
		line-height: 2rem;
		padding: 5px 10px;
	}
}

.flow ul li img {
	width: 28%;
}

.flow ul li .detail {
	width: 70%;
}

@media screen and (max-width: 767px) {
	.flow ul li img,
	.flow ul li .detail {
		width: 100%;
	}
	
	.flow ul li img {
		display: block;
	}
	
	.flow ul li .detail p {
		padding: 5px 10px;
	}
}

.price {
	background-image: url(./img/price_back.png);
	background-size: 10%;
	padding: 4rem 0;
}

@media screen and (max-width: 767px) {
	.price {
		padding: 2rem 0;
		background-size: 25%;
	}
}

.price p.description {
	text-align: center;
	margin: -1rem auto 2rem;
}

@media screen and (max-width: 767px) {
	.price p.description {
		margin: -1rem auto 1rem;
	}
}

.price p.description span {
    display: inline-block;
    font-size: 1.2em;
    font-weight: bold;
    color: #c74b55;
    background: #fff;
    border: 1px solid #c74b55;
    margin-bottom: 10px;
    padding: 10px 20px;
    line-height: 1;
}

@media screen and (max-width: 767px) {
	.price p.description span {
		font-size: 1em;
	}
}

.price .outline {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
}

.price .outline .box {
	width: 32%;
	position: relative;
	background: #fff;
	margin-bottom: 2%;
	padding: 20px;
	box-shadow: 0 2px 4px #333;
    border-radius: 10px;
}

@media screen and (min-width: 1200px){
	.price .outline .box:not(:nth-child(3n)) {
		margin-right: 2%;
	}
}

@media screen and (max-width: 1199px) and (min-width: 768px){
	.price .outline .box {
		width: 48%;
		margin-bottom: 4%;
	}
	
	.price .outline .box:nth-child(odd) {
		margin-right: 4%;
	}
}

@media screen and (max-width: 767px){
	.price .outline .box {
		width: 100%;
		max-width: 540px;
		margin: 0 auto 5%;
		padding: 20px 10px;
	}
}

.price .outline .box h3 {
	position: relative;
	font-family: Noto Serif JP;
	font-size: 28px;
    text-align: center;
    color: #8f8356;
    margin-bottom: 20px;
}

.price .outline .box h3 span {
	display: block;
	font-size: 0.6em;
	color: #635934;
}

@media screen and (min-width: 768px){
	.price .outline .box p.limit_over {
		display: flex;
    	position: absolute;
    	width: 80%;
    	height: 30%;
    	top: 25%;
    	left: 10%;
    	font-size: 1.4rem;
    	color: #fff;
    	background: rgb(199 75 85 / 70%);
    	align-items: center;
    	justify-content: center;
	}
}

@media screen and (max-width: 767px){
	.price .outline .box p.limit_over {
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		color: #c74b55;
		background: #fff9f9;
		margin-bottom: 20px;
	}
}

.price .outline .box2 {
	width: 49%;
}

.price .outline .box2:nth-child(odd){
	margin-right: 2%;
}

@media screen and (max-width: 767px){
	.price .outline .box2 {
		width: 100%;
	}
	
	.price .outline .box2:nth-child(odd){
		margin-right: 0;
		margin-bottom: 2%;
	}
}

.price .outline .box2 h4 {
	font-size: 20px;
    border-left: 6px solid #2390bf;
    margin-bottom: 10px;
    padding: 5px 10px;
}

@media screen and (max-width: 767px){
	.price .outline .box2 h4 {
		font-size: 16px;
	}
}

.price h3 {
	text-align: center;
	background: #fff;
	color: #1355a3;
	padding: 10px;
	max-width: 600px;
	margin: 0 auto 2rem;
}

.price .outline .box2 p.time {
	font-weight: bold;
	margin-bottom: 10px;
}

.price table {
	width: 100%;
}

.price table.wide {
	width: 100%;
	max-width: 600px;
	margin: auto;
}

.price table th,
.price table td {
	font-size: 0.9em;
	padding: 10px;
}

@media screen and (max-width: 767px){
	.price table th,
	.price table td {
		font-size: 14px;
		padding: 5px 10px;
	}
}

.price table.wide th,
.price table.wide td {
	padding: 16px;
}

@media screen and (max-width: 767px){
	.price table.wide th,
	.price table.wide td {
		padding: 10px;
	}
}

.price table td {
	background: #fff;
}

.price table th span {
	font-size: 0.9em;
}

.price table tr {
	border-bottom: 1px solid #ccc;
}

/* .price table:not(.wide) tr {
	display: block;
} */

.price table th {
	width: 140px;
	font-size: 0.9em;
	text-align: left;
	color: #fff;
	background: #4d6b9b;
	white-space: nowrap;
}

@media screen and (max-width: 767px){
	.price table th {
		width: 130px;
		font-size: 0.8em;
	}
}

.price table th small {
	display: block;
	color: #00ffff;
}

.price table th i.far {
	margin-left: 10px;
	cursor: pointer;
}

/* .price table td {
	width: 100%;
} */

.price table td span {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	color: #1355a3;
	margin-right: 5px;
}

.price .box2 table td span {
	font-size: 1.2em;
}

.price table td.free_badge {
	position: relative;
}

.price table td.free_badge::before {
	display: block;
    content: "\4ECA\306A\3089\7121\6599""!";
    position: absolute;
    width: fit-content;
    color: #fff;
	font-weight: bold;
    background: linear-gradient(to bottom, #d30cd5, #f870f9);
    right: 0;
    top: -25px;
    line-height: 30px;
    padding: 0 10px 15px;
    clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 50% 70%, 30% 100%, 30% 70%, 0 70%);
}

@media screen and (max-width: 767px){
	.price table td.free_badge::before {
		
	}
}

.price table td.free_badge span {
	position: relative;
}

.price table td.free_badge span::after {
    content: '';
    display: block;
    width: 100%;
    height: 6px;
    margin-top: -2px;
    border-top: solid 2px #050922;
    border-bottom: solid 2px #050922;
    position: absolute;
    left: 0;
    top: 50%;
}

.voice {
	padding: 4rem 0;
}

@media screen and (max-width: 767px){
	.voice {
		padding: 2rem 0;
	}
}

.voice ul {
	max-width: 1000px;
	margin: auto;
}

.voice ul li {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	justify-content: space-between;
}

.voice ul li:not(:last-child){
	margin-bottom: 2rem;
}

.voice ul li img {
	width: 200px;
}

@media screen and (max-width: 767px){
	.voice ul li img {
		width: 30%;
        display: block;
		position: relative;
        margin: 0 auto 1rem;
	}
}

.voice ul li .detail {
	width: calc(100% - 260px);
	background: #f1f8ff;
	padding: 2rem;
	border-radius: 20px;
}

@media screen and (max-width: 767px){
	.voice ul li .detail {
		width: 100%;
		margin-top: -2.5rem;
		padding: 2rem 1rem 1rem;
		border-radius: 10px;
	}
}


@media screen and (min-width: 768px){
	.voice ul li .detail {
		position: relative;
	}
	
	.voice ul li .detail::before {
		content: "";
		position: absolute;
		width: 50px;
		height: 40px;
		top: calc(50% - 20px);
		background: #f1f8ff;
	}
	
	.voice ul li:nth-child(even) .detail::before{
		clip-path: polygon(100% 0, 0 50%, 100% 100%);
		left: -48px;
	}
	
	.voice ul li:nth-child(odd){
		flex-direction: row-reverse;
	}
	
	.voice ul li:nth-child(odd) .detail::before{
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		right: -48px;
	}
}

.voice ul li .detail p.meta {
	width: fit-content;
    font-size: 1rem;
    background: #fff;
    border: 1px solid;
    margin-bottom: 10px;
    padding: 5px 10px;
}

@media screen and (max-width: 767px){
	.voice ul li .detail p.meta {
		font-size: 0.8rem;
		margin: 0 auto 10px;
		padding: 3px 6px;
	}
}

.voice ul li .detail p.meta.man {
	color: #1355a3;
}

.voice ul li .detail p.meta.woman {
	color: #b7174f;
}

.access {
	padding: 4rem 0;
}

@media screen and (max-width: 767px){
	.access {
		padding: 2rem 0;
	}
}

.access h3 {
	font-size: 1.6rem;
	color: #1355a3;
	border-bottom: 1px solid;
	margin-bottom: 1rem;
	padding: 1rem;
    background: #f1f8ff;
}

@media screen and (max-width: 767px){
	.access h3 {
		font-size: 1.1rem;
		text-align: center;
		padding: 10px;
	}
}

.access .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.access .flex .detail,
.access .flex img {
	width: 49%;
}

@media screen and (max-width: 767px){
	.access .flex .detail,
	.access .flex img {
		width: 100%;
	}
	
	.access .flex img {
		margin-bottom: 1rem;
	}
}

.access table {
	width: 100%;
}

.access table th,
.access table td {
	text-align: left;
	padding: 10px;
	border: 1px solid #999;
}

@media screen and (max-width: 767px){
	.access table th,
	.access table td {
		font-size: 14px;
	}
}

.access table th {
	background: #f1f8ff;
	white-space: nowrap;
}

.access .flex {
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.access .flex {
		margin-bottom: 1rem;
	}
}

.access iframe {
	display: block;
	width: 100%;
	max-width: 800px;
	height: 100%;
	margin: auto;
	aspect-ratio: 16 / 9;
}

.lesson {
	padding: 4rem 0;
	background: url(./img/lesson_back.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: top center;
}

@media screen and (max-width: 767px){
	.lesson {
		padding: 2rem 0;
		background-attachment: unset;
	}
}

.lesson h2,
.lesson h2 span {
	color: #fff;
}

.lesson h2 strong {
	background: linear-gradient(to bottom, #b7a976, #fff); /* 背景色にグラデーションを指定 */
  	-webkit-background-clip: text; /* テキストで切り抜く */
  	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

.lesson p.lead {
	color: #fff;
	text-align: center;
	margin-bottom: 2rem;
}

.lesson ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.lesson ul li {
	width: 32%;
    background: rgba(255, 255, 255, 0.8);
    margin-bottom: 2%;
}

@media screen and (max-width: 990px){
	.lesson ul li {
		width: 49%;
	}
}

@media screen and (max-width: 767px){
	.lesson ul li {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5%;
	}
}

.lesson ul li figure {

}

.lesson ul li h3 {
	padding: 10px 20px;
	border-bottom: 1px solid #000;
}

@media screen and (max-width: 767px){
	.lesson ul li h3 {
		padding: 10px;
	}
}

.lesson ul li p {
	padding: 20px;
}

@media screen and (max-width: 767px){
	.lesson ul li p {
		padding: 10px;
	}
}

.plan {
	padding: 4rem 0;
	background: #eee;
}

@media screen and (max-width: 767px){
	.plan {
		padding: 2rem 0;
	}
}

.plan .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-bottom: 4rem;
}

@media screen and (max-width: 767px){
	.plan .flex {
		display: block;
		margin-bottom: 2rem;
	}
}

.plan .flex h3 {
	position: relative;
	width: 100%;
	text-align: center;
	margin-bottom: 2rem;
}

.plan .flex h3::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	top: 20px;
	left: 0;
	background: #000;
}

.plan .flex h3 span {
	position: relative;
	font-size: 1.6rem;
	line-height: 40px;
	background: #eee;
	padding: 0 2rem;
}



.plan .flex .box {
	width: 32%;
	background: #fff;
	box-shadow: 0 4px 8px rgba(16, 16, 16, 0.4);
	border-radius: 10px;
    overflow: hidden;
}

@media screen and (max-width: 767px){
	.plan .flex .box {
		width: 90%;
		margin: auto;
	}

	.plan .flex .box:not(:last-child){
		margin-bottom: 1rem;
	}
}

.plan .flex .box h4 {
	text-align: center;
	padding: 1rem;
	color: #fff;
	background: linear-gradient(90deg, #0070b9, #00a0e9);
}

@media screen and (max-width: 767px){
	.plan .flex .box h4 {
		line-height: 1;
	}
}

.plan .flex .box dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
}

@media screen and (max-width: 767px){
	.plan .flex .box dl {
		padding: 10px 1rem;
	}
}

.plan .flex .box dl dt {
	width: 26%;
}

.plan .flex .box dl dd {
	width: 72%;
}

@media screen and (max-width: 767px){
	.plan .flex .box dl dd {
		font-size: 0.9rem;
	}
}

.plan .flex .box dl dd span {
	font-size: 1.6rem;
	font-weight: bold;
	color: #d5004a;
	margin-right: 4px;
}

.foot_contact {
	padding: 4rem 0;
	background: #0B2E6D;
}

@media screen and (max-width: 767px){
	.foot_contact {
		padding: 2rem 0;
	}
}

.foot_contact p {
	color: #fff;
}

.foot_contact ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 4rem;
}

@media screen and (max-width: 767px){
	.foot_contact ul {
		margin-top: 2rem;
	}
}

.foot_contact ul li {
	width: 49%;
}

@media screen and (max-width: 767px){
	.foot_contact ul li {
		width: 100%;
	}
}

.foot_contact ul li a {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 2rem;
	border: 1px solid #fff;
	border-radius: 10px;
}

@media screen and (max-width: 767px){
	.foot_contact ul li a {
		max-width: 320px;
		margin: auto;
		padding: 1rem;
		font-size: 1.2rem;
	}
}

.foot_contact ul li.line a {
	background: #1b9b1b;
}

.foot_contact ul li.line a small {
	display: block;
}

.foot_contact ul li.line a:hover {
	background: #0f770f;
}

@media screen and (max-width: 767px){
	.foot_contact ul li.line a {
		margin-bottom: 1rem;
	}
}

.foot_contact ul li.tel a {
	background: #e98f2f;
}

.foot_contact ul li.tel a:hover {
	background: #bb6d19;
}

.foot_contact ul li a span {
	display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px){
	.foot_contact ul li a span {
		justify-content: left;
	}
}

.foot_contact ul li.line a span::before {
	content: "";
    width: 40px;
    height: 40px;
    background: url(./img/line_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
	margin-right: 1rem;
}

.foot_contact ul li.tel a span::before {
	font-size: 40px;
	font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
	width: 40px;
    height: 40px;
    margin-right: 1rem;
	text-align: center; 
}

.foot_contact a.bnr,
.sp_cta.box a.bnr.tel {
	display: block;
	max-width: 600px;
	margin: auto;
    padding: 2rem;
    border: 1px solid #fff;
    border-radius: 10px;
}

@media screen and (max-width: 767px){
	.foot_contact a.bnr,
	.sp_cta.box a.bnr.tel {
		padding: 1rem;
	}
}

.foot_contact a.bnr p,
.sp_cta.box a.bnr.tel p{
    display: block;
    position: relative;
    width: fit-content;
    font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
    line-height: 1.5;
    margin: auto;
}

@media screen and (max-width: 767px){
	.foot_contact a.bnr p,
	.sp_cta.box a.bnr.tel p{
		font-size: 1.2rem;
	}
}

.foot_contact a.bnr.line {
	background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.foot_contact a.bnr.line span {
	display: block;
	font-size: 0.6em;
	text-align: center;
}

.foot_contact a.bnr.line p::before {
    content: "";
    position: absolute;
    width: 50px;
    height: 90px;
    background: url(./img/golf_taiken.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: -15px;
    left: -65px;
}

@media screen and (max-width: 767px){
	.foot_contact a.bnr.line p::before {
		width: 36px;
        height: 60px;
        top: -8px;
        left: -45px;
	}
}

.foot_contact a.bnr.tel,
.sp_cta.box a.bnr.tel {
	background: #e98f2f;
}

.foot_contact a.bnr.tel p,
.sp_cta.box a.bnr.tel p{
	display: flex;
    align-items: center;
    justify-content: center;
	line-height: 1;
}

.foot_contact a.bnr.tel p::before,
.sp_cta.box a.bnr.tel p::before {
    font-size: 40px;
    font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
    width: 40px;
    height: 40px;
    margin-right: 1rem;
    text-align: center;
}

.staff {
	padding: 4rem 0;
	background: url(./img/staff_back.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: top center;
}

@media screen and (max-width: 767px){
	.staff {
		padding: 2rem 0;
		background-attachment: unset;
	}
}

.staff h2,
.staff h2 span {
	color: #fff;
}

.staff ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.staff ul li {
	width: 31%;
	margin-bottom: 3%;
	padding: 1rem;
	background: #fff;
	border: 1px solid #999;
}

@media screen and (max-width: 960px){
	.staff ul li {
		width: 48%;
	}
}

@media screen and (max-width: 767px){
	.staff ul li {
		display: flex;
		width: 100%;
		padding: 10px;
		justify-content: space-between;
	}
}

.staff ul li figure {
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px){
	.staff ul li figure {
		width: 30%;
		margin-bottom: 0;
	}
}

@media screen and (min-width: 768px){
	.staff ul li figure img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
		object-position: top;
	}
}

@media screen and (max-width: 767px){
	.staff ul li .box {
		width: 68%;
	}
}

.staff ul li h3 {
	font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.6rem;
    text-align: center;
    color: #0183c6;
}

@media screen and (max-width: 767px){
	.staff ul li h3 {
		font-size: 1.2rem;
		text-align: left;
	 }
}

.staff ul li p.meta {
	font-weight: bold;
	text-align: center;
	color: #666;
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px){
	.staff ul li p.meta {
		font-size: 0.8rem;
		text-align: left;
		margin-bottom: 8px;
	}

	.staff ul li p.text {
		font-size: 0.8rem;
		line-height: 1.6;
	}
}

.picture_area .gallery {
	width: 100%
}

.contact {
	padding: 4rem 0;
	background: #d2e6fd;
}

@media screen and (max-width: 767px){
	.contact {
		padding: 2rem 0;
	}
}

.contact ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}

@media screen and (max-width: 767px){
	.contact ul {
		display: block;
	}
}

.contact ul li.cta {
	width: 59%;
}

@media screen and (max-width: 767px){
	.contact ul li.cta {
		width: 100%;
		margin-bottom: 2rem;
	}
}

.contact ul li.tel {
	width: 39%;
}

@media screen and (max-width: 767px){
	.contact ul li.tel {
		width: 90%;
		margin: auto;
	}
}

.contact ul li.tel a {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #e98f2f;
	padding: 1rem;
}

@media screen and (max-width: 767px){
	.contact ul li.tel a {
		font-size: 1.4rem;
	}
}

.contact ul li.tel a span.small {
	display: block;
	font-size: 0.65em;
}

.contact ul li.tel a span.number::before {
	font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
    margin-right: 10px;
}

/* 特定商取引法・ */
/*.commerce {
	margin-top: 100px;
}

@media screen and (max-width: 767px){
	.commerce {
		margin-top: 50px;
	}
} */

.commerce p.lead {
	margin-bottom: 2rem; 
}

.commerce dl {

}

.commerce dl dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px){
	.commerce dl dt {
		font-size: 18px;
	}
}

.commerce dl dd {
	margin-bottom: 40px;
	line-height: 2;
}

@media screen and (max-width: 767px){
	.commerce dl dd {
		font-size: 14px;
	}
}

.commerce dl dd ol {
	list-style: decimal;
    margin-top: 20px;
    padding-left: 20px;
    line-height: 2;
}

.commerce dl dd ol li ol {
	list-style: disc;
	margin-bottom: 20px;
}


/*　FAQ */
.faq {
	padding: 4rem 0;
	background: #eee;
}

@media screen and (max-width: 767px){
	.faq {
		padding: 2rem 0;
	}
}

.p-faq__headinner {
  	display: block;
  	padding-left: 35px;
  	position: relative;
  	line-height: 1.5;
}

.p-faq__headinner::before {
  	position: absolute;
  	left: 0;
  	content: "Q．";
  	color: #09357f;
  	font-size: 20px;
    line-height: 20px;
  	font-weight: bold;
}

.p-faq__headinner p.p-faq__q-txt {
  	font-size: 1.2rem;
    line-height: 20px;
    margin: 0;
}
@media screen and (max-width: 768px) {
  .p-faq__headinner {
	  padding-left: 25px;
  }
  .p-faq__headinner::before {
	  font-size: 14px;
  }
  .p-faq__headinner p.p-faq__q-txt {
	  font-size: 14px;
  }
}

.p-faq__bodyinner {
	display: block;
  	padding-left: 35px;
  	position: relative;
  	line-height: 1.5;
}

.p-faq__bodyinner::before {
  	position: absolute;
  	left: 0;
  	content: "A．";
  	color: #de0000;
  	font-size: 20px;
	line-height: 30px;
  	font-weight: bold;
}

.p-faq__bodyinner p.p-faq__a-txt {
	line-height: 2;
	margin: 0;
}

@media screen and (max-width: 768px) {
  .p-faq__bodyinner {
	  padding-left: 25px;
  }
  .p-faq__bodyinner::before {
	  font-size: 14px;
  }
  .p-faq__bodyinner p.p-faq__a-txt {
	  font-size: 12px;
  }
}

/* アコーディオン */
.accordion_area .accordion_one .ac_header {
  	padding: 30px;
  	position: relative;
  	z-index: +1;
  	cursor: pointer;
  	transition: .2s;
	background: #fff;
}

.accordion_area .accordion_one .ac_header:not(:first-child){
	border-top: 1px solid #ccc;
}

.accordion_area .accordion_one .ac_header.open {
	background: #f1f8ff;
}

.accordion_area .accordion_one{
	border : 1px solid #ccc;
	border-radius: 10px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
	.accordion_area .accordion_one{
		border-radius: 5px;
	}
}

.accordion_area .accordion_one .ac_header:not(.open):hover {
  	background-color: #f1f8ff;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  	background-color: #f1f8ff;
}

.accordion_area .accordion_one .ac_header .i_box {
  	position: absolute;
  	top: 50%;
  	right: 2rem;
  	width: 20px;
  	height: 20px;
  	margin-top: -10px;
}

.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  	position: absolute;
  	content: "";
  	margin: auto;
  	box-sizing: border-box;
  	vertical-align: middle;
}

.accordion_area .accordion_one .ac_header .i_box:before {
  	border-top: 2px solid #014897;
  	width: 16px;
  	height: 0;
  	top: 0;
  	bottom: 0;
  	right: 0;
}

.accordion_area .accordion_one .ac_header .i_box:after {
  	border-left: 2px solid #014897;
  	width: 0;
  	height: 16px;
  	top: 0;
  	bottom: 0;
  	right: 7px;
  	transition: .3s;
}

.accordion_area .accordion_one .ac_header.open .i_box:after {
	border-left: 2px solid #fff;
}

.accordion_area .accordion_one .ac_header.open .i_box:after {
  	height: 0;
}

.accordion_area .accordion_one .ac_inner {
  	display: none;
  	padding: 30px;
  	box-sizing: border-box;
	background: #fff;
}

.gutter>*:not(:last-child) {
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .gutter>*:not(:last-child) {
    margin-bottom: 5px;
  }

  .accordion_area .accordion_one .ac_header {
    padding: 10px 30px 10px 10px;
  }
  .accordion_area .accordion_one .ac_header .i_box {
    right: 0.8rem;
    width: 14px;
    height: 14px;
    margin-top: -7px;
  }
  .accordion_area .accordion_one .ac_header .i_box:before {
    width: 14px;
  }
  .accordion_area .accordion_one .ac_header .i_box:after {
    height: 14px;
    right: 6px;
  }
  .accordion_area .accordion_one .ac_inner {
    padding: 10px;
  }
}

/********** ハンバーガーメニュー **********/
.hamburger {
	display: flex;
    position: fixed;
    width: 80px;
    height: 80px;
	top: 10px;
    right: 2rem;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 100%;
	align-items: end;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
}

@media screen and (min-width: 1200px){
	.hamburger {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.hamburger {
		width: 40px;
    	height: 40px;
		top: 5px;
		right: 15px;
		border: none;
		border-radius: unset;
	}
}

.hamburger p {
	font-size: 0.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	.hamburger p {
		font-size: 0.7rem;
		margin-bottom: 3px;
	}
}

.hamburger span {
	display: block;
    position: absolute;
	width: 50%;
    height: 2px;
	left: 25%;
	background: #333;
	transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger span {
		width: 70%;
		left: 15%;
	}
}

.hamburger span:nth-child(1){
	top: 16px;
}
.hamburger span:nth-child(2){
	top: 28px;
}
.hamburger span:nth-child(3){
	top: 40px;
}

@media screen and (max-width: 767px){
	.hamburger span:nth-child(1){
		top: 8px;
	}
	.hamburger span:nth-child(2){
		top: 19px;
	}
	.hamburger span:nth-child(3){
		top: 30px;
	}
}

.hamburger p.close {
	display: none;
	transition: 0.3s;
}

.hamburger.active p.close {
	display: block;
}

.hamburger.active p.open {
	display: none;
	transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger p.open,
	.hamburger.active p.close{
		display: none;
	}
}

.hamburger.active span:nth-child(1) {
    top: 28px;
    left: 20px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: 0.3s;
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
	transition: 0.3s;
}

.hamburger.active span:nth-child(3) {
    top: 28px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger.active span:nth-child(1),
	.hamburger.active span:nth-child(3){
		top: 20px;
		left: 25%;
	}
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  right : -102%;
  color: #000;
  transition: all 0.6s;
  background: #fff;
  padding: 100px 20px 20px;
  width: 60%;
  box-shadow: 0 2px 2px rgb(0 0 0 / 30%);
}

@media screen and (max-width: 767px){
	nav.globalMenuSp {
		width: 100%;
        padding: 20px;
        background: #1355a3;
        top: 50px;
	}
}

nav.globalMenuSp ul {
  width: 100%;
	margin-bottom: 1rem;
  transition: 0.3s;
}

nav.globalMenuSp ul.first{
	margin-top: 50px;
}

nav.globalMenuSp ul li {
  position: relative;
  list-style-type: none;
  width: 100%;
}

nav.globalMenuSp ul li:not(:last-child){
	border-bottom: 1px solid #ffffff66;
}

nav.globalMenuSp ul li:hover{
  background :#fff;
}

nav.globalMenuSp ul li:hover a {
	color: #1e7b97;
}

header.back nav.globalMenuSp ul li:hover a {
	color: #d7747c;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  right: 0;
}

.globalMenuSp h2{
	font-size: 20px;
	line-height: 50px;
}

@media screen and (min-width: 1200px) {
	.sp_nav {
		display: none;
	}
}

.fotter_btn {
    position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.8);
    z-index: 1000;
	padding: 5px;
}

@media screen and (min-width: 768px) {
	.fotter_btn {
		display: none;
	}
}

.fotter_btn a {
	display: block;
	width: 100%;
	font-weight: bold;
	text-align: center;
	margin: auto;
	padding: 6px;
	color: #fff;
    background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
	border-radius: 5px;
	box-shadow: 0 4px 4px #666;
	overflow: hidden;
}

.fotter_btn a span {
	display: block;
	font-size: 0.8em;
}

.fotter_btn a p {
	display: block;
	position: relative;
	width: fit-content;
	font-size: 16px;
    line-height: 1.5;
	margin: auto;
}

.fotter_btn a p::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 40px;
    background: url(./img/golf_taiken.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: 2px;
    left: -36px;
}

.seventh {
	margin-top: -3rem;
}

@media screen and (max-width: 767px) {
	.seventh {
		margin-top: -2rem;
	}
}

.seventh p {
	font-weight: bold;
	text-align: center;
}

.seventh p.large {
	font-size: 2.8vw;
	color: #0183c6;
}

@media screen and (max-width: 767px) {
	.seventh p.large {
		font-size: 4.2vw;
	}
}

.seventh p.large strong {
    font-size: 1.8em;
    background: linear-gradient(180deg, #00DBDE 20%, #FC00FF 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
	.seventh p.large strong {
		font-size: 1.6em;
	}
}

.seventh p.nokori_badge {
	display: block;
    width: fit-content;
    margin: 0 auto 2rem;
    padding: 0 4rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #dd4077;
    background: #fff;
    border: 1px solid #dd4077;
    border-radius: 100px;
}

@media screen and (max-width: 767px) {
	.seventh p.nokori_badge {
		font-size: 1rem;
		margin: 0 auto 1rem;
		padding: 0 2rem;
	}
}

.seventh p.nokori_badge span {
	font-size: 1.5em;
}

.seventh .middle {
	font-size: 2rem;
}

@media screen and (max-width: 767px) {
	.seventh .middle {
		font-size: 1.4rem;
		line-height: 1.5;
	}
}

.seventh .middle strong {
	font-size: 1.4em;
	background: linear-gradient(90deg, #00DBDE 20%, #FC00FF 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
	.seventh .middle strong {
		display: block;
        font-size: 1em;
        margin-top: 1rem;
	}
}

.seventh p.gentei {
	font-size: 1.6vw;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.seventh p.gentei {
		font-size: 4vw;
		margin-top: 1rem;
		margin-bottom: 0;
	}
}

.seventh p.gentei span.badge {
	display: inline-block;
    font-size: 1.5em;
    padding: 10px;
    color: #d5004a;
    background: #fff;
    border: 1px solid #d5004a;
    line-height: 1;
    margin-right: 10px;
}

@media screen and (max-width: 767px) {
	.seventh p.gentei span.badge{

	}
}

.seventh p.gentei span.num {
	font-size: 1.2em;
    color: #0183c6;
}

@media screen and (max-width: 767px) {
	.seventh p.gentei span.num{

	}
}

.seventh p.large span {
	background: linear-gradient(transparent 50%, #ffff00 50%);
}

.seventh p.huge {
	font-size: 3.6vw;
	color: #d5004a;
}

@media screen and (max-width: 767px) {
	.seventh p.huge {
		font-size: 8vw;
		line-height: 1.5;
        margin-bottom: 1rem;
	}
}

.seventh p.description {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.seventh p.description {
		font-size: 1rem;
	}
}

.seventh p.description span {
	font-size: 2em;
	background: linear-gradient(180deg, #0183c6 20%, #2ab4fb 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
	.seventh p.description span {
		font-size: 1.6em;
	}
}

.seventh table {
	width: 600px;
    margin: 1rem auto;
}

@media screen and (max-width: 740px) {
	.seventh table {
		width: 100%;
		font-size: 0.9rem;
	}
}

.seventh table th,
.seventh table td {
	border: 1px solid #999;
	padding: 1rem;
}

@media screen and (max-width: 740px) {
	.seventh table th,
	.seventh table td {
		padding: 10px;
	}
}

.seventh table th {
	color: #fff;
    background: #0183c6;
	text-align: left;
}

.seventh table td {
	font-size: 1.2em;
	font-weight: bold;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.aigia {
    	background: url(./img/aigia_back2.jpg);
    	background-attachment: fixed;
    	background-size: cover;
    	background-position: top center;
	}
}

@media screen and (max-width: 767px) {
	.aigia {
		background: url(./img/aigia_back3.jpg);
    	background-size: cover;
		background-position: top center;
	}
}

.aigia .lead {
	background: #5b4322;
	border-bottom: 5px solid #5b4322;
}

@media screen and (min-width: 768px) {
	.aigia .lead {
		border-bottom: 5px solid #5b4322;
	}
}

@media screen and (max-width: 767px) {
	.aigia .lead {
		padding: 5px 0 0;
	}
}

.aigia .lead img {
	display: block;
	width: 100%;
	max-width: 1500px;
	margin: auto;
}

.aigia .box {
	
}

.aigia .flex {
	display: flex;
	justify-content: space-between;
	align-items: start;
	margin-top: 2rem;
}

@media screen and (max-width: 767px) {
	.aigia .flex {
		display: block;
		margin-top: 1rem;
	}
}

.aigia .flex.second {
	flex-direction: row-reverse;
}

.aigia .flex img {
	width: 40%;
}

@media screen and (max-width: 767px) {
	.aigia .flex img {
		width: 100%;
		margin-bottom: 1rem;
	}
}

@media screen and (min-width: 1000px) {
	.aigia .flex.first p {
		margin-top: 4rem; 
	}
}

@media screen and (min-width: 768px) {
	.aigia .flex.second img {
		margin-top: -10rem;
	}
}

.aigia .flex p {
	width: 55%;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.aigia .flex p {
		width: 100%;
		position: relative;
		font-size: 1rem;
		text-align: center;
	}
	
	.aigia .flex p::before {
		display: block;
        content: "";
        background: #fff;
        width: 50px;
        height: 20px;
        margin: 0 auto 5px;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	}
}

.aigia .gallery {
	margin-top: 2rem;
}

@media screen and (max-width: 767px) {
	.aigia .gallery {
		margin-top: 1rem;
	}
}

.cta {
	padding: 4rem 0 5rem;
	background-image: url(./img/cta_back1.jpg);
	background-size: cover;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.cta {
		padding: 3rem 0 4rem;
	}
}

.cta .title {
	display: flex;
    position: relative;
    color: #fff;
    margin-bottom: 2rem;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
	.cta .title {
		font-size: 4.8vw;
		margin-bottom: 1rem;
		line-height: 1.5;
	}
}

.cta .title::before,
.cta .title::after {
	content: "";
	width: 48px;
    height: 70px;
    background-size: cover;
	background-image: url(./img/fukidashi3.png);
}

@media screen and (max-width: 767px) {
	.cta .title::before,
	.cta .title::after {
		width: 40px;
		height: 56px;
	}
}

.cta .title::before {
	margin-right: 1rem;
}

.cta .title::after {
	margin-left: 1rem;
	transform: scale(-1, 1);
}

/* 第2次募集用 */
.price table tr.closed {
	position: relative;
	height: 100%;
}

.price table tr.closed::after {
	display: flex;
	position: absolute;
	width: 98%;
    height: 96%;
    top: 4%;
    left: 1%;
	color: #fff;
	background: rgba(16, 16, 16, 0.8);
	align-items: center;
	justify-content: center;
	z-index: 100;
}

.price table tr.closed.tp2::after {
	content: "第2次募集";
}

.price table tr.closed.tp3::after {
	content: "第3次募集";
}

.price table tr.closed.half::after {
	height: 90%;
	top: 5%;
}