
/* =========================================================
  BASE (Desktop-first)
========================================================= */
body{
	background: #F8F9FA;
}
@media (min-width: 1100px) {
section .container{
	max-width: 1100px;
}}
section{
	padding: 100px 0 0;
}

#mv_content .cta{
	display: flex;
	gap:15px;
}
#mv_content .cta .item{
	width: min(19.53125vw,375px);
	text-align: center;
}
#mv_content .cta .item a{
	padding: 1rem 0;
	font-size: min(1.4583333333333333vw,28px);
	letter-spacing: .18em;
	line-height: 1.5;
	font-weight: 300;
	display: block;
	text-decoration: none;
}
#mv_content .cta .item:first-child a{
	background: #041931;
	border-radius: 51px;
	border: solid 1px #fff;
	color: #fff;
}
#mv_content .cta .item:last-child a{
	background: #fff;
	border-radius: 51px;
	border: solid 1px #041931;
	color: #041931;
}
#mv_content .cta .item span{
	display: inline-block;
	position: relative;
	padding-right: 45px;
}
#mv_content .cta .item span::after{
	position: absolute;
	top:calc(50% - 17.5px);
	content: "";
	background-image: url(../../images/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 35px;
	right: 0;
	aspect-ratio:1/1;
		
}
#mv_content .cta .item:last-child span::after{
	background-image:url(../../images/arrow_navy.svg);
}
#mv #mv_content h1.ja{
font-weight: 700;
font-size: min(5vw,96px);
line-height: 1.5;
letter-spacing: 0.02em;
color: #FFFFFF;
}
#mv #mv_content p.maincopy{
font-weight: 700;
font-size:min(3.3333333333333335vw,64px);
line-height: 1.5;
letter-spacing: 0.02em;
color: #FFFFFF;
	margin-bottom: 1rem;
}
#mv #mv_content > p:not(.result-note){
font-weight: 300;
font-size: min(1.875vw,36px);
line-height: 1.5;
letter-spacing: 0.18em;
color: #FFFFFF;
	margin-bottom: 1.5rem;
}
#onayami h2{
	text-align: center;
font-weight: 300;
font-size: 40px;
line-height: 48px;
color: #041931;
	padding-bottom: 3rem;
    position: relative;
    margin-bottom: 3rem;
}
#onayami h2::after {
    width: 91px;
    height: 7px;
    background: #0A2647;
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 45.5px);
}
#onayami .onayami_wrap{
background: #FFFFFF;
border: 1px solid #0A2647;
border-radius: 10px;
	padding: 1.5rem 2rem;
	background-image:url("../../images/onayami_bg.jpg");
	background-size: 344px 258px;
	background-position: center right;
	background-repeat: no-repeat;
	margin-bottom: 6rem;
}
#onayami .onayami_wrap ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#onayami .onayami_wrap ul li{
font-weight: 700;
font-size: 24px;
line-height: 58px;
letter-spacing: 0.18em;
color: #161616;
	padding-left: 70px;
	position: relative;
}

#onayami .onayami_wrap ul li::before{
	content: "";
	width: 58px;
	aspect-ratio:1/1;
	background: url("../../images/column_list_icon.svg");
	background-size: contain;
	background-position: center right;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top:0;
}#onayami .onayami_wrap + p{
font-size: 40px;
line-height: 48px;
	text-align: center;
	position: relative;
	padding-top: 100px;
color: #041931;
}
#onayami .onayami_wrap + p::before{
	content: "";
	position: absolute;
	width: 131px;
  height: 43px;
  background-color: #0A2647;
  /* 左上(0 0)、右上(100% 0)、下中央(50% 100%)を結ぶ */
  clip-path: polygon(0 0, 100% 0, 50% 100%);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
#youtube_embed h2{
font-weight: 300;
font-size: 40px;
line-height: 48px;
color: #041931;
	text-align: center;
	margin-bottom: 3rem;
}
#youtube_embed p{
font-weight: 300;
font-size: 19px;
line-height: 1.5;
color: #0A2647;
	margin-top: 4rem;
}
#service_cta{
	position: relative;
	background: #0A2647;
	padding: 80px 0;
}
#service_cta::before{
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	background: url(../../images/service_tocontact.jpg);
	background-position: center;
	background-size: cover;
}
#service_cta h2{
font-weight: 700;
font-size: 36px;
line-height: 1.5;
letter-spacing: 0.18em;
color: #FFFFFF;
	margin-bottom: 1.5rem;
}
#service_cta p{
font-weight: 700;
font-size: 24px;
line-height: 1.5;
letter-spacing: 0.18em;
color: #FFFFFF;
	margin-bottom: 1.5rem;
}
#service_cta a{
	display: block;
	width: 418px;
	padding: 1.5rem 0;
	border-radius: 39px;
	background: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #0A2647;
}
#amazon_reason{
	padding: 150px 0;
	
}
#amazon_reason h2{
	text-align: center;
font-weight: 300;
font-size: 40px;
line-height: 48px;
color: #041931;
	padding-bottom: 3rem;
    position: relative;
    margin-bottom: 3rem;
}
#amazon_reason h2::after {
    width: 91px;
    height: 7px;
    background: #0A2647;
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 45.5px);
}
#amazon_reason .amazon_reason_flex{
	display: flex;
}
#amazon_reason .amazon_reason_flex:not(:last-child){
	margin-bottom: 3rem;
}

#amazon_reason .amazon_reason_flex .item{
	width: calc(100% - 602px);
	align-self: center;
}
#amazon_reason .amazon_reason_flex .item.image{
	width: 577px;
	padding-right: 25px;
}
#amazon_reason .amazon_reason_flex .item.image:nth-child(2){
	padding-right: 0px;
	padding-left: 25px;
}

#amazon_reason .amazon_reason_flex .item p{
font-weight: 300;
font-size: 16px;
line-height: 1.5;
color: #0A2647;
}
#amazon_reason .amazon_reason_flex .item .num{
font-weight: 700;
font-size: 16px;
line-height: 1.6;
color: #161616;
margin-bottom: 2rem;

}

#amazon_reason .amazon_reason_flex .item h3{

font-weight: 700;
font-size: 32px;
line-height: 1.5;
letter-spacing: 0.18em;
color: #0A2647;
margin-bottom: 2rem;

}
#amazon_suport{
	padding: 150px 0;
}
#amazon_suport h2{
	text-align: center;
	font-weight: 300;
	font-size: 40px;
	line-height: 48px;
	color: #041931;
	padding-bottom: 3rem;
	position: relative;
	margin-bottom: 3rem;
}
#amazon_suport h2::after {
	width: 91px;
	height: 7px;
	background: #0A2647;
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 45.5px);
}
#amazon_suport .amazon-support-detail{
	display: flex;
	flex-direction: column;
	gap: 64px;
}
#amazon_suport .amazon-support-block{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}
#amazon_suport .amazon-support-block.is-reverse{
	flex-direction: row-reverse;
}
#amazon_suport .amazon-support-block__text{
	flex: 1 1 0;
	min-width: 0;
}
#amazon_suport .amazon-support-block__text h3.title{
	color: #CF040E;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	margin-bottom: 1.25rem;
}
#amazon_suport .amazon-support-block__text h3.title span{
	display: block;
	margin-top: 8px;
	color: #0A2647;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: none;
}
#amazon_suport .amazon-support-block__text p{
	color: #161616;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: 0.04em;
}
#amazon_suport .amazon-support-block__text ul{
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}
#amazon_suport .amazon-support-block__text ul li{
	position: relative;
	padding-left: 1.1em;
	margin-bottom: 0.5rem;
	color: #161616;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}
#amazon_suport .amazon-support-block__text ul li::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
#amazon_suport .amazon-support-block__img{
	flex: 0 0 42%;
	max-width: 420px;
	height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#amazon_suport .amazon-support-block__img img{
	width: 100%;
	max-width: 380px;
	height: 100%;
	object-fit: contain;
}

/* Amazon料金表（sobani service__plan-table を参考） */
#amazon_pricing{
	padding: 100px 0 0;
}
#amazon_pricing h2{
	text-align: center;
	font-weight: 300;
	font-size: 40px;
	line-height: 48px;
	color: #041931;
	padding-bottom: 3rem;
	position: relative;
	margin-bottom: 3rem;
}
#amazon_pricing h2::after{
	width: 91px;
	height: 7px;
	background: #0A2647;
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 45.5px);
}
.amazon-plan-table-wrap{
	width: 100%;
	overflow-x: auto;
}
.amazon-plan-table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
}
.amazon-plan-table thead th{
	background: #0A2647;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 16px 20px;
	text-align: center;
	border-right: 1px solid #fff;
}
.amazon-plan-table thead th:last-child{
	border-right: none;
}
.amazon-plan-table tbody th,
.amazon-plan-table tbody td{
	border-bottom: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	vertical-align: top;
	padding: 28px 24px;
	background: #fff;
}
.amazon-plan-table tbody tr th{
	border-left: 1px solid #d9d9d9;
	width: 22%;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #0A2647;
	letter-spacing: 0.06em;
	vertical-align: middle;
}
.amazon-plan-table tbody td:nth-child(2){
	width: 22%;
	text-align: center;
	vertical-align: middle;
}
.amazon-plan-table tbody td:last-child{
	width: 56%;
	border-right: 1px solid #d9d9d9;
}
.amazon-plan-price{
	display: inline-block;
	color: #CF040E;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
}
.amazon-plan-price .large{
	font-size: 40px;
	line-height: 1;
}
.amazon-plan-table ul{
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
.amazon-plan-table ul li{
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.6rem;
	font-size: 15px;
	line-height: 1.7;
	color: #161616;
}
.amazon-plan-table ul li::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
.amazon-plan-table ul li:last-child{
	margin-bottom: 0;
}

/* お客様の声（itsumo .example 準拠・左大枠にロゴ） */
#amazon_voice{
	padding: 100px 0 0;
}
#amazon_voice h2{
	text-align: center;
	font-weight: 300;
	font-size: 40px;
	line-height: 48px;
	color: #041931;
	padding-bottom: 3rem;
	position: relative;
	margin-bottom: 3rem;
}
#amazon_voice h2::after{
	width: 91px;
	height: 7px;
	background: #0A2647;
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 45.5px);
}
#amazon_voice .example{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	width: 100%;
	margin-bottom: 64px;
}
#amazon_voice .example:last-child{
	margin-bottom: 0;
}
#amazon_voice .example .img{
	width: 42%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 40px 32px;
	box-sizing: border-box;
	min-height: 280px;
}
#amazon_voice .example .img img{
	width: 100%;
	max-width: 280px;
	height: auto;
	max-height: 220px;
	object-fit: contain;
}
#amazon_voice .example .detail{
	width: 55%;
}
#amazon_voice .example .detail .company{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 20px;
}
#amazon_voice .example .detail .company .name{
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: #0A2647;
	letter-spacing: 0.04em;
}
#amazon_voice .example .detail dl{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0 0 20px;
}
#amazon_voice .example .detail dl dt{
	width: 28%;
	margin: 0 0 16px;
	font-size: 15px;
	font-weight: 700;
	color: #0A2647;
	letter-spacing: 0.04em;
}
#amazon_voice .example .detail dl dd{
	width: 72%;
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.8;
	color: #161616;
}
#amazon_voice .example .detail dl dd ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
#amazon_voice .example .detail dl dd ul li{
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.35rem;
}
#amazon_voice .example .detail dl dd ul li::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
#amazon_voice .example .detail .comment{
	background-color: #fff;
	padding: 20px 25px;
	position: relative;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.85;
	color: #161616;
	box-shadow: 0 0 15px rgba(0,0,0,.1);
	margin: 0;
}
#amazon_voice .example .detail .comment::before{
	content: "";
	position: absolute;
	top: 50%;
	left: -24px;
	margin-top: -12px;
	border: 10px solid transparent;
	border-right: 18px solid #fff;
	z-index: 2;
}

#faq .faq_wrap{
	counter-reset: faq-count;
}
#faq dl dt{
	background: #0A2647;
	padding: 1rem 2.5rem;
	cursor: pointer;
	position: relative;
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: .18em;
	line-height: 1.7;
	border:1px solid #0A2647;
}

#faq dl dt::after{
	content: "";
	position: absolute;
	right: 1rem;
	top: calc(50% - .5px);
	width: 20px;
	height: 1px;
	background: #fff;
	transform: none;
	transition: all .2s;
}
#faq dl dt::before{
	content: "";
	position: absolute;
	right: calc(1rem + 9.5px);
	top: calc(50% - 10px);
	height: 20px;
	width: 1px;
	background: #fff;
	transition: all .2s;
	transform: none;
}
#faq dl.is-open dt::before{
	transform: rotate(90deg);
	transition: all .2s;
}
#faq dl.is-open dt::after{
	transform: none;
	transition: all .2s;
}
#faq dl dt span{
	display: inline-block;
	padding-left: 60px;
	position: relative;
}

#faq dl dt span::before{
    counter-increment: faq-count;
    content: "Q" counter(faq-count)".";
	position: absolute;
	left: 0;
	font-size: 24px;
	background-image: none;
	line-height: 1.7;
	top: inherit;
}
#faq dl dd{
	display: none;
	background: #fff;
	padding: 1rem 2.5rem;
	position: relative;
	color: #161616;
	font-size: 20px;
	letter-spacing: .18em;
	line-height: 1.7;
	border:1px solid #041931;
}
#faq dl dd span{
	display: inline-block;
	padding-left: 2rem;
	position: relative;
}
#faq dl dd span::before{
	content: "A.";
	position: absolute;
	left: 0;
	font-size: 20px;
	width: inherit;
	background-image: none;
	line-height: 1.7;
	top: inherit;
}
footer{
	background: #041931;
	padding-top: 80px;
}
@media (max-width: 1100px) {
	
	#mv_content .cta .item span::after{
		width: 25px;
	top:calc(50% - 12.5px);
	}
	#mv_content .result{
		margin-bottom: 1.5rem;
	}
	#mv_content .cta .item{
		width: 300px;
	}
#mv_content .cta .item a{
	padding: .75rem 0;
	font-size: 20px;
	}
}
@media (max-width: 992px) {
	#mv #mv_content h1.ja{
		font-size: 36px;
		position: relative;
		top: -1.00rem;
	}
	#mv #mv_content p.maincopy{
		font-size: 24px;
	}
	#mv #mv_content > p:not(.result-note){
		font-size: 12px;
		text-shadow: rgb(0, 0, 0) 0px 0px 10px;
	}
	#mv_content .cta {
    display: block;
	}
	
	#mv_content .cta .item:not(:last-child) {
		margin-bottom: 1rem;
	}
	#mv_content .cta .item span::after{
		content: none;
		
	}
	#mv_content .cta .item a{
		position: relative;
	}
	#mv_content .cta .item a::after{
	position: absolute;
    content: "";
    background-image: url(../../images/arrow_white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 25px;
    top: calc(50% - 12.5px);
    right: 1rem;
    aspect-ratio: 1 / 1;
	}
	#mv_content .cta .item:last-child a::after{
		background-image: url(../../images/arrow_navy.svg);

	}
	#mv_content .cta .item{
		width: 100%;
	}
	#mv_content .cta .item span{
		padding-right: 0;
	}
section{
	padding: 50px 0 0;
	}#youtube_embed{
		padding-top: 0;
	}
	#youtube_embed h2{
		font-size: 20px;
	}
	#youtube_embed p{
		font-size: 16px;
	}
	#service_cta h2{
		font-size: 20px;
	}
	#service_cta p{
		font-size: 18px;
	}#service_cta a{
		width: 100%;
	}
	#service_cta{
		background: rgba(10,38,71,.5);
	}
	#service_cta::before{
		z-index: -1;
		width:100%;
		bottom: 0;
		top:inherit;
		right: inherit;
		left: 0;
	}
	#onayami h2{
		font-size: 20px;
		padding-bottom: 1rem;
	}
	#onayami h2::after {
    width: 60px;
    height: 4px;
    background: #0A2647;
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 30px);
}
	#onayami .onayami_wrap {
    border: 1px solid #0A2647;
    border-radius: 10px;
    padding: 1.5rem 1rem;
	background-image:none;
    background-size: 50%;
	background-position: center;
		background-blend-mode: lighten;
		background-color: #fff;
		margin-bottom: 4rem;
	}
	#onayami .onayami_wrap ul li {
    font-size: 16px;
    line-height: 1.75;
    padding-left: 34px;
    position: relative;
}
	#onayami .onayami_wrap ul li::before {
    content: "";
    width: 28px;
	}
	#onayami .onayami_wrap + p{
		font-size: 20px;
	}
	#amazon_reason{
		padding: 80px 0;
	}
	#amazon_reason h2{
		font-size: 24px;
		padding-bottom: 1rem;
		font-weight: bold;
	}
	#amazon_reason h2::after {
    width: 60px;
    height: 4px;
    background: #0A2647;
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 30px);
}
	#amazon_reason .amazon_reason_flex{
		flex-wrap: wrap;
	}
	#amazon_reason .amazon_reason_flex .item{
		order:2;
		width: 100%;
	}
	#amazon_reason .amazon_reason_flex .item.image{
		order:1;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 1rem;
		width: 100%;
	}
	#amazon_reason .amazon_reason_flex .item.image:nth-child(2){padding-left: 0;
		padding-right: 0;
	}#amazon_reason .amazon_reason_flex .item .num{
		margin-bottom: 1rem;
		font-size: 14px;
	}
	#amazon_reason .amazon_reason_flex .item h3{
		margin-bottom: 1rem;
		font-size: 20px;
	}
	
	#amazon_suport{
		padding: 80px 0;
	}
	#amazon_suport h2,
	#amazon_pricing h2,
	#amazon_voice h2{
		font-size: 24px;
		padding-bottom: 1rem;
		font-weight: bold;
	}
	#amazon_suport h2::after,
	#amazon_pricing h2::after,
	#amazon_voice h2::after{
		width: 60px;
		height: 4px;
		left: calc(50% - 30px);
	}
	#amazon_suport .amazon-support-detail{
		gap: 40px;
	}
	#amazon_suport .amazon-support-block,
	#amazon_suport .amazon-support-block.is-reverse{
		flex-direction: column;
		gap: 20px;
	}
	#amazon_suport .amazon-support-block__img{
		flex: none;
		width: 100%;
		max-width: 280px;
		height: 200px;
		order: -1;
	}
	#amazon_suport .amazon-support-block__img img{
		max-width: 100%;
	}
	#amazon_suport .amazon-support-block__text h3.title{
		font-size: 22px;
		text-align: center;
	}
	#amazon_suport .amazon-support-block__text h3.title span{
		font-size: 12px;
	}
	#amazon_suport .amazon-support-block__text p,
	#amazon_suport .amazon-support-block__text ul li{
		font-size: 14px;
	}
	#amazon_pricing{
		padding: 80px 0 0;
	}
	.amazon-plan-table{
		min-width: 680px;
	}
	.amazon-plan-table thead th{
		font-size: 14px;
		padding: 12px 10px;
	}
	.amazon-plan-table tbody th,
	.amazon-plan-table tbody td{
		padding: 16px 12px;
	}
	.amazon-plan-table tbody th{
		font-size: 15px;
	}
	.amazon-plan-price{
		font-size: 18px;
	}
	.amazon-plan-price .large{
		font-size: 28px;
	}
	.amazon-plan-table ul li{
		font-size: 13px;
	}
	#amazon_voice{
		padding: 80px 0 0;
	}
	#amazon_voice .example{
		display: block;
		margin-bottom: 48px;
	}
	#amazon_voice .example .img{
		width: 100%;
		min-height: 180px;
		margin-bottom: 20px;
		padding: 28px 24px;
	}
	#amazon_voice .example .img img{
		max-width: 200px;
		max-height: 140px;
	}
	#amazon_voice .example .detail{
		width: 100%;
	}
	#amazon_voice .example .detail .company .name{
		font-size: 16px;
	}
	#amazon_voice .example .detail dl dt{
		width: 100%;
		margin-bottom: 6px;
		font-size: 14px;
	}
	#amazon_voice .example .detail dl dd{
		width: 100%;
		margin-bottom: 16px;
		font-size: 14px;
	}
	#amazon_voice .example .detail .comment{
		padding: 18px 20px;
		font-size: 14px;
	}
	#amazon_voice .example .detail .comment::before{
		top: -8%;
		left: 45%;
		margin-top: -12px;
		border: 10px solid transparent;
		border-right: 18px solid #fff;
		transform: rotate(90deg);
	}
	#faq dl dt span::before{
		font-size: 16px;
	}
	#faq dl dt{
		font-size: 16px;
		padding: 1rem 2rem 1rem 1rem;
	}
	#faq dl dd{
		font-size: 16px;
		padding: 1rem;
	}
	#faq dl dt span {
    display: inline-block;
    padding-left: 38px;
	}
	#faq dl dd span {
    padding-left: 1.5rem;
	}
}