@charset "UTF-8";



/* --------------------------------
	common
-------------------------------- */
body {
	background: #e6ebee;
}

@media screen and (min-width: 768px) {
	.js-responsiveImg {
		visibility: hidden;
	}
}

.clearfix {
    overflow: hidden;
}

a.fade:hover{
	opacity: 0.8;
}
/* --------------------------------
	header
-------------------------------- */
header {
	background: #fff;
}

.top_header {
	padding: 0 3.125% 13px;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.top_header {
		padding-bottom: 40px;
	}
}

.header_title {
	position: relative;
	z-index: 2;
	margin-top: -1px;
	padding: 20px 3.125%;
	background: #0f3751;
	text-align: center;
}


/* --------------------------------
	contents
-------------------------------- */

.cp_banner {
  margin: 20px 3.125% 0;
  text-align: center;
}

.hatsuwari_banner{
	img {
		width: 100%;
		height: auto;
	}
}


@media screen and (min-width: 768px) {
  .cp_banner {
    margin: 40px auto 0;
		max-width: 800px;
  }
  .cp_banner a:hover {
    opacity: 0.7;
  }

}

.full_wrapper_2nd {
	background: #e6ebee;
}

.cont_wrapper,
.full_wrapper_2nd .cont_wrapper {
	padding: 20px 3.125% 40px;
	text-align: center;
	margin: auto;
}

.tab_wrapp {
	position: relative;
	z-index: 1;
	background: #fff;
}

.tab_menu {
	padding: 0 3.125%;
}

.tab_menu li {
	width: 50%;
	float: left;
}

.tab_menu,
.cont_wrapper ul,
.box_entry01,
.box_entry02,
.box_entry03,
.box_entry04 {
	max-width: 640px;
	margin: auto;
}

.cont_wrapper .plan1,
.cont_wrapper .plan3,
.cont_wrapper .plan2 {
	background: #FFF;
	padding: 4px;
	box-shadow: inset 0 0 0 4px #2c9be6;
	border-radius: 0 8px 0 0;
	-webkit-border-top-right-radius: 8px;
	-moz-border-radius-topright: 8px;
	margin-bottom: 10px;
	overflow: hidden;
}

.cont_wrapper .plan1 h3,
.cont_wrapper .plan2 h3,
.cont_wrapper .plan3 h3 {
	margin: -2px -2px 0 -2px;
	background: #2c9be6;
	padding: 2px 0 4px;
}


.cont_wrapper p.plan_img {
	position: relative;
	display: inline-block;
	margin-bottom: 10px;
}
:where(.pro_cont) .cont_wrapper p.plan_img {
	margin-top: 10px;
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.cont_wrapper p.plan_img {
		/* margin-top: 30px; */
	}
}

.cont_wrapper .plan1 h3 img,
.cont_wrapper .plan2 h3 img,
.cont_wrapper .plan3 h3 img {
	width: auto;
}

.plan3_ttl_img > img {
	position: relative;
	left: -5.5%;
}
@media screen and (min-width: 768px) {
	.plan3_ttl_img > img {
		position: relative;
		left: auto;
	}
}

.area_price {
  display: block;
  position: absolute;
  top: 46.9%;
  right: 3.8%;
  text-decoration: none;
	width: 20.2%;
}

.group_banner {
	margin: 20px auto;
	padding: 0 7.666%;
}

.group_banner a img:hover{
	opacity:0.6; filter:alpha(opacity=60); display:inline-block; zoom:1;
}



/* autoTranslate */
.autoTranslate{
	padding: 15px 0;
	margin:  15px 7.666% 0;
	background: #ebf0f2;
}
.autoTranslate_cap{
	width: 70.23%;
	max-width: 309px;
	margin: 0 auto 17px;
}
.autoTranslate_pic{
	padding: 0 15px;
	margin:  0 auto 15px;
}
.autoTranslate_lead_cap{
	width: 56.4%;
	max-width: 282px;
	margin: 0 15px 10px;
}
.autoTranslate_lead_txt{
	font-size: 11px;
	margin: 0 15px;
	text-align: left;
}
@media screen and (min-width: 768px) {

	.autoTranslate{
		padding: 20px;
		width: 738px;
		margin:  320px auto 33px;
	}
	.autoTranslate_cap{
		width: 70.23%;
		max-width: 309px;
		margin: 0 auto 25px;
	}

	.autoTranslate_col{
		float: left;
		display: inline-block;
	}
	.autoTranslate_col.col-pic{
		width: 370px;
	}
	.autoTranslate_col.col-lead{
		width: 303px;
		margin-left: 25px;
	}

	.autoTranslate_pic{
		padding: 0;
		margin:  0;
	}
	.autoTranslate_lead_cap{
		width: auto;
		max-width: 100%;
		margin: 0 0 20px;
		text-align: left;
	}
	.autoTranslate_lead_txt{
		font-size: 14px;
		margin: 0;
	}
}



.plan3 .area_price {
	top: 44%;
  right: 8.8%;
}

.cont_wrapper .plan_content {
	position: relative;
  padding: 25px 0 20px;
}


.plan3 .plan_content {
	padding: 25px 0 0;
}

.plan2 .plan_content {
	padding: 25px 0 2%;
}

.plan_point {
	padding: 0 7.666%;
}

.plan_lead {
	margin: 15px 0 -15px;
}

.plan_point img,
.merit img {
margin-bottom: 5px;
}

.plan_box_btn1 {
	padding: 20px 7.666% 0;
	clear: both;
}

.plan_box_btn2 {
	padding: 15px 7.666%;
	clear: both;
}

.plan_box_btn1 img,
.plan_box_btn2 img,
.entry_btn img {
	width: auto;
}

.plan_box_btn1,
.pro_detail_btn,
.area_select,
.entry_btn {
	clear: both;
}

.pro_detail_btn a.text_link,
.pro_difference_btn a.text_link,
.area_select a,
.entry_btn a.text_link {
	display: inline-block;
	padding: 10px 30px;
	clear: both;
  font-weight: bold;
	margin-top: 10px;
}

.pro_difference_btn a.text_link{
	margin-top: 10px;
	margin-bottom: 10px;
}

.box_entry01,
.box_entry02,
.box_entry03 {
	margin: 0 auto 10px;
	padding-bottom: 20px;
	border-bottom: 2px solid #FFF;
}

.entry_btn_area {
	background: #FFF;
	padding: 10px 7.666%;
}

.entry_btn_area a.btn {
	margin: 0 auto;
}

.plan_attention {
  margin: -5px 7.666% 0;
  padding: 20px;
  background: #ebf0f2;
}
@media screen and (max-width: 767px) {
  .plan_attention .hidden-sp {
    display: none;
  }
}
.plan_attention dl {
  text-align: left;
}
.plan_attention dt {
  color: #2a94db;
  font-size: 14px;
  font-weight: bold;
}
.plan_attention dd {
  margin: 7px 0;
  font-size: 12px;
  line-height: 1.333;
}
.plan_attention dd a {
  color: #2c9be6;
}
.link_other_plan {
  margin: 10px 7.666% 0;
  /* text-align: center; */
  text-align: right;
}
.link_other_plan a.text_link {
  display: inline-block;
	padding: 0;
  color: #2a94db;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .plan_attention {
    display: flex;
    justify-content: space-between;
    margin: 15px 30px 0;
  }
  .plan_attention dt {
    font-size: 20px;
  }
  .plan_attention dd {
    margin: 14px 0;
    font-size: 16px;
    line-height: 1.5;
  }
  .link_other_plan {
    margin: 10px 30px 0;
		text-align: right;
  }
}


/* plan_type 2023 11/22 */

.plan_type {
	margin-top: 15px;
	padding: 0 3.125%;
}

.plan_type_inner {

}

.plan_type_item {
	padding: 22px 8.33%;
	background-color: #fff;
}

.plan_type_item:nth-child(2) {
	margin-top: 10px;
	padding-top: 20px;
}

.plan_type_title._01 {
	margin: 0 auto;
	width: 108px;
	height: 16px;
}
.plan_type_title._02 {
	margin: 0 auto;
	width: 129px;
	height: 20px;
}

.plan_type_text {
	margin-top: 17px;
	font-size: 11px;
	line-height: 1.45;
	text-align: left;
	color: #0f3751;
}

.plan_type_img {
	margin-top: 3px;
}

@media screen and (min-width: 768px) {
	.plan_type {
		margin: 20px auto 0;
		padding: 0 0 24px;
		max-width: 800px;
	}

	.plan_type_inner {
		display: flex;
		gap: 12px;
	}

	.plan_type_item {
		padding: 41px 30px 30px;
		width: calc(50% - 6px);
		background-color: #fff;
	}

	.plan_type_item:nth-child(2) {
		margin-top: 0;
		padding-top: 37px;
	}

	.plan_type_title._01 {
		margin: 0;
		width: 164px;
		height: 23px;
	}
	.plan_type_title._02 {
		margin: 0;
		width: 195px;
		height: 28px;
	}

	.plan_type_text {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.57;
		text-align: left;
		color: #0f3751;
	}

	.plan_type_img {
		margin: 9px -30px 0;
	}
}

/* plan_type */

.entry_btn a.text_link {
	color: #2a94db;
}

.area_select {
	background: #FFF;
	padding-bottom: 10px;
}
.pro_detail_btn a.text_link,
.pro_difference_btn a.text_link,
.area_select a {
	color: #fa9600;
}
.application .area_select a {
	color: #0f3751;
}

.application dl dd.detail p {
	line-height: 110%;
	margin-bottom: 20px;
}
.full_wrapper_2nd h2 {
	color: #FFF;
}
.full_wrapper_2nd h2.merit_title{
	background: #0f3751;
	text-align: center;
}

.full_wrapper_2nd h2.entry_title{
	background: #fa9600;
	text-align: center;;
}
.plan3 {
    position: relative;
}
.plan3 .icon_new {
    position: absolute;
    top: -17px;
    left: -10px;
    z-index: 3;
		width: 14.68%;
}
.js-acc_btn + * {
    display: none;
}

footer.full_wrapper_2nd {
	padding: 0px 0 20px;
  text-align: center;
  margin: 0 auto;
}
footer .copy {
	background: #474747;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	margin: 20px 3.125%;
}

.plan_box_btn1 .notes{
	margin-top: 8px;
	color: #0f3751;
	font-size: 11px;
	font-weight: bold;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}
.plan1_notes{
	margin-top: -30px;
	padding: 15px 25px;
	text-align: left;
	font-size: 10px;
}
.plan1_notes .txt{
	text-indent: -1em;
	padding-left: 1em;
}
.plan1_notes .hidden-pc{
	display: none;
}

@media screen and (min-width: 768px) {

	.tab_menu,
	.cont_wrapper ul,
	.cont_wrapper .box_entry01,
	.cont_wrapper .box_entry02,
	.cont_wrapper .box_entry03,
	.cont_wrapper .box_entry04 {
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}

	.box_entry01,
	.box_entry02,
	.box_entry03 {
		padding-bottom: 15px;
	}

	footer .copy {
		max-width: 1000px;
		height: 44px;
		margin: 0 auto;
		text-align: left;
	}
	footer .copy img {
		height: 36px;
		margin: 4px 6px;
	}

	.cont_wrapper .plan_content {
		padding: 10px 0 25px;
	}

	.cont_wrapper .plan_content_2 {
		padding: 10px 0 25px;
	}

	.plan_content .plan_point {
		position: absolute;
		top: 115px;
		left: 30px;
		padding: 0;
	}

	.plan_content_2 .plan_point_2 {
		position: absolute;
		top: 30px;
		left: 30px;
		padding: 0;
	}

  .plan_content .plan_point li {
    width: 275px;
  }

  .plan_content .plan_point li a{
		cursor: pointer;
	}

	.plan_content_2 .plan_point_2 li {
		width: 275px;
	  }

	  .plan_content_2 .plan_point_2 li a{
			cursor: pointer;
		}


	.plan_content h4 {
    position: absolute;
		z-index: 1;
    top: 30px;
    left: 30px;
		padding: 0;
	}


	p.plan_img {
		float: right;
		width: 450px;
		height: 313px;
    margin-top: 50px;
	}
	.plan2 p.plan_img {
    margin-top: 15px;
	}
	.pro_detail_btn {
	    position: absolute;
	    top: 290px;
	    right: 30px;
		}

	.pro_difference_btn {
		clear: both;
		margin: 0 auto;
	}
	.pro_difference_btn a.text_link {
		margin: 0 auto;
		padding: 0;
	}

	.area_price {
    top: 40%;
    right: 10px;
	}
	.merit li {
		float: left;
		margin-top: 10px;
		width: 49.25%;
	}
	.merit li:nth-child(odd){
		margin-right: 1.25%;
	}
	.entry h3 {
		text-align: left;
	}

	.plan_box_btn1 {
		clear: both;
		padding-top: 0px;
	}

	.plan_box_btn1_2 {
		padding-top: 30px;
	}

	.plan_box_btn2 {
		clear: both;
		padding-top: 20px;
	}

	.plan_box_btn2 {
		padding-top: 30px;
		padding-bottom: 20px;
	}

	.cont_wrapper .plan1,
	.cont_wrapper .plan2,
	.cont_wrapper .plan3 {
		padding: 2px;
		box-shadow: inset 0 0 0 2px #2c9be6;
		-webkit-border-top-right-radius: 12px;
		-moz-border-radius-topright: 12px;
		margin-top: 20px;
		margin-bottom: 0;
	}

	.plan1_notes{
		margin-top: -20px;
		font-size: 12px;
		text-align: left;
		padding: 0 30px;
	}
	.plan1_notes .txt{
		padding: 10px;
	}
	.plan1_notes .hidden-pc{
		display: inline-block;
	}

	.plan_box_btn1 .notes{
		margin-top: 14px;
		font-size: 12px;
		font-weight: normal;
		color: #0f3751;
		line-height: 1;
		text-align: center;
		text-indent: 0;
		padding-left: 0;
	}

	.cont_wrapper .plan1 h3,
	.cont_wrapper .plan2 h3,
	.cont_wrapper .plan3 h3 {
	-webkit-border-top-right-radius: 10px;
	-moz-border-radius-topright: 10px;
	}

	.group_banner {
		padding: 0;
	}

	.pro_detail_btn a.text_link,
	.area_select a,
	.entry_btn a.text_link {
		padding: 0;
		margin-top: 10px;
	}

	.box_entry01  {
		margin-top: 20px;
	}

	.box_entry01 .text_link,
	.box_entry04  .text_link {
		float: right;
	}

	.plan3 .icon_new {
	    top: -17px;
	    left: -25px;
			width: 14.68%;
	}

}


/* モーダル調整 */
#colorbox, #cboxOverlay, #cboxWrapper {
	overflow: visible;
}

#colorbox {
	margin-top: 50px;
}

#cboxLoadedContent {
	border: 0;
	background: none;
}

#cboxClose {
  top: -67px;
  width: 47px;
  height: 47px;
  background: url(../img/ol_close.png) no-repeat;
}



/* 20221213更新 */
.qa {
	margin-bottom: 30px;
}
.qa_title {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 15.6vw;
	background-color: #0f3751;
}
.qa_title > img {
	display: block;
	width: 60%;
}

.qa_wrapper {
	margin: 10px;
}

.qa_list {
	padding: 20px 25px;
	background-color: #fff;
}
.qa_list dt:not(:first-of-type) {
	margin-top: 18px;
}

.qa_list dd {
	position: relative;
	margin-top: 10px;
	padding: 2px 3.3% 0 14.3%;
	font-size: 11px;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: #0f3751;
}

.qa_answer {
	position: absolute;
	top: 0;
	left: 2.8%;
	width: 9%;
}
.qa_list dd a {
	color: #2c9be6;
}

.qa_btn {
	margin: 20px auto 0;
	width: 250px;
	height: 44px;
}

@media screen and (min-width: 768px) {
	.qa {
		margin-bottom: 66px;
	}
	.qa_title {
		height: 54px;
	}
	.qa_title > img {
		width: 333px;
	}
	.qa_wrapper {
		margin: 40px auto 0;
		padding: 0 3.125%;
		max-width: calc(800px + 6.25%);
	}
	.qa_list {
		padding: 37px 30px;
	}
	.qa_list dt:not(:first-of-type) {
		margin-top: 22px;
	}
	.qa_list dd {
		padding: 4px 0 0 50px;
		font-size: 14px;
		line-height: 1.57;
	}
	.qa_answer {
		left: 15px;
		width: 28px;
		height: 28px;
	}
	.qa_btn {
		margin-top: 30px;
		width: 324px;
		height: 50px;
	}

	.hidden-pc {
		display: none;
	}
}
