@charset "utf-8";
/* CSS Document */

html{
	font-size:62.5%;/*16px×62.5％＝10px*/
	scroll-behavior: smooth;/* スムーススクロール */
}
body{
	color: #122F73;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
}
a{
	display: block;
	width: 100%;
	height: 100%;
	color: #122F73;
	text-decoration: none;
}
a:hover {
	opacity: .8;
}
img{
	max-width: 100%;
	height: auto;
}
main {
	width: 100%;
	overflow: hidden;
}
h2 {
	width: 100%;
	margin: 0 auto;;
	padding-top: 10rem;
	padding-bottom: 6rem;
	font-family: 'Noto Serif JP', serif;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: .05em;
	text-align: center;
}
.sp {
	display: none !important;
}
.invisible:not(button) {
	visibility: hidden;
}

.main_v,
section{
    border-right: 2px solid #122f73;
    border-left: 2px solid #122f73;
    border-top: 1px solid #122f73;
    border-bottom: 1px solid #122f73;
}

/* ----------------
header
---------------- */
header {
	display: flex;
	justify-content: space-between;
    width: 100vw;
	height: 8rem;
    position: fixed;
    background-color: #fff;
    border: 2px solid #122f73;
    z-index: 999;
}
.logo {
	position: relative;
	width: 20%;
	max-width: 33rem;
	min-width: 20rem;
	background-color: #082E77;
}
.logo img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	width: 25rem;
	height: auto;
}
.menu.pc {
	display: flex;
}
.g_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8rem;
	margin-right: 3rem;
	list-style-type: none;
	font-weight: 500;
}
.g_nav li {
	padding: 0 1.2rem;
}
.header_btn {
	position: relative;
	width: 13rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	background-color: #082E77;
}
.header_btn p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	color: #fff;
}

/* ----------------
main visual
---------------- */


.main_v {
	position: relative;
	width: 100%;
	height: 100vh;
	padding-top: 8rem;
	background-image: url(../img/main_bg.png);
	background-position: center;
} 
@media screen and (min-width:768px) {
	.main_v {
		animation: bgloop 30s linear infinite;	
	} 
}
	@keyframes bgloop {
		from {
			background-position: 0 0;
		}
		to {
			background-position: -1920px 0; /*画像の横幅を設定*/
		}
	}


.main_v img{
	width: 100vw;
	height: 100%;
}


.top_txt {
	position: absolute;
	top: 12rem;
	left: 9rem;
	width: 55%;
	min-width: 70rem;
	max-height: 50%;
}


.top_chara {
	position: absolute;
	right: 4rem;
	bottom: 0;
	width: 40%;
	max-height: 80%;
}


.top_catch {
	position: absolute;
	bottom: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 60%;
	margin-left: 4rem;
}
.top_list,.top_list.sp {
	display: flex !important;
	justify-content: space-between;
	width: 100%;
	/* max-width: 100rem; */
	padding: 0;
	list-style-type: none;
}


.top_list li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 33%;
	height: 14rem;
	border: 1px solid #000;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	border-radius: 20px;
	color: #fff;
}
@media screen and (max-width:767px) {
	.top_list li {
		height: 11rem;
	}
}


.top_list li:first-of-type {
	background-color: #122F73;
}
.top_list li:nth-of-type(2) {
	background-color: #122F73;
}
.top_list li:last-of-type {
	background-color: #122F73;
}


.top_list li span {
	color: #ff9d65;
	font-size: 4rem;
	line-height: 4rem;
}
@media screen and (max-width:767px) {
	.top_list li span {
		font-size: 2rem;
		line-height: 3rem;
	}
}


.main_v .btn_box {
	margin-top: 2rem;
}

/* ----------------
top_btn_block
---------------- */
#top_btn_block {
	position: relative;
	z-index: 10;
}

/* ----------------
manga
---------------- */


.manga_box {
background-color: #082e77;
position: relative;
z-index: 99;
}


.manga_img {
	width: 90%;
	max-width: 100rem;
	margin: auto;
	padding: 10rem 0;
}


.manga_copy{
    font-family: 'Noto Serif JP', serif;
    font-size: 4rem;
    font-weight: bold;
    padding: 10rem 0 0;
    text-align: center;
	color: #fff;
}


.manga_copyc{
color: #e5ff6d;
}
.manga_copyc2{
	color: #ff6464;
	}


/* ----------------
benefit
---------------- */
#benefit {
	background: url(../img/benefit_bg.png) top / contain no-repeat;
    border-bottom: none;
}
#benefit .inner {
	width: 90%;
	max-width: 80rem;
	margin: 0 auto;
}
#benefit h2 {
	margin-bottom: 4rem;
}
.bene_cntnt {
	position: relative;
	width: 100%;
	max-width: 78rem;
	margin-left: 2rem;
	margin-bottom: 5rem;
	padding-top: 3rem;
	padding-bottom: 5rem;
	padding-left: 8rem;
	background-color: #F0EDE0;
}
.bene_cntnt::before {
	content: '';
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 100%;
	max-width: 78rem;
	height: 100%;
	border: .2rem solid #122F73;
}
#benefit .inner .bene_cntnt .bene_header {
	display: inline;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	background:linear-gradient(transparent 70%, rgba(212, 108, 48, .4) 70%);
}
.bene_header span {
	color: #D46C30;
	font-size: 4rem;
}
.bene_txt {
	font-weight: 500;
	margin-top: 1rem;
	margin-bottom: 3rem;
}
.bene_answr, .bene_smmry2 {
	display: flex;
	justify-content: left;
	align-items: flex-end;
}
.bene_value {
	position: relative;
	width: 24.2rem;
	height: 7.4rem;
	margin-left: 15.8rem;
	border: 3px solid #122F73;
	background-color: #fff;
	text-align: center;
}
.bene_order {
	position: absolute;
	top: 50%;
	transform: translateX(-50%)translateY(-50%);
	display: inline-block;
	width: 5.2rem;
	height: 5.2rem;
	border-radius: 50%;
	border: 2px solid #E36516;
	color: #E36516;
	font-size: 4rem;
	font-weight: bold;
	line-height: 5rem;
}
.unit {
	margin-left: 1.8rem;
	font-size: 2.4rem;
	font-weight: bold;
}
.smmry_header {
	margin-bottom: 7rem;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}
.bene_smmry1 {
	display: flex;
	justify-content: left;
	margin-bottom: 4rem;
	margin-left: 6.2rem;
}
.bene_smmry1 .bene_value {
	width: 14rem;
	margin: 0;
}
.bene_smmry1 .bene_answr {
	margin: 0 1rem;
}
.bene_smmry2 {
	display: flex;
	margin-left: 31rem;
}
.bene_smmry2 .bene_value {
	margin-left: 4rem;
}
.bene_smmry2 .bene_value {
	color: #E36516;
	font-size: 4rem;
	font-weight: bold;
	line-height: 7.4rem;
}
.summary span {
	font-size: 3rem;
	font-weight: bold;
	line-height: 7.4rem;
}

/* ----------------
profile
---------------- */
#profile {
	background: url(../img/profile_bg.png) bottom / contain no-repeat;
	padding-bottom: 10rem;
    border-top: none;
}
#profile h2 {
	position: relative;
	padding-bottom: 9rem;
	font-family: 'Open Sans', sans-serif;
	font-size: 10rem;
	font-weight: bold;
	letter-spacing: .2em;
}
#profile h2 span {
	position: absolute;
	bottom: 7rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: .1em;
	white-space: nowrap;
}
.prfl_cntnt {
	display: flex;
	width: 100%;
	max-width: 100rem;
	margin: 0 auto;
	border: 2px solid #082E77;
}
.prfl_img {
	width: 40%;
	height: auto;
}
.prfl_txt {
	width: 60.5rem;
	padding: 4.8rem;
	background-color: #fff;
}
.prfl_title {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	text-align: center;
}
.name {
	margin-bottom: 3rem;
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}
.prfl_description {
	margin-bottom: 2rem;
	color: #101010;
	line-height: calc(26 / 16);
}
.prfl_achievement {
	padding-left: 2rem;
	color: #101010;
}

/* ----------------
about
---------------- */


#about {
	padding-bottom: 5rem;
    background-size: cover;
	background-color: #fff;
}


#about .inner {
	width: 108.6rem;
	margin: 0 auto;
}
.about_lead {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem 11rem;
	border: 2px solid #122F73;
	font-size: 2.4rem;
	line-height: calc(44 / 24);
	text-align: center;
    background-color: #f7f5ef;
}
.about_lead span {
	color: #E57129;
	font-size: 3rem;
	font-weight: bold;
}










/* 光案 */

._shiny {
    display: block;
    position: relative;
    /* padding: 1em 1.5em; */
    /* background-color: #1981f7; */
    /* box-shadow: 0 3px 0 0 #0867d4; */
    border-radius: 4px;
    font-weight: bold;
    /* font-size: 16px; */
    max-width: 500px;
    /* color: #fff; */
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    transition: 300ms;
}
._shiny::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 40px;
    height: 100%;
    background-color: #ffffff;
    transition: 300ms;
    animation: shinyshiny 5.5s ease-in-out infinite;
}

@-webkit-keyframes shinyshiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}





.hh {
	position: relative;
	padding: 1em 1em 1em 2em;
	margin: 30px auto;
  }
  .hh::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 0px solid transparent;
	border-right: 50px solid transparent;
	border-left: 50px solid #082e77;
	border-bottom: 50px solid transparent;
  }




  .hh2 {
	border-left: 10px solid #082e77;
    margin: 30px auto;
  }



  .hh3 {
  background-image: url(../img/about_bg.png);
  font-weight: 500;
  }



  .about_lead2 {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    padding: 4rem 11rem 5rem;
    /* border: 2px solid #122F73; */
    font-size: 2.4rem;
    line-height: calc(44 / 24);
    text-align: center;
    background-color: #f0ede0;
	font-weight: 500;
}
@media screen and (max-width:767px) { 
	.about_lead2 {
		padding: 4rem 0rem 6rem;
	margin-left: 20px;
		font-size: 1.8rem;
		line-height: calc(44 / 24);
		text-align: center;
		background-color: #f0ede0;
	}
}

.about_lead2 span {
    color: #E57129;
    font-size: 3rem;
    font-weight: bold;
}
@media screen and (max-width:767px) {
.about_lead2 span {
    font-size: 2.5rem;
}
}


.is-style-vkp-heading-shift-bg{
 position:relative;
}
.is-style-vkp-heading-shift-bg::before {
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    border: 0.2rem solid #122F73;
    margin: unset;
}











.about_box {
	margin-bottom: 0;
	border-left: 2px solid #122F73;
	border-right: 2px solid #122F73;
	padding: 20px 0;
	background-image: url(../img/about_bg.png);
}


.about_following .about_box:nth-child(3), .about_following .about_box:nth-child(4) {
	margin-bottom: 0;
}


.about_title {
	height: auto;
    margin: 0 auto;
    color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 3rem;
    text-align: center;
    padding: 1rem;
}


.about_cntnt {
	padding: 4rem 6.7rem;
	background-color: #fff;
	align-items: center;
}


.about_txt {
	color: #101010;
}
.about_txt2 {
	color: #101010;
}


.about_cntnt .about_txt {
	width: 70%;
}
.about_following .about_txt {
	height: 48rem;
	background-color: #fff;
}


.about_txt span {
	color: #E36516;
	font-size: 2rem;
	font-weight: bold;
}


.about_txt p {
	margin-bottom: 2rem;
}
.about_txt p:last-child {
	margin-bottom: 0;
}


.about_cntnt .about_txt2 {
	width: 90%;
	margin: auto;
}


.about_following .about_txt2 {
	height: 48rem;
	background-color: #fff;
}
.about_txt2 span {
	color: #E36516;
	font-size: 2rem;
	font-weight: bold;
}
.about_txt2 p {
	margin-bottom: 2rem;
}
.about_txt2 p:last-child {
	margin-bottom: 0;
}


.about_img {
	width: 41.7rem;
	height: auto;
	margin: 0 auto;
	padding-top: 4rem;
}

.about_imgfwrap {
margin: 20px auto;
}


.about_imgf {
	width: 41.7rem;
	height: auto;
	margin: 0 auto;
}
@media screen and (max-width:767px) {
	.about_imgf {
		width: 100%;
	}
}


.about_img2 {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding-top: 0;
}
.about_img3 {
	width: 41.7rem;
	height: auto;
	margin: 0 auto;
	padding-top: 4rem;
	margin-bottom: 5rem;
}


.about_following {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.about_following .about_box {
	width: 48%;
}


.about_txt {
	padding: 4rem 4.5rem;
}
@media screen and (min-width:768px) {
.about_txt {
text-align: left;
}
}
.about_txt2 {
	padding: 4rem 0rem 0rem 0rem;
}


.about_txt img {
	width: auto;
	max-height: 20rem;
	margin: 0 auto 4rem;
}
.about_txt2 img {
	height: auto;
	margin: 0 auto 4rem;
	max-width: 80px;
}



/* ----------------
voice
---------------- */
#voice {
	padding-bottom: 16.2rem;
	background-color: #122F73;
}
#voice h2 {
	position: relative;
	padding-top: 6.5rem;
	padding-bottom: 8rem;
	font-family: 'Open Sans', sans-serif;
	font-size: 10rem;
	font-weight: bold;
	letter-spacing: .1em;
	-webkit-text-stroke: 2px #FFF;
	text-stroke: 2px #FFF;
}
#voice h2 span {
	position: absolute;
	bottom: 5rem;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 4rem;
	-webkit-text-stroke:0;
	text-stroke: 0;
}
.voice_cntnt {
	width: 95rem;
	margin: 0 auto;
}


.voice_item {
	position: relative;
	width: 45rem;
	margin: 0 1.25rem;
	padding: 4rem 3.5rem 1rem;
	background-color: #fff;
}


.triangle {
	position: absolute;
	top: 0rem;
	left: 0rem;
	border-right: 7rem solid transparent;
	border-bottom: 6rem solid transparent;
	border-top: 6rem solid #A89752;
	border-left: 7rem solid #A89752;
}
.caseNumber {
	position: absolute;
	top: .7rem;
	left: 1.4rem;
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	text-align: center;
}
.caseNumber span {
	font-size: 4rem;
	line-height: calc(26 / 40);
}
.voice_item img {
	width: 12rem;
	height: 12rem;
	margin: 0 auto 2rem;
}

.voice_title0{
    text-align: center;
    margin: 0 auto 1rem;
    color: #E36516;
    font-size: 150%;
    font-weight: 700;
}
.voice_title{
    text-align: center;
    margin: 0 auto 1rem;
    color: #E36516;
    font-size: 100%;
    font-weight: 700;
}
.voice_title2{
    text-align: center;
    margin: 0 auto 1rem;
    color: #E36516;
    font-size: 100%;
    font-weight: 700;
}

.client {
	margin-bottom: 3rem;
	font-weight: bold;
	text-align: center;
}
.client_voice {
	font-size: 1.5rem;
	line-height: calc(25 / 16);
}
.client_voice p {
	margin-bottom: 2rem;
	color: #101010;
}
.client_voice p:last-child {
	margin-bottom: 0;
}

/* slick */
.slick-dots {
	bottom: -5rem;
}


.slick-prev::before, .slick-next::before{
  color:#fff;
  font-size:60px;
  opacity: .65;
}


.slick-next {
	right: -54px;
}


.slick-prev {
	left: -94px;
}
.slick-dots li button:before {
	color: #fff;
	opacity: 1;
}
.slick-dots li.slick-active button:before {
	color: #E36516;
	opacity: 1;
}

/* ----------------
manga_3
---------------- */
#manga_3 .manga_img {
	padding-top: 10rem;
}

/* ----------------
compare
---------------- */
.cmpr_cntnt {
	padding: 0;
	list-style: none;
}
.cmpr_item {
	position: relative;
    margin-top: 10rem;
}
.cmpr_item:first-of-type{
    margin-top: 0;
}
.cmpr_item:not(:last-child):after {
	content: '';
	position: absolute;
	bottom: -4rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border-top: 4.6rem solid #E1E8F3;
	border-right: 4.5rem solid transparent;
	border-left: 4.5rem solid transparent;
}

.cmpr_item:nth-of-type(odd) {
	background: url(../img/cmpr_bg1.png) bottom / contain no-repeat;
}
.cmpr_item:nth-last-of-type(even) {
	
	background: url(../img/cmpr_bg2.png) bottom / contain no-repeat;
}
.one,
.two,
.three{
    position: absolute;
    top: 5%;
}
.one,.three{
    right: 20%;
}
.two{
    left: 20%;
}
.cmpr_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 90%;
	margin: 0 auto;
}
.cmpr_item:nth-last-of-type(even) .cmpr_inner {
	flex-direction: row-reverse;
}
.cmpr_header {
	width: 45.4%;
	max-width: 55rem;
	text-align: center;
}
/*.cmpr_item:not(:first-child) .cmpr_header {
	margin-top: 4rem;
}*/
.cmpr_number {
	position: relative;
	margin-bottom: 4rem;
	color: #A5975C;
	font-family: 'Open Sans', sans-serif;
	font-size: 8rem;
	font-weight: bold;
}
.cmpr_number::after {
	content: '';
	position: absolute;
	top: 11rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 4.8rem;
	height: .2rem;
	background-color: #A5975C;
}
.empty {
	display: block;
	width: 46.2%;
	max-width: 56rem;
}
.cmpr_item:nth-of-type(odd) .cmpr_header, .cmpr_item:nth-of-type(odd) .cmpr_txt {
	margin-right: 4%;
}
.cmpr_item:nth-of-type(even) .cmpr_header, .cmpr_item:nth-of-type(even) .cmpr_txt {
	margin-left: 4%;
}
.cmpr_item:nth-of-type(odd) .empty, .cmpr_item:nth-of-type(odd) .cmpr_img {
	margin-left: 4%;
}
.cmpr_item:nth-of-type(even) .empty, .cmpr_item:nth-of-type(even) .cmpr_img {
	margin-right: 4%;
}
.cmpr_ttl {
	margin-bottom: 4%;
	font-size: 3rem;
	font-weight: bold;
}


.cmpr_subttl {
	margin-bottom: 3%;
	color: #E36516;
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
}


.cmpr_txt {
	width: 45.4%;
	max-width: 55rem;
	margin-bottom: 10rem;
	font-weight: 500;
	line-height: calc(26 / 16);
}


.cmpr_txt p {
	margin-bottom: 2rem;
	font-size: 1.4rem;
}
@media screen and (min-width:768px) {
	.cmpr_txt p {
		margin-bottom: 2rem;
		font-size: 1.6rem;
	}
}


.cmpr_txt span {
	font-size: 2rem;
    font-weight: 700;
}
.cmpr_img {
	width: 46.2%;
	max-width: 56rem;
}

/* ----------------
btn_block
---------------- */


#btn_block, #top_btn_block {
	display: flex;
	justify-content: center;
	align-items: center;	
	width: 100%;
	height: auto;
	padding: 7rem;
	background-image: url(../img/btn_bg.png);
	background-color: #fff;
	background-size: cover;
}


.btn_header {
	margin-bottom: 3rem;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
}
.btn_box button {
	width: 55rem;
	height: 8rem;
	border: none;
	border-radius: 4rem;
	background-color: #E36516;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	cursor: pointer;
}
.btn_box button span {
	margin-left: 6.7rem;
}

/* ----------------
flow
---------------- */
#flow{
    padding-bottom: 10rem;
}
.flow_img {
	width: 90%;
	max-width: 85rem;
	margin: 0 auto;
}

/* ----------------
qanda
---------------- */
#qanda{
    background-color: #E1E8F3;
}

#qanda h2 {
	position: relative;
	padding-bottom: 9rem;
	font-family: 'Open Sans', sans-serif;
	font-size: 8rem;
	font-weight: bold;
	letter-spacing: .2em;
}
#qanda h2 span {
	position: absolute;
	bottom: 5rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Noto Serif JP', serif;
	font-size: 4rem;
	letter-spacing: .1em;
}
.qa_cntnt {
	margin-bottom: 10rem;
}
.qa_item {
	position: relative;
	width: 90%;
	max-width: 80rem;
	margin: 0 auto 3rem;
}
.qa_item:last-child {
	margin-bottom: 0;
}
.qa_item::before {
	content: '';
	position: absolute;
	top: 2rem;
	right: 2rem;
	display: block;
	width: 2rem;
	height: .2rem;
	color: #122F73;
	z-index: 10;
}
.qa_item span:first-of-type {
	position: absolute;
	top: 2rem;
	right: 2rem;
	width: 2rem;
	height: .2rem;
	color: #122F73;
	z-index: 10;
}
.question {
	cursor: pointer;
}
.answer {
	display: none;
}
.question.open + .answer {
	display: block;
}
.question p {
	position: relative;
	padding: 3.5rem 16rem 3.5rem 14rem;
	border: 1px solid #707070;
	background-color: #F7F5EF;
	font-weight: bold;
}
.answer p {
	position: relative;
	padding: 3.5rem 16rem 3.5rem 14rem;
	border: 1px solid #707070;
	border-top: none;
	background-color: #fff;
	line-height: calc(26 / 16);
}
.question p::before {
	position: absolute;
	top: 50%;
	left: 5rem;
	transform: translateY(-50%);
	content: 'Q';
	display: inline-block;
	margin-right: 4rem;
	color: #122F73;
	font-family: 'Open Sans', sans-serif;
	font-size: 3rem;
	font-weight: bold;
	width: 5rem;
	height: 5rem;
	border-radius: 50px;
	border: 2px solid #122F73;
	background-color: #fff;
	text-align: center;
}
.answer p::before {
	position: absolute;
	top: 50%;
	left: 5rem;
	transform: translateY(-50%);
	content: 'A';
	display: inline-block;
	margin-right: 4rem;
	color: #E36516;
	font-family: 'Open Sans', sans-serif;
	font-size: 3rem;
	font-weight: bold;
	width: 5rem;
	height: 5rem;
	border-radius: 50px;
	border: 2px solid #E36516;
	background-color: #fff;
	text-align: center;
}
.question::before {
	content: '';
	position: absolute;
	top: 4.8rem;
	right: 5rem;
	width: 2rem;
	height: .2rem;
	background-color: #122F73;
	z-index: 10;
}
.question::after {
	content: '';
	position: absolute;
	top: 4.8rem;
	right: 5rem;
	transform: rotate(90deg);
	transition: 300ms;
	width: 2rem;
	height: .2rem;
	background-color: #122F73;
	z-index: 10;
}
.question.open::after {
	transform: rotate(0);
}

/* ----------------
contact
---------------- */
#contact {
	background-color: rgba(165, 151, 92, 24%);
	padding-bottom: 12rem;
}
#contact h2 {
	padding-bottom: 5rem;
}
.cntct_lead {
	margin-bottom: 6rem;
	line-height: calc(26 / 16);
	text-align: center;
}
table {
	width: 90%;
	max-width: 80rem;
	margin: 0 auto 5rem;
	background-color: #fff;
	border-collapse: collapse;
}
th, td {
	border: 2px solid #122F73;
}
th {
	width: 33%;
	padding: 0 4rem 0 4rem;
	text-align: left;
}
th span {
	height: 3rem;
	margin-right: 0;
	padding: .5rem;
	background-color: #E36516;
	color: #fff;
}
.cntct_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
td {
	width: 66%;
}
input, textarea {
	width: 100%;
	height: 100%;
	padding: 3rem 7rem 3rem 4rem;
	border: none;
}
textarea {
	height: 17.5rem;
}
.radio_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	padding: 5rem 7rem 5rem 4rem;
}
.radio_cntnt label {
	font-weight: bold;
}
.radio_cntnt input {
	width: auto;
	margin-right: 1rem;
	cursor: pointer;
}
.submit_btn {
	display: block;
	width: 24rem;
	height: 6rem;
	margin: 0 auto;
	padding: 1rem;
	border-radius: 4rem;
	background-color: #122F73;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
}

/* ----------------
footer
---------------- */
footer {
	position: relative;
	width: 100%;
	height: 18rem;
	padding: 4rem 0 3rem;
	background-color: #122F73;
}
.footer_inner {
	width: 90%;
	max-width: 75.6rem;
	margin: 0 auto;
}
.footer_cntnt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4rem;
}
footer .logo {
	width: 25rem;
	height: 5rem;
}
.footer_txt {
	color: #fff;
}
.copyright {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
}
.cntct_img {
    position: fixed;
    top: auto;
    right: -1rem;
    bottom: -3rem;
    z-index: 100;
    opacity: 0;
    transform: translateY(100px);
    width: 18rem
}
.cntct_img.UpMove{
    animation: UpAnime 0.5s forwards;
}
	@keyframes UpAnime{
		from {
		opacity: 0;
		transform: translateY(100px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
.cntct_img.DownMove{
    animation: DownAnime 0.5s forwards;
}
	@keyframes DownAnime{
		from {
		opacity: 1;
		transform: translateY(0);
		}
		to {
		opacity: 0;
		transform: translateY(100px);
		}
	}




@media screen and (max-width:1279px) {
	.pc {
		display: none !important;
	}
	.pc.tb {
		display: block !important;
	}
	.sp {
		display: block !important;
	}
	.sp.not_tb {
		display: none !important;
	}

	/* menu */
	.openbtn {
        position: relative;
        width: 4rem;
        height: 2.3rem;
        margin-top: 2.5rem;
        margin-right: 2rem;
        cursor: pointer;
        z-index: 10000;
    }
    .openbtn span {
        position: absolute;
        width: 4rem;
        height: .3rem;
        background-color: #082E77;
        transition: all .4s;
    }
    .openbtn span:nth-child(1) {
        top: 0;
    }
    .openbtn span:nth-child(2) {
        top: 1rem;
    }
    .openbtn span:nth-child(3) {
        top: 2rem;
    }
	.openbtn.active span {
		background-color: #fff;
	}
    .openbtn.active span:nth-child(1) {
        transform: rotate(45deg);
        top: 1rem;
    }
    .openbtn.active span:nth-child(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-child(3) {
        transform: rotate(-45deg);
        top: 1rem;
    }
	.sp_menu {
		position: fixed;
		overflow: auto;
		transform: translateX(100%);
        transition: ease .5s;
		width: 100vw;
		height: 100vh;
		background-color: rgba(8, 46, 119, .9);
		text-align: center;
		z-index: 1000;
	}
	.sp_menu.active {
		transform: translateX(0);
        transition: ease .5s;
    }
	.sp_menu .logo {
		width: 25rem;
		height: 5rem;
		margin: 25% auto 10%;
		background-color: transparent;
	}
	.sp_nav{
		list-style-type: none;
		padding-left: 0;
	}
	.sp_nav a {
		color: #fff !important;
		font-weight: bold;
	}
	.sp_nav li {
		margin-bottom: 3rem;
	}
	.sp_menu .cntct_btn {
		width: 20rem;
		height: 5rem;
		margin: 5rem auto;
		background-color: #fff;
	}
	.sp_menu .cntct_btn p {
		font-weight: bold;
		line-height: 5rem;
	}

	/* main_v */


	.main_v {
		background-image: url(../img/main_bg_sp.png);
		background-position-y: 90%;
		background-size: 100%;
	}


	.top_txt {
		right: 0;
		left: 0;
		width: 80rem;
		max-width: 95%;
		min-width: auto;
		margin: 0 auto;
	}


	.top_chara {
		width: 50%;
		max-height: 60%;
		bottom: -24%;
		left: 57%;
		transform: translateX(-50%);
	}


	.top_catch {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		justify-content: space-around;
		width: 90%;
	}
	.main_v .top_list {
		position: absolute;
		top: 53%;
		right: 0;
		left: 0;
		width: 90%;
		margin: 0 auto;
	}
	.top_list li {
		font-size: 1.8rem;
	}
	.main_v .btn_box {
		position: absolute;
		right: 0;
		bottom: 1rem;
		left: 0;
		margin: 0 auto;
		text-align: center;
	}

	/* manga */
	.manga_img {
		max-width: none;
	}
    .manga_copy{
          font-size: 2.4rem;
          padding: 5rem 0 0;
    }
      
	/* profile */
	.prfl_cntnt {
		flex-direction: column;
		align-items: center;
		border: none;
	}
    
	/* about */
    #about {
        background-size: contain;
    }
	#about .inner {
		width: 90%;
	}
	.about_lead {
		padding: 2rem 4rem;
	}
	.about_cntnt {
		flex-direction: column;
	}

	.about_txt {
		padding: 2rem 2.5rem;
	}
	.about_txt2 {
		padding: 4rem 4.5rem 4rem 0rem;
	}

	
	.about_txt2 img {
		height: 10rem;
	}

	.about_cntnt .about_txt {
		width: 100%;
	}
	.about_cntnt .about_txt2 {
		width: 100%;
	}

	/* voice */
	.voice_cntnt {
		width: 60%;
	}

	/* compare */
	.cmpr_inner {
		flex-direction: column !important;
		align-items: center;
		max-width: 95%;
	}
	.cmpr_header, .cmpr_txt {
		width: 100%;
		max-width: none;
	}
	.cmpr_item:nth-of-type(odd) .cmpr_header, .cmpr_item:nth-of-type(odd) .cmpr_txt {
		margin-right: auto;
	}
	.cmpr_item:nth-of-type(even) .cmpr_header, .cmpr_item:nth-of-type(even) .cmpr_txt {
		margin-left: auto;
	}
    .one,.two,.three{
        top: -5%;
        left: 50%;
        transform: translateX(-50%);
    }
	.cmpr_txt {
		order: 2;
		margin: 0 0 5rem;
	}
	.cmpr_img {
		order: 1;
		margin: 0 0 2rem;
	}

	/* contact */
	.cntct_lead {
		width: 90%;
	}
	th {
		padding: 0 3rem;
	}

	/* footer */
	footer {
		height: 25rem;
	}
	.footer_cntnt {
		flex-direction: column;
		gap: 2rem;
	}
	.footer_txt {
		text-align: center;
	}
	/* footer_btn */
	.cntct_img {
		position: fixed;
		top: auto;
		right: -1rem;
		bottom: -3rem;
		z-index: 100;
		opacity: 0;
		transform: translateY(100px);
	}
	.cntct_img.UpMove{
		animation: UpAnime 0.5s forwards;
	}
		@keyframes UpAnime{
			from {
			opacity: 0;
			transform: translateY(100px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}
	.cntct_img.DownMove{
		animation: DownAnime 0.5s forwards;
	  }
		@keyframes DownAnime{
			from {
			opacity: 1;
			transform: translateY(0);
			}
			to {
			opacity: 0;
			transform: translateY(100px);
			}
		}
}

@media screen and (max-width:767px) {
	.pc.tb {
		display: none !important;
	}
	.sp.not_tb {
		display: block !important;
	}
	h2 {
		font-size: 2.4rem;
	}

	/* main_v */
	.top_txt {
		top: 10rem;
	}
	.top_chara {
		width: 75%;
	}
	.top_catch {
		width: 95%;
		margin: 0 auto;
		font-size: 1.6rem;
	}


	.main_v .top_list {
		top: 46%;
		width: 100%;
	}


	.top_list li {
		font-size: 1.5rem;
		letter-spacing: -.02rem;
	}

	/* manga */
	.manga_img {
		width: 100%;
		padding: 5rem 0;
	}
    
	/* benefit */
	.bene_cntnt {
		width: auto;
		padding-left: 1rem;
	}
	.bene_header {
		display: inline-block;
		font-size: 1.8rem;
	}
	.bene_header span {
		font-size: 2.4rem;
	}
	.bene_txt {
		margin-right: 3rem;
	}
	.bene_value {
		width: 18rem;
		margin-left: 0;
	}
	.bene_cntnt .bene_value {
		width: 50%;
	}
	.unit {
		margin-left: 1rem;
	}
	.smmry_header {
		font-size: 1.8rem;
	}
	.bene_smmry1 {
		justify-content: center;
		align-items: center;
		margin-left: 0;
		margin-bottom: 6rem;
        gap: 0.5rem;
	}
	.bene_smmry1 .bene_answr {
		width: 23%;
		margin: 0;
	}
	.bene_answr, .bene_smmry2 {
		justify-content: center;
		margin-left: 0;
	}
	.bene_smmry2 .bene_value {
		margin-left: 1rem;
	}

	/* profile */
	#profile h2 {
		font-size: 4rem;
	}
	#profile h2 span {
		font-size: 1.8rem;
	}
	.prfl_img {
		width: 50%;
	}
	.prfl_txt {
		width: 100%;
		padding: 2rem;
		background-color: transparent;
	}

	/* about */
	.about_lead {
		width: 100%;
		padding: 2rem;
		font-size: 1.8rem;
	}
	.about_lead span {
		font-size: 2.4rem;
	}
	.about_title {
		font-size: 1.6rem;
	}
	.about_cntnt {
		/* flex-direction: column; */
		padding: 2rem;
	}

	.about_cntnt .about_txt {
		width: 100%;
		padding: 0;
	}
	.about_cntnt .about_txt2 {
		width: 100%;
		padding: 0;
	}

	.about_txt span {
		font-size: 1.8rem;
	}
	.about_txt2 span {
		font-size: 1.8rem;
	}


	.about_img {
		width: 100%;
	}
	.about_img3 {
		width: 100%;
	}


	.about_following {
		flex-direction: column;
	}
	.about_following .about_box {
		width: 100%;
	}


	.about_txt img {
		margin-bottom: 2rem;
	}
	.about_txt2 img {
		height: auto;
		margin-bottom: 0;
		max-width: 60px;
	}


	.about_following .about_box:nth-child(3) {
		margin-bottom: 4rem;
	}

	.about_following .about_txt {
		height: auto;
	}
	.about_following .about_txt2 {
		height: auto;
	}
    
	/* voice */
    #voice{
        padding-bottom: 10rem;
    }
	#voice h2 {
		font-size: 4rem;
	}
	#voice h2 span {
		font-size: 1.8rem;
		width: 100%;
	}
	.voice_cntnt {
		width: 100%;
	}
	.voice_item {
		height: auto;
	}

	/* compare */
    .cmpr_item{
        margin-top: 6rem;
    }
	.cmpr_number {
		font-size: 4rem;
	}
	.cmpr_number::after {
		top: auto;
	}
	.cmpr_ttl {
		font-size: 2rem;
        margin-bottom: 10%
	}


	.cmpr_subttl {
		font-size: 2.4rem;
		margin-bottom: 4%;
	} 


	.cmpr_img {
		width: 90%;
		margin: 0 auto 2rem;
	}
    
	/* manga3 */
    #manga_3 .manga_img {
        padding: 5rem 0;
    }


	/* btn_block */
	#btn_block, #top_btn_block {
		padding: 5rem 0;
        background-size: contain;
        height: auto;
	}


	.btn_box {
		width: 98%;
		margin-top: 0;
	}
	.btn_header {
		font-size: 1.6rem;
	}
	.btn_box button {
		display: block;
		width: 80%;
		height: 5rem;
		margin: 0 auto;
		font-size: 1.6rem;
	}
	.btn_box button span {
		margin-left: 1rem;
	}

	/* qanda */
	#qanda h2 {
		font-size: 4rem;
	}
	#qanda h2 span {
		font-size: 1.8rem;
	}
	.question::before, .question::after {
		top: 6rem;
		right: 2rem;
	}
	.question p, .answer p {
		display: table-cell;
		vertical-align: middle;
		width: 80rem;
		max-width: 100%;
		height: 12rem;
		padding: 2rem 5.5rem 2rem 5rem;
	}
	.question p::before, .answer p::before {
		left: 1rem;
		width: 3rem;
		height: 3rem;
		font-size: 1.8rem;
	}

	/* contact */
	.cntct_lead {
		margin: 0 auto 6rem;
        text-align: left;
	}
	th, td  {
		display: block;
		width: 100%;
		border-bottom: none;
	}
	th {
		padding: 2rem;
		background-color: #F7F5EF;
	}
	tr:last-child td {
		border-bottom: 2px solid #122F73;
	}
	input, textarea {
		padding: 2rem;
	}
	input[type="radio"] {
		vertical-align: middle;
		padding: 1.3rem;
	}
	.radio_box {
		flex-direction: column;
		align-items: start;
		padding: 3rem;
	}

	/* footer */
	footer {
		height: 33rem;
	}
	.footer_cntnt {
		margin-bottom: 12rem;
	}
	.cntct_item {
		gap: 1rem;
		justify-content: left;
		align-items: start;
	}
	.cntct_img {
		width: 12rem;
	}
}



	/* 追加 */
	.nfall {
		display: flex;
		margin: 0rem 0 5rem;
	}
		.nfall:last-of-type {
		margin: 0;
	  }

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


	.nfall2 {
		display: flex;
		margin: 0rem 0 5rem;
		padding: 10px 10px 0;
    border: 2px solid #122f73;
	}


		.nfall:last-of-type {
		margin: 0;
	  }

	.nf2A {

		flex: 1;
	}
	.nf2B {
	
		flex: 5;
	}

	.cntct_item1{
		flex: 1;
	}


	.about_txt_img {
    width: auto;
    height: 14rem;
    margin: 0 auto;
}
	@media screen and (max-width: 1279px){
.about_txt_img {
    height: 10rem;
	margin: 0 auto 2rem;
}
	}












	/* solid011 */
.button_solid011 a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 15px 80px 15px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    flex-direction: column;
    border-radius: 8px;
	background: linear-gradient(to right, #FFB819 0%, #F07A14 100%);
	border: solid #ff7a16;
}
@media screen and (max-width: 767px){
	.button_solid011 a {
		padding: 15px 40px 15px;
	}
}

.button_solid011 a span {
    background: #FFF;
    width: 90%;
    text-align: center;
    position: absolute;
    top: -30px;
    filter: drop-shadow(0px 1px 2px #aaa);
    padding: 3px 0;
    font-size: 1.4rem;
    border-radius: 5px;
	color: #122F73;
	font-weight: 500;
}
@media screen and (min-width: 768px){
	.button_solid011 a span {
		background: #FFF;
		width: 90%;
		text-align: center;
		position: absolute;
		top: -40px;
		filter: drop-shadow(0px 1px 2px #aaa);
		padding: 3px 0;
		font-size: 1.8rem;
		border-radius: 5px;
		color: #122F73;
		font-weight: 500;
	}
}

.button_solid011 a span:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border: 5px solid transparent;
    border-top: 5px solid #ffffff;
}
.button_solid011 {
 margin-top: 25px;
}
.button_solid011 a:hover {
    opacity: 1;
}


.about_img4 {
    width: 10%;
    display: inline-block;
    vertical-align: -7px;
}
@media screen and (min-width: 768px){
	.about_img4 {
		vertical-align: -10px;
	}
}


.ir {
    margin-left: 1rem;
}
.stc {
    display: inline-block;
    color: #b80000;
    font-size: 2rem;
    font-weight: bold;
}

.bt {
 font-size: 3rem;
 text-shadow: 0px 0px 5px #494949;
}
@media screen and (max-width: 767px){
	.bt {
		font-size: 2rem;
	   }
	}





	.TopObBox8 {
		z-index: 90;
    position: absolute;
    right: 1%;
    top: 20%;
		}
		@media (min-width:768px) and (max-width:1279px) {
		.TopObBox8 {
			left: 12%;
            top: 65%;
		}
		}
		@media screen and (max-width: 767px){
		.TopObBox8 {
			left: 12%;
            top: 65%;
		}
		}
		
		.TopObBox8 img {
		max-width: 180px;
		}
		@media (min-width:768px) and (max-width:1279px) {
		.TopObBox8 img {
		max-width: 160px;
		}
		}
		@media screen and (max-width: 767px){
		.TopObBox8 img {
		max-width: 95px;
		}
		}
		
		.TopObBoxBalloon {
			opacity : 0;
			transform : translate(0, 0px)scale(0,0);
			transition : all 0.5s;
			transition-delay : 2s;
			}
			.TopObBoxBalloon.active{
			opacity : 1;
			transform : translate(0, 0px)scale(1,1);
			animation: TopObBoxBalloon 3s ease-out .5s 1 normal both;
			}
			@keyframes TopObBoxBalloon {
			0% { transform: scale(1); }
			10% { transform: scale(1.05); }
			20% { transform: scale(1); }
			30% { transform: scale(1.02); }
			40% { transform: scale(1); }
			100% { transform: scale(1); }
			}
			
		.TopObBoxBalloon2 {
			opacity : 1;
			transform : translate(0, 0px)scale(0,0);
			transition : all 0.5s;
			transition-delay : .5s;
			opacity : 1;
			animation: TopObBoxBalloon 3s ease-out .5s infinite normal both;
			}
			@keyframes TopObBoxBalloon {
			0% { transform: scale(1); }
			10% { transform: scale(1.03); }
			20% { transform: scale(1); }
			30% { transform: scale(1.01); }
			40% { transform: scale(1); }
			100% { transform: scale(1); }
			}


			li#animate2 {
				animation-delay: .2s; /* アニメーション開始時間 */
			  }
			  li#animate3 {
				animation-delay: .4s; /* アニメーション開始時間 */
			  }




			  .txt-hide{
				display: none;
				}
				.txt-hide2{
					display: none;
					}
					.txt-hide3{
						display: none;
						}

						.txt-hide3b{
							display: none;
							}
							.txt-hide3c{
								display: none;
								}


						.txt-hide4{
							display: none;
							}
							.txt-hide5{
								display: none;
								}
								.txt-hide6{
									display: none;
									}




				button.more {
				width: 120px;
				margin: 20px auto;
				display: block;
				background-color: #666;
				color: #fff;
				padding:10px 15px;
				border: none;
				outline: 0;
				transition: .5s;
				-erbkit-transition: .5s;
				}

				button.more2 {
					width: 120px;
					margin: 20px auto;
					display: block;
					background-color: #666;
					color: #fff;
					padding:10px 15px;
					border: none;
					outline: 0;
					transition: .5s;
					-erbkit-transition: .5s;
					}

					button.more3 {
						width: 120px;
						margin: 20px auto;
						display: block;
						background-color: #666;
						color: #fff;
						padding:10px 15px;
						border: none;
						outline: 0;
						transition: .5s;
						-erbkit-transition: .5s;
						}



						button.more3b {
							width: 120px;
							margin: 20px auto;
							display: block;
							background-color: #666;
							color: #fff;
							padding:10px 15px;
							border: none;
							outline: 0;
							transition: .5s;
							-erbkit-transition: .5s;
							}
							button.more3c {
								width: 120px;
								margin: 20px auto;
								display: block;
								background-color: #666;
								color: #fff;
								padding:10px 15px;
								border: none;
								outline: 0;
								transition: .5s;
								-erbkit-transition: .5s;
								}



						button.more4 {
							max-width: 350px;
							display: block;
							background-color: unset;
							color: #fff;
							border: none;
							outline: 0;
							transition: .5s;
							-erbkit-transition: .5s;
							border-radius: 20px;
							}

							button.more5 {
							max-width: 350px;
								display: block;
								background-color: unset;
								color: #fff;
								border: none;
								outline: 0;
								transition: .5s;
								-erbkit-transition: .5s;
								border-radius: 20px;
								}

								button.more6 {
									max-width: 350px;
									display: block;
									background-color: unset;
									color: #fff;
									border: none;
									outline: 0;
									transition: .5s;
									-erbkit-transition: .5s;
									border-radius: 20px;
									}


				 
				button.more::after {
				content: "本音は…";
				transition: .2s;
				-erbkit-transition: .2s;
				}
				
				button.more.on-click::after{
				content: "Close";
				}

				button.more2::after {
					content: "本音は…";
					transition: .2s;
					-erbkit-transition: .2s;
					}
					
					button.more2.on-click::after{
					content: "Close";
					}


				button.more3::after {
					content: "本音は…";
					transition: .2s;
					-erbkit-transition: .2s;
					}
					
					button.more3.on-click::after{
					content: "Close";
					}

					


					button.more3b::after {
						content: "本音は…";
						transition: .2s;
						-erbkit-transition: .2s;
						}
						
						button.more3b.on-click::after{
						content: "Close";
						}
						button.more3c::after {
							content: "本音は…";
							transition: .2s;
							-erbkit-transition: .2s;
							}
							
							button.more3c.on-click::after{
							content: "Close";
							}




				button.more4::before {
					transition: .2s;
					-erbkit-transition: .2s;
					font-size: 4rem;
					}
					
					button.more4.on-click::after{
					content: "Close";
					}


				button.more5::before {
					transition: .2s;
					-erbkit-transition: .2s;
					font-size: 4rem;
					}
					
					button.more5.on-click::after{
					content: "Close";
					}

					
				button.more6::before {
					transition: .2s;
					-erbkit-transition: .2s;
					font-size: 4rem;
					}
					
					button.more6.on-click::after{
					content: "Close";
					}





					button.more4.on-click{
						display: none;
						}
						button.more5.on-click{
							display: none;
							} 
							button.more6.on-click{
								display: none;
								}


				


			.stxt{
				text-align: center;
				}






			.about_boxall{
			width: 100vw;
			position: relative;
			left: 50%;
			transform: translateX(-50%);
			}


			.about_box13{
			display: flex;
			}
			@media screen and (max-width:767px) {
				.about_box13{
				    flex-direction: column;
					}
				}


			.about_box13c{
				margin: 30px 10px;
			background-color: #fff;
			flex: 1;
				}
				@media screen and (max-width:767px) {
					.about_box13c{
						margin: 20px 10px;
						}
					}


					.about_box13c2 {
						margin: 30px auto;
						background-color: #fff;
						max-width: 700px;
					}
					@media screen and (max-width:767px) {
						.about_box13c2{
							margin: 10px;
							}
						}




	


/* ランダムに揺れる */

.btn {
    color: #fff;
    background: rgba(127, 194, 239, .5);
    padding: .3em .5em;
    margin-bottom: .3em;
    border-radius: .3em;
    text-align: center;
    display: table; 
}
.btn:hover {
    cursor: pointer;    
}
.btn:active {
    background: rgb(127, 194, 239);
}

.box {
    border-radius: .3em;
}


/* checkbox non-display */
.add-control .chk{
    display: none;
}
/* button control */
.add-control #open-close ~ .box {
    display: none ;
}
.add-control #open-close ~ .btn-open-close .open {
    display: inline;
}
.add-control #open-close ~ .btn-open-close .close {
    display: none;
}

.add-control #open-close:checked ~ .btn-open-close .open {
    display: none;
}
.add-control #open-close:checked ~ .btn-open-close .close {
    display: inline;
    display: none;
}
.add-control #open-close:checked ~ .box {
    display: block ;
}

.add-control #open-close:checked ~ .btn {
    display: none;
}










.txt-hide{
    display: none;
    }
    .txt-hide2{
        display: none;
        }
        .txt-hide3{
            display: none;
            }

    button.more {
    width: 120px;
    margin: 20px auto;
    display: block;
    background-color: #666;
    color: #fff;
    padding:10px 15px;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
    }

    button.more2 {
        width: 120px;
        margin: 20px auto;
        display: block;
        background-color: #666;
        color: #fff;
        padding:10px 15px;
        border: none;
        outline: 0;
        transition: .5s;
        -erbkit-transition: .5s;
        }

        button.more3 {
            width: 120px;
            margin: 20px auto;
            display: block;
            background-color: #666;
            color: #fff;
            padding:10px 15px;
            border: none;
            outline: 0;
            transition: .5s;
            -erbkit-transition: .5s;
            }

     
    button.more::after {
    content: "Read More";
    transition: .2s;
    -erbkit-transition: .2s;
    }
    button.more.on-click::after{
    content: "Close";
    }


    button.more2::after {
        content: "Read More";
        transition: .2s;
        -erbkit-transition: .2s;
        }
        button.more2.on-click::after{
        content: "Close";
        }


    button.more3::after {
        content: "Read More";
        transition: .2s;
        -erbkit-transition: .2s;
        }
        button.more3.on-click::after{
        content: "Close";
        }




		button.more3b::after {
			content: "Read More";
			transition: .2s;
			-erbkit-transition: .2s;
			}
			button.more3.on-click::after{
			content: "Close";
			}
			button.more3c::after {
				content: "Read More";
				transition: .2s;
				-erbkit-transition: .2s;
				}
				button.more3.on-click::after{
				content: "Close";
				}









        
/* ----------------
compare
---------------- */


.cmpr_cntnt {
	padding: 0;
	list-style: none;
    display: flex;
}
@media screen and (max-width:767px) {
	.cmpr_cntnt {
		flex-direction: column;
	}
}


.cmpr_item1 {
	position: relative;
    margin-top: 5rem;
    flex: 1;
}
.cmpr_item2{
	position: relative;
    margin-top: 5rem;
    flex: 1;
}


.cmpr_item:first-of-type{
    margin-top: 0;
}
.cmpr_item:not(:last-child):after {
	content: '';
	position: absolute;
	bottom: -4rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border-top: 4.6rem solid #E1E8F3;
	border-right: 4.5rem solid transparent;
	border-left: 4.5rem solid transparent;
}



.one,
.two,
.three{
    position: absolute;
    top: 5%;
}
.one,.three{
    right: 20%;
}
.two{
    left: 20%;
}
.cmpr_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 90%;
	margin: 0 auto;
}
.cmpr_item:nth-last-of-type(even) .cmpr_inner {
	flex-direction: row-reverse;
}
.cmpr_header {
	width: 45.4%;
	max-width: 55rem;
	text-align: center;
}
/*.cmpr_item:not(:first-child) .cmpr_header {
	margin-top: 4rem;
}*/
.cmpr_number {
	position: relative;
	margin-bottom: 4rem;
	color: #A5975C;
	font-family: 'Open Sans', sans-serif;
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
}
.cmpr_number::after {
	content: '';
	position: absolute;
	top: 8rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 4.8rem;
	height: .2rem;
	background-color: #A5975C;
}
.empty {
	display: block;
	width: 46.2%;
	max-width: 56rem;
}
.cmpr_item:nth-of-type(odd) .cmpr_header, .cmpr_item:nth-of-type(odd) .cmpr_txt {
	margin-right: 4%;
}
.cmpr_item:nth-of-type(even) .cmpr_header, .cmpr_item:nth-of-type(even) .cmpr_txt {
	margin-left: 4%;
}
.cmpr_item:nth-of-type(odd) .empty, .cmpr_item:nth-of-type(odd) .cmpr_img {
	margin-left: 4%;
}
.cmpr_item:nth-of-type(even) .empty, .cmpr_item:nth-of-type(even) .cmpr_img {
	margin-right: 4%;
}
.cmpr_ttl {
	margin-bottom: 4%;
    margin-top: 4%;
	font-size: 3rem;
	font-weight: bold;
    text-align: center;
}


.cmpr_subttl {
	margin-bottom: 3%;
	color: #E36516;
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
}


.cmpr_txt {
	width: 80%;
    max-width: 55rem;
    margin: auto;
    margin-bottom: 0;
    font-weight: 500;
    line-height: calc(26 / 16);
    font-size: 2rem;
}


.cmpr_txt p {
	margin-bottom: 2rem;
	font-size: 2rem;
}
@media screen and (min-width:768px) {
	.cmpr_txt p {
		margin-bottom: 2rem;
		font-size: 2rem;
	}
}


.cmpr_txt span {
	font-size: 2rem;
    font-weight: 700;
}
.cmpr_img {
	width: 46.2%;
	max-width: 56rem;
}



	/* 追加 */
	.nfall {
		display: flex;
		margin: 0rem 0 5rem;
	}
		.nfall:last-of-type {
		margin: 0;
	  }

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


	.nfall2 {
		margin: 0rem 0 5rem;
		padding: 10px 10px 0;
    border: 2px solid #122f73;
	}


		.nfall:last-of-type {
		margin: 0;
	  }

	.nf2A {

		flex: 1;
	}
	.nf2B {
	
		flex: 5;
	}

	.cntct_item1{
		flex: 1;
	}


	.about_txt_img {
    width: auto;
    height: 14rem;
    margin: 0 auto;
}
	@media screen and (max-width: 1279px){
.about_txt_img {
    height: 10rem;
	margin: 0 auto 2rem;
}
	}



    .about_img2 {
        height: auto;
        margin: 0 auto;
        padding-top: 0;
    }
    .about_img2 img {
        width: 50%;

    }
    .about_imgh {
        height: auto;
        margin: 0 auto;
        padding-top: 0;
        text-align: center;
    }
    .about_imgh img {
        width: 80%;
		margin: auto;
    }	
	.about_imghs {
        height: auto;
        margin: 0 auto;
        padding-top: 0;
        text-align: center;
    }
    .about_imghs img {
        width: .5%;
		margin: auto;
    }	
	
	

	.cc {
      margin-bottom: 100px;
    }	



	.under {
		background: linear-gradient(transparent 70%, #fff300 70%);
		}



		/* ------------キラリ------------ */
.shinybtn {   
	overflow: hidden;
	}
	.shinybtn::before {
	position: absolute;
	content: '';
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	animation: shinybtn 3s ease-in-out infinite;
	}
	@media screen and (max-width:767px) {
		.shinybtn::before {
			animation: unset;
			}
		}
	@-webkit-keyframes shinybtn {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
	}




	.flowa {
		border-top: 25px solid #ff6d6d;
		border-left: 70px solid transparent;
		border-right: 70px solid transparent;
		content: "";
		position: absolute;
		bottom: -30px;
		left: 50%;
		margin-left: -70px;
		animation-name: FlowUpDow;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-direction: alternate;
		animation-duration: 1s;
	}
	@keyframes FlowUpDown {
		0% {
		transform: translate(0,0px);
		}
		100% {
		transform: translate(0,7px)
		}
		}



		.sw {
			color: brown;
			border: 1px solid;
			padding: 10px;
		}



		.delay {
			animation-delay: 1s;
		  }

		  .ctt {
			font-size: 2rem;
			font-weight: bold;
			color: #f5ff00;
		}
		.ctt2 {
			font-size: 5rem;
			font-weight: bold;
			display: contents;
			text-shadow: 0px 0px 7px #2b2b2b;
		}
		.ctt3 {
			font-size: 2rem;
			color: black;
			background: #ffdc45;
			padding: 7px;
			border-radius: 10px;
			border: solid #ff7a16;
		}
		.fc {
			font-size: 3rem;
			margin-right: 5px;
			vertical-align: 15px;
			transform: scalex(-1);
			text-shadow: 0px 0px 7px #2b2b2b;
		}