
/* 全体設定 */

html {
	scroll-behavior: smooth;
}

body {
  	line-height: 1.6;
  	font-family: "Arial", sans-serif;
  	font-size: 18px;
  	box-sizing: border-box;
  	padding: 0 !important;
  	margin:0 !important;
  	color: #333;
}

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

img {
 	max-width: 100%;
}

.sp {
  	display: none;
}

.inner {
  	width: 1080px !important;
  	margin: 0 auto !important;
  	text-align: center !important;
}

.content {
	margin-bottom: 180px !important;
}

.flex {
	display: flex;
	align-items: center;
}

p {
	margin:0;
}

a {
	text-decoration: none;
	color: #333;
}

.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

h2 {
	font-size: 60px;
	line-height: 1.2;
	font-weight: bold;
	padding-bottom: 20px;
	border-bottom: 5px solid #973436;
	position: relative;
	/*width: 80%;
	margin:0 auto;*/
}

h2 span {
	font-size: 80px;
	color: #973436;
}

h2:before{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: 45%;
    bottom: -43px;
    border-width: 40px 50px 0 50px;
    border-style: solid;
    border-color: #973436 transparent transparent transparent;
}

h2:after{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: 45%;
    bottom: -36px;
    border-width: 40px 50px 0 50px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}



/* ヘッダー */

header {
	background: #973436;
	height: 50px;
	color: #fff;
	width: 100%;
	position: fixed;
	z-index: 99;
}

.header_info {
	display: inline-block;
	line-height: 50px;
	float: left;
}

.header_info p {
	font-size: 12px;
	height:50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_info i {
	font-size: 30px;
	margin:0 10px;
}

.header_info a {
	font-size: 30px;
	color: #fff;
	font-weight: bold;
}

.header_contact {
	background: #FFF57E;
	display: inline-block;
	float: right;
	line-height: 50px;
	width: 250px;
	text-align: center;
}

.header_contact a {
	display: block;
	font-size: 14px;
	transition: .5s;
}

.header_contact a i {
	margin-left: 30px;
}


.header_contact a:hover {
	letter-spacing: 0.15em;
}



/* ヘッダー下 帯 */

.band {
	height:150px;
	background: #FFFBF4;
	padding-top: 50px;
}

.logo {
	width: 15%;
	height:150px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.catch_copy {
	font-size: 45px;
	font-family: "Arial", sans-serif;
	font-weight: bold;
	font-style: italic;
	height:150px;
	width: 85%;
	display: flex;
	justify-content: center;
	align-items: center;
}



/* メインビュー */

.main_view {
	position: relative;
}

.mv_btn {
	position: absolute;
	bottom: 30px;
	right: 10%;
	z-index: 2;
	display: block;
	padding:15px 80px;
	font-size: 26px;
	border-radius: 50px;
	background: #F7931E;
	border:2px solid #F7931E;
	color: #fff;
	transition: .5s;
}

.mv_btn i {
	margin-left: 20px;
}

.mv_btn:hover {
	background: #fff;
	color: #F7931E;
}



/* キャッチコピー */

.catch {
	padding-top: 100px;
}

.catch .copy {
	font-size: 70px;
	line-height: 1;
	letter-spacing: 4px;
	font-weight: bold;
	margin-bottom: 80px;
}

.catch .copy span {
	font-size: 55px;
	letter-spacing: 0;
	font-weight: normal;
}

.catch .explanation {
	font-size: 24px;
	margin-bottom: 80px;
}

.catch .explanation span {
	font-size: 36px;
	color: #973436;
	font-weight: bold;
}



/* 友の会の特徴 */

.feature ,.member ,.faq {
	background: #FFFBF4;
	padding:100px 0;
}

.feature_area .feature_ttl ,.member_area .member_ttl ,.faq_area .faq_ttl {
	font-size: 60px;
	line-height: 1.2;
	font-weight: bold;
	color: #973436;
}

.feature_content ,.member_content {
	display: flex;
	flex-wrap: wrap;
	margin:50px 0;
	justify-content: center;
}

.feature_content .feature_item {
	margin: 1%;
    padding: 1%;
    width: calc(25% - 4%);
}

.main_price {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 40px;
}

.main_price img {
	width: 40%;
	margin-left: 20px;
}

.first {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 3px;
	margin-bottom: -20px;
}

.first span {
	font-size:40px;
	color: #973436;
}

.off {
	font-size: 60px;
	font-weight: bold;
	letter-spacing: 3px;
}

.off span {
	font-size:100px;
	color: #973436;
}

.off i {
	font-size:80px;
	margin:0 25px;
}

.off i.mirror {
	transform: scaleX(-1);
  	display: inline-block;
}



/* 友の会とは */

.service_area {
	margin:80px 0;
}

.service_area .service_ttl {
	font-size: 30px;
	margin-bottom: 100px;
}

.service_example {
	font-size: 24px;
	margin-bottom: 50px;
	text-align: left;
	border-left: 10px solid #973436;
}

.service_area img {
	margin-bottom: 50px;
}

.price_btn {
	display: block;
	width: 35%;
	margin:50px auto;
	padding:15px 80px;
	font-size: 26px;
	border-radius: 50px;
	background: #F7931E;
	border:2px solid #F7931E;
	color: #fff;
	transition: .5s;
}

.price_btn i {
	margin-left: 20px;
}

.price_btn:hover {
	background: #fff;
	color: #F7931E;
}



/* 3つのポイント */

.point_content {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:80px 0;
}

.point_content .img_area {
	width: calc(30%);
}

.point_content .txt_area {
	width: calc(70%);
	display: flex;
	justify-content: center;
}

.point_content .txt_area .point_number {
	font-size: 120px;
    font-weight: bold;
    padding:0 30px;
    color: #973436;
    width: 20%;
}

.point_content .txt_area .point_txt {
	text-align: left;
	font-size: 20px;
	width: 80%;
}

.point_content .txt_area .point_txt h4 {
	font-size: 26px;
	color: #973436;
	margin:0;
	font-weight: bold;
}



/* 会員特典 */

.member_content .member_item {
	margin: 1%;
    padding: 3% 1% 1%;
    width: calc(25% - 6%);
    position: relative;
    border: solid 6px #973436;
}

.member_content .member_item .box_ttl {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #973436;
    color: #ffffff;
    font-weight: bold;
}

.member_content .member_item p {
    margin: 0;
    padding: 0;
    font-size: 24px;
    line-height: 1.4;
}

.member_content .member_item p .stand {
	font-size: 34px;
	color: #973436;
	font-weight: bold;
}

.member_content .member_item p .annotation {
	font-size: 16px;
	line-height: 1;
	display: block;
	margin-top: 10px;
}



/* ご利用プラン(料金) */

.price_ttl {
	margin:80px auto 20px;
	width: 50%;
	font-size: 30px;
	border-bottom: 2px solid #333;
}

.price_subttl {
	font-size: 20px;
	margin-bottom: 30px;
}

.price_table {
	width: 100%;
	border-collapse:separate;
  	border-spacing: 0;
  	border-right: 1px solid #3c6690;
  	margin-bottom: 30px;
}

.price_table th{
	  color:#fff;
	  background: #3c6690;
	  border-left: 1px solid #fff;
	  border-top: 1px solid #3c6690;
	  border-bottom: 1px solid #3c6690;
	  width: 33%;
	  padding: 15px 0;
	  font-size: 24px;
}

.price_table th:first-child {
	border-left: 1px solid #3c6690;
}

.price_table td {
	border-left: 1px solid #3c6690;
  	border-bottom: 1px solid #3c6690;
  	padding: 15px 0;
  	font-size: 24px;
}

.price_txt {
	text-align:left;
	margin-bottom: 100px;
}

.price_txt p {
	padding-left: 1em ;
	text-indent: -1em;
	line-height: 1.2;
	margin-bottom:5px;
}



/* お客様の声 */

.voice_content {
	margin:100px 0;
}

.voice_item {
	display: flex;
	flex-wrap: wrap;
	border-bottom:2px dashed #cfcfcf;
	padding:30px 20px;
}

.voice_item:last-child {
	border-bottom:none;
}

.voice_img {
	margin: 1%;
    width: calc(60% - 4%);
}

.voice_txt {
	margin: 1%;
	padding:2%;
    width: calc(40% - 4%);
    background-color: #F3EFE3;
    border-radius: 10px;
    text-align: left;
}

.voice_txt p {
	font-size: 20px;
}




/* よくある質問 */

.faq_content {
	margin-top:80px;
}

.faq_box {
  width: 80%;
  margin: 0 auto;
}

.faq_box .qa {
  padding: 20px 0;
  border-bottom: 1px solid #c8c8c8;
}

.faq_box .qa dt,
.faq_box .qa dd {
  display: flex;
  align-items: baseline;
  margin: 15px 0;
}

.faq_box .qa dt p {
  margin: 0;
  padding-left: 15px;
  font-weight: bold;
  width: 100%;
  text-align:left;
}

.faq_box .qa dd p {
  margin: 0;
  padding-left: 15px;
  width: 100%;
  text-align:left;
}

.faq_box .qa:last-of-type {
  border-bottom: none;
}

.faq_box .qa dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #6699b7;
  width: 2em;
  height: 2em;
}

.faq_box .qa dd::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #d65556;
  width: 2em;
  height: 2em;
}



/* CTA */

.cta {
	background: #973436;
	padding:100px 0;
}

.cta_ttl {
	font-size: 40px;
	line-height: 1.2;
	font-weight: bold;
	color: #fff;
	letter-spacing: 5px;
	margin-bottom: 30px;
}

.cta_subttl ,.cta_telttl{
	font-size: 20px;
	line-height: 1.2;
	color: #fff;
	letter-spacing: 5px;
	margin-bottom: 30px;
}

.cta_btn {
	display: block;
	width: 48%;
	margin:50px auto;
	padding:15px 80px;
	font-size: 26px;
	border-radius: 50px;
	background: #FFF57E;
	border:2px solid #FFF57E;
	transition: .5s;
}

.cta_btn i {
	margin-left: 20px;
}

.cta_btn:hover {
	background: #fff;
	letter-spacing: 0.15em;
}

.cta_tel {
	width: 70%;
	margin:30px auto;
}



/* フッター */

footer {
	background: #973436;
	padding:0 0 50px;
}

footer p {
	font-size: 14px;
	color: #fff;
	text-align:center;
}



























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

.inner {
    width: 96% !important;
}

.content {
    margin-bottom: 120px !important;
}

.header_contact {
    margin-right: -3%;
    line-height: 51px;
}

.catch_copy {
    font-size: 42px;
}

.mv_btn {
    bottom: 30px;
    right: 10%;
    padding: 10px 60px;
    font-size: 20px;
}

.feature_content .feature_item {
    width: calc(35% - 4%);
}

.main_price img {
    width: 50%;
}

.price_btn {
    width: 50%;
}

.member_content .member_item {
    width: calc(40% - 6%);
}

.price_table th span {
	display: block;

}

.cta_btn {
    width: 70%;
}

.cta_tel {
    width: 90%;
}

footer {
    margin-top: -5px;
}


}






















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

.header_contact {
    line-height: 50px;
}

.catch_copy {
    font-size: 35px;
}

.mv_btn {
    bottom: 20px;
    right: 5%;
    padding: 10px 60px;
    font-size: 15px;
}

.feature_content .feature_item {
    width: calc(40% - 4%);
}

.point_content {
	display: block;
}

.point_content .img_area {
    width: auto;
}

.point_content .txt_area {
    width: 100%;
    display: flex;
    justify-content: center;
}

.member_content .member_item {
    width: calc(45% - 6%);
}

.voice_item {
    width: 80%;
    margin:0 auto;
}

.voice_img {
    width: auto;
    order: 1;
}

.voice_txt {
    width: auto;
    order: 2;
}


.faq_box {
    width: 94%;
}



}















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

.sp {
	display: block;
}

.pc {
	display: none;
}

h2 {
    font-size: 30px;
}

h2:before ,h2:after {
    left: 35%;
}

.header_info {
    width: 50%;
    padding: 8px 0
}

.header_info p {
    display: block;
    font-size: 10px;
    line-height: 1.2;
}

.header_info a ,.header_info i {
    display: inline-block;
    font-size: 20px;
}

.header_info i {
	margin: 0 5px;
}

.header_contact {
    width: 50%;
    margin-right:-2%;
}

.header_contact a i {
	display: none;
}


.band {
    height: auto;
}

.flex {
    display: block;
}

.logo {
    width: 30%;
    margin: 0 auto;
    height: auto;
    padding: 10px 0;
}

.catch_copy {
    font-size: 32px;
    height: auto;
    width: 100%;
    padding:10px 0;
}

.mv_btn {
    bottom: 20px;
 	right:  50%;
    transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    padding: 10px 20px;
    font-size: 20px;
    width: 65%;
}

.mv_btn i {
    margin-left: 15px;
}

.catch .copy {
    font-size: 50px;
}

.catch .copy span {
    font-size: 36px;
}

.catch .explanation {
    font-size: 20px;
}

.catch .explanation span {
    font-size: 28px;
}

.feature_area .feature_ttl, .member_area .member_ttl, .faq_area .faq_ttl {
    font-size: 30px;
}

.feature_content .feature_item {
    width: calc(48% - 4%);
}

.main_price {
    display: block;
}

.main_price img {
    width: 90%;
    margin-left: 0;
}

.first {
    letter-spacing: 0px;
}

.off span {
	font-size:90px;
}

.off i {
	font-size:70px;
	margin:0 15px;
}


.price_btn {
    width: 70%;
    padding: 15px 20px;
    font-size: 20px;
}

.service_area .service_ttl {
    font-size: 15px;
    margin-bottom: 50px;
}


.service_example {
    font-size: 16px;
}

.point_content .txt_area {
    display: block;
}

.point_content .txt_area .point_number {
    font-size: 100px;
    width: auto;
}

.point_content .txt_area .point_txt {
    width: auto;
}

.member_content .member_item {
    width: calc(85% - 6%);
    margin-bottom: 20px;
}

.member_content .member_item p {
    padding: 20px 0 10px;
}

.price_ttl {
    width: 100%;
    font-size: 24px;
}

.price_subttl {
    font-size: 18px;
}

.price_table th {
    font-size: 14px;
}

.price_table td {
    font-size: 18px;
}

.voice_item {
    width: auto;
    padding:30px 0;
}

.cta_ttl {
    font-size: 26px;
}

.cta_subttl, .cta_telttl {
    font-size: 15px;
}

.cta_btn {
	width: 80%;
    padding: 15px 20px;
    font-size: 16px;
}

.cta_btn i {
    margin-left: 10px;
}




}