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

body {
	font-size:16px;
	font-weight:400;
	line-height:1.2;
	font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif, serif;
	height:100%;
	margin: 0;
	overflow-x: hidden;
	background-color: #fff;
}

.pc {
	display: block;
}

em {
	font-style:normal;
}
a {
	color:#000;
	text-decoration: none;
}
a i {
	margin-left: 5px;
	margin-right: 5px;
}
a:hover,
input[type="submit"]:hover,
input[type="reset"]:hover{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	transition: 0.2s;
}

li {
	list-style-type:none;
}
header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block; 
}
h1,h2,h3,h4,h5,h6,p {
	margin-top: 0;
	margin-bottom: 0;
}

img {width: 100%;}

.dib {display: inline-block;}

.vat {vertical-align: top;}
/************************ float **********************************************/
.c-both {
	clear:both;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.left {
	float:left;
}
.right {
	float:right;
}
.center {
	display:block;
	margin-left:auto; margin-right:auto;
	text-align:center;
}
/******* end float **********/
/******* flex box ***********/
.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	justify-content: space-between;
}
.flex img {
    object-fit: cover;
    object-position: top;
}
.height {
	justify-content: space-between;
  	flex-wrap: wrap;
	align-items: stretch;
}
/****** end flex box ********/
.inner {
	width:96%; max-width:1786px;
	margin: 0 auto;
}
.middle_inner {
	width: 96%; 
	max-width:1080px;
	margin-left:auto; margin-right:auto;
}
.lower_inner {
	width: 86%; max-width:800px;
	margin-left:auto; margin-right:auto;
}
.half {
	width:50%;
}
span.hissu {
	color:#F03;
	font-size:12px;
}
span.memo {	
	color: #666;
	font-size: 1em;
	font-weight: 300;
}
span.error {
	display:block;
	color:#F03;
	font-size:1em;
	text-align: left;
	margin-bottom: 0.5em;
}
.heading {
	width: 100%;
}
.sp {
	display:none;
}
.pc {
	display:block;
}
.pr {
	position: relative;
}
.pa {
	position: absolute;
}
.fit {
	object-fit: cover;
	font-family: 'object-fit: cover;';
	max-width: 100%;
}
.pc_wrap::before {
	content:"\A";
    white-space: pre;	
}

.db {
	display: block;
}

.dfr {
	display: flow-root;
}

.t-left {
	text-align: left;
}

.t-cell {
	display: table-cell;
}

.m0 {
	margin: 0;
}

a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
}
/*************** end class ***************************************************************/


main {
	width:100%;
	overflow:hidden;
}
.ls02{letter-spacing: 0.025em}
.ls05{letter-spacing: 0.05em}
.ls06{letter-spacing: 0.06em;}
.ls07{letter-spacing: 0.075em}
.ls10{letter-spacing: 0.1em}
.ls15{letter-spacing: 0.15em}
.ls20{letter-spacing: 0.2em}
.ls25{letter-spacing: 0.25em}
.lh15{line-height: 1.5;}
.lh18{line-height: 1.8;}
/**********************************  color     *****************************************/
.sky {color: #3399ff;}
.bg_sky {background-color:  #3399ff;}
.blue {color: #245f9f;}
.yellow {color: #ffde00;}
.bg_yellow {background-color: #ffde00;}
.bg_l_yellow {background-color: #ffffcc;}
.red {color: #d72222;}
.bg_red {background-color: #d72222;}
.white {color: #fff;}
.bg_white {background-color: #fff;}
/**********************************  font     *****************************************/

.fw3{font-weight: 300;}
.fw4{font-weight: 400;}
.fw5{font-weight: 500;}
.fw6{font-weight: 600;}
.fw7{font-weight: 700;}
.fw8{font-weight: 800;}
.fw9{font-weight: 900;}
.fwb{font-weight: bold;}

.fs12{font-size: 0.75em;}
.fs13{font-size: 0.813em;}
.fs14{font-size: 0.875em;}
.fs15{font-size: 0.938em;}
.fs16{font-size: 1em;}
.fs17{font-size: 1.063em;}
.fs18{font-size: 1.125em;}
.fs19{font-size: 1.188em;}
.fs20{font-size: 1.25em;}
.fs21{font-size: 1.313em;}
.fs22{font-size: 1.375em;}
.fs23{font-size: 1.438em;}
.fs24{font-size: 1.5em;}
.fs25{font-size: 1.563em;}
.fs26{font-size: 1.625em;}
.fs27{font-size: 1.688em;}
.fs28{font-size: 1.75em;}
.fs29{font-size: 1.813em;}
.fs30{font-size: 1.875em;}
.fs31{font-size: 1.938em;}
.fs32{font-size: 2em;}
.fs33{font-size: 2.063em;}
.fs34{font-size: 2.125em;}
.fs35{font-size: 2.188em;}
.fs36{font-size: 2.25em;}
.fs37{font-size: 2.313em;}
.fs38{font-size: 2.375em;}
.fs40{font-size: 2.5em;}
.fs41{font-size: 2.563em;}
.fs42{font-size: 2.625em;}
.fs44{font-size: 2.75em;}
.fs46{font-size: 2.875em;}
.fs48{font-size: 3em;}
.fs60{font-size: 3.75em}
.fs64{font-size: 4em;}
.fs76{font-size: 4.75em;}

.noto{font-family: 'Noto Serif JP', sans-serif;}
.vol{font-family: 'Vollkorn', serif ;}
.smg{font-family: 'Sorts Mill Goudy', serif;font-style: italic;}
/********************************** line **********************************************/
.y_line {
	border-left: #FFCC33 1px solid;
	height: 90px;
	width: 0px;
}
.gr_line {
	border-left: #D7D7D7 1px solid;
	height: 102px;
	width: 0px;
}
.na_line01 {
	border-bottom: #2460A0 3px solid;
	width: 20px;
}
.na_line02 {
	border-bottom: #2460A0 2px solid;
	max-width: 320px;
	width: 75%;
}
.na_line03 {
	border-left: #04274B 1px solid;
	height: 60px;
	width: 0px;
}
.hr_line {
	border-top: 1px solid #D7D7D7;
}
.hr_line2 {
	border-top: 2px solid #D7D7D7;
}
/**********************************  common *******************************************/

aside#side_menu {
    /* display: none; */
    position: fixed;
	right: 0;
    top: calc(50% - 20em);
    z-index: 1;
}

aside#side_menu .link_list {
	margin: 0px;
    padding: 0px;
    width: 5.625em;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 1.5;
	border-top-left-radius: 0.6em;
    border-bottom-left-radius: 0.6em;
	background-color: #143b75;
}

aside#side_menu .link_list li {
	position: relative;
    font-size: 0.813em;
    list-style-type: none;
    padding: 1.6em 0.2em;
    box-sizing: border-box;
}

aside#side_menu .link_list li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

aside#side_menu .link_list li:last-of-type::after {
    display: none;
}

aside#side_menu .link_list li a {
    color: #FFF;
    display: block;
    width: 100%;
}

/**********************************popup***************************************************/

/**********************************  header  *****************************************/

header#header {
	position: fixed;
    width: 100%;
    background-color: #FFF;
    z-index: 100;
}

header#header .container {
	display: flex;
    justify-content: space-between;
	padding-top: 1.5625em;
}

header#header .logo_box {
    max-width: 780px;
    width: 60%;
}

header#header .table {
	display: table;
}

header#header img.t-cell {
	max-width: 80px;
}

header#header .txt {
	padding-left: 1.3333333333333333em;
	vertical-align: middle;
	line-height: 1.5;
	font-size: 0.5625em;
	text-align: left;
}

header#header span.fs_change {
	font-size: 2.3333333333333335em;
}

header#header .right_item {
	width: 39%;
}

header#header .tel_btn {
	max-width: 351px;
    width: 51%;
}

header#header .header_item01 {
	max-width: 320px;
    width: 46%;
}

header#header .heder_item01_img {
	vertical-align: middle;
}


/*********************************************footer******************************************************/

footer#footer .footer_menu {
	padding: 0.9375em 0;
    background-color: rgba(0, 0, 0, 0.8);
}

footer#footer .inner {
	margin: 0 auto;
}

footer#footer .img_container {
	display: flex;justify-content: center;
	align-items: center;
    gap: 1.5em;
	padding: 0.9375em 0;

}

footer#footer .f_tel_img {
	max-width: 345px;
    width: 30%;
}

footer#footer .f_mail_img,
footer#footer .f_assessment_img {
	max-width: 380px;
    width: 30%;
}

footer#footer .container {
	padding: 3.625em 0;
}

footer#footer .logo_box {
    max-width: 820px;
    width: 82.5%;
}

footer#footer img.t-cell {
	max-width: 102px;
}

footer#footer .table {
	display: table;
    width: 97%;
    margin: 0 auto;
}



footer#footer .txt {
    padding-left: 1.5em;
	vertical-align: middle;
    line-height: 1.5;
    font-size: 2.0522388059701493em;
	text-align: left;
}


footer#footer span.fs_change {
    font-size: 1.8181818181818181em;
}

footer#footer .copy {
    padding: 2em;
	background-color: #143b75;
    color: #fff;
    text-align: center;
}

/********************************contents_contact********************************************************/

/*********************************************top********************************************************/

main {
	padding-top: 8.125em;
}

section#top_mv .mv {
    width: 100vw;
	vertical-align: middle;
}

section#top_mv .ttl_box {
    top: 4%;
    left: 16.3%;
    max-width: 841px;
    width: 44vw;
}

section#top_mv .ttl_img01 {
	display: block;
    margin-bottom: 1em;
    width: 100%;
}

section#top_mv .ttl_img02 {
	display: block;
    width: 100%;
}

section#top_mv .name {
    top: 53%;
    right: 17%;
    width: min(360px,28%);
    font-size: clamp(0.95em, 1.5vw, 1.25em);
    color: #fff;
    text-align: right;
    line-height: 1.5;
}

section#top_mv .yen_box {
	display: flex;
    justify-content: center;
    align-items: center;
    right: 0;
    left: 0;
    top: 60%;
}

section#top_mv .yen_item01,
section#top_mv .yen_item02,
section#top_mv .yen_item03 {
	max-width: 363px;
    width: 19%;
}

section#top_mv .yellow_txt {
    left: 0;
    right: 0;
    bottom: 10%;
    max-width: 1523px;
	width: 80%;
    margin: 0 auto;
}

.consultation_box {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.25em;
}

.tel_box,
.mail_box {
	max-width: 600px;
    width: 32%;
}

/* assessment */

section#assessment {
	padding: 8.125em 0 0;
}

section#assessment .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#assessment .ttl {
    position: relative;
    max-width: 810px;
    width: 13em;
    padding-bottom: 0.3em;
	margin-bottom: 1.3666666666666667em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#assessment .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#assessment .graph_item01 {
    display: block;
	max-width: 944px;
    width: 100%;
	margin: 0 auto;
}

section#assessment .table {
	display: table;
	margin: 0 0 1.75em 0;
	line-height: 1.8;
    font-weight: 600;
}

section#assessment .table:last-of-type {
	margin: 0 0 2.5em 0;
}

section#assessment .t-cell {
	display: table-cell;
	color: #3399ff;
}

section#assessment .t_txt {
	display: table-cell;
	padding-left: 0.7em;
	font-size: 1.25em;
}

section#assessment .container {
	max-width: 762px;
	margin: 0 auto;
}

section#assessment .angle01 {
	display: block;
	max-width: 280px;
	width: 100%;
    margin: 0 auto 3.75em;
}

.assessment_area .sky {
	font-size: 3.25em;
	font-weight: bold;
	line-height: 1.2;
}

.assessment_area .txt {
	margin: 0.8333333333333334em auto 1.5833333333333333em;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5;
}

.assessment_area .form_link {
	display: block;
	cursor: pointer;
	max-width: 900px;
	margin: 0 auto 10.625em;
}

.assessment_area .link_img {
	width: 100%;
}

section#assessment h2.fs60 {
	line-height: 1.3;
}
section#assessment p.fwb {
	line-height: 1.8;
    margin: 0.5em 0 2em 0;
}

section#faq {
	padding: 8.75em 0 3.5em;
	background-color: #c5ecff;
}

section#faq::before {
    content: "";
	background-image: url(../img/triangle_w01.png);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
	width: 111px;
	height: 56px;
}

section#faq .faq_inner {
	max-width: 1000px;
	width: 96%;
	margin: 0 auto;
}

section#faq .faq_container {
	margin: 0;
}

section#faq .q_ttl {
	position: relative;
	padding: 1em;
    margin-bottom: 1.625em;
    border-radius: 0.3em;
	cursor: pointer;
}


section#faq .q_ttl::before {
	display: none;
	transition: .3s all;
}

section#faq .q_ttl.open::before {
	display: block;
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -25px;
    border: 20px solid transparent;
    border-top: 20px solid #fff;
}

section#faq .q_ttl::after {
	content: "";
	background-image: url(../img/angle_icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
    top: calc(50% - 0.55em);
	right: 3%;
	width: 36px;
	height: 36px;
	transform: rotate(180deg);
	transition: .3s all;
}

section#faq .q_ttl.open::after {
	transform: rotate(0deg);
}

section#faq .q_txt {
    width: 81.85%;
}
/* 
section#faq .a_container {
	display: none;
    margin: 0 0 3.75em 0;
	background-color: #fff;
	border-radius: 0.5em;
} */

section#faq .a_container {
    display: none;
    margin: 0 0 3.75em 0;
	background-color: #ffffcc;
	border-radius: 0.5em;
}

section#faq .a_container.stay {
	display: block;
}

section#faq .a_box {
    margin: 0 ;
    padding: 1.25em 1.6875em;
}

section#faq .a_ttl {
	max-width: 578px;
	width: 100%;
    margin-left: 0.6666666666666666em;
	line-height: 1.2;
}

section#faq .pc_space {
	display: inline-block;
}

section#faq .flex_item {
	display: flex;
	align-items: center;
    margin: 1em 0;
}

section#faq .logo {
	max-width: 38px;
}

section#faq .fs_change {
	font-size: 0.6666666666666666em;
}

section#faq .a_txt {
	margin: 0;
	line-height: 1.8;
}

section#faq .a_txt2 {
    margin: 0 0 1.5em;
	line-height: 1.8;
}
/* 
section#faq .a_txt2 {
	margin: 0 0 1.9444444444444444em 2.7777777777777777em;
	line-height: 1.8;
} */

section#faq .a_txt2:last-of-type {
	margin-bottom: 0;
	line-height: 1.8;
}

section#faq .txt_img {
	display: block;
    margin-left: auto;
	max-width: 890px;
    width: 96%;
}

section#faq .idt {
	text-indent: 1em;
    display: inline-block;
}

/* merit */

section#merit {
	padding: 4.625em 0 7.3125em;
}

section#merit .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#merit .ttl {
    position: relative;
    max-width: 540px;
	width: 8.5em;
    padding-bottom: 0.3em;
    margin-bottom: 0.7em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#merit .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#merit .min_caution {
	margin-bottom: 2.9166666666666665em;
	font-size: 0.75em;
}

section#merit .merit_img {
	display: block;
	max-width: 1001px;
	width: 100%;
	margin: 0 auto;
}

/* achievement */

section#achievement {
    padding: 6.25em 0 6.875em;
	background-color: #eeeeee;
}

section#achievement .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#achievement .ttl {
    position: relative;
    max-width: 300px;
    width: 4.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1.1666659em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#achievement .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#achievement .container {
	padding-bottom: 1.25em;
	margin-bottom: 6.25em;
    background-color: #fff;
    border-radius: 0.8em;
}

section#achievement .case_img {
	top: -1.3em;
    left: 1.6875em;
    max-width: 138px;
    width: 10em;
}

section#achievement .case_ttl {
    padding: 0.6904761904761905em 1.1904761904761905em;
    border-top-left-radius: 0.3em;
    border-top-right-radius: 0.3em;
    background-color: #ffba00;
	line-height: 1.2;
}

section#achievement .box_container {
    padding: 2.5em 1.5em 1.6875em;
}

section#achievement .left_box {
	max-width: 600px;
    width: 49%;
}

section#achievement .case01_item01,
section#achievement .case02_item01,
section#achievement .case03_item01 {
	max-width: 600px;
    width: 100%;
}

section#achievement .right_box {
	max-width: 568px;
    width: 47%;
}

section#achievement .case01_item02,
section#achievement .case02_item02,
section#achievement .case03_item02 {
	display: block;
    max-width: 568px;
    width: 100%;
    margin-bottom: 3em;
}

section#achievement .case01_item03,
section#achievement .case02_item03,
section#achievement .case03_item03 {
	max-width: 568px;
    width: 100%;
}

section#achievement .contents_box {
	display: table;
    margin: 0 1.5em;
    max-width: 1228px;
	width: 96%;
    border: 3px solid #143b75;
    border-radius: 0.3em;
    box-sizing: border-box;
}
section#achievement .contents {
	display: table-cell;
	max-width: 200px;
    width: 16.367%;
    font-size: 1.25em;
    background-color: #143b75;
	text-align: center;
}

section#achievement .txt {
    max-width: 986px;
    width: 96%;
    margin: 0 auto;
    padding: 1.75em 0;
    line-height: 1.8;
    letter-spacing: 0.06em;
}

section#achievement .assessment_area .form_link {
	margin: 0 auto;
}

/* lawyer */

section#lawyer {
    padding: 8.75em 0 12.5em;
}

section#lawyer .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#lawyer .ttl {
    position: relative;
    max-width: 380px;
    width: 5.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1.583334em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#lawyer .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#lawyer .box {
	max-width: 620px;
    width: 48%;
    margin-right: 2.9%;
}

section#lawyer .box:last-of-type {
	margin: 0;
}

section#lawyer .lawyer01,
section#lawyer .lawyer02 {
	max-width: 620px;
    width: 100%;
}

/* cost */

section#cost {}

section#cost .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#cost .ttl {
    position: relative;
	max-width: 415px;
    width: 6.5em;
    padding-bottom: 0.3em;
    margin-bottom: 2.25em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#cost .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#cost .heading {
	margin-bottom: 0.875em;
}

section#cost .ttl2 {
	margin-bottom: 1.40625em;
}

section#cost .ttl2 span.red {
	font-size: 2.1875em;
}

section#cost table {
    max-width: 1000px;
	width: 100%;
    margin: 0 auto 2.2916666666666665em;
	border-collapse: separate;
	border-spacing: 0;
	border: 2px solid #000;
	border-radius: 0.5em;
	text-align: center;
	font-size: 1.5em;
}

section#cost table:last-of-type {
    margin: 0 auto 4.166666666666667em;
}

section#cost th, td {
	border: 1px solid #000;
	font-weight: bold;
}

section#cost th {
	padding: 0.7035em 0;
	background-color: #01a4ff;
	color: #fff;
	font-size: 1.3333333333333333em;
}

section#cost td {
	padding: 0.8em;
}

section#cost tr:first-child th:first-child {
	border-radius: 0.25em 0 0 0;
}

section#cost tr:first-child th:last-child {
	border-radius:0 0.25em 0 0;
}

section#cost tr:last-child td:first-child {
	border-radius: 0 0 0 0.35em;
}

section#cost tr:last-child td:last-child {
	border-radius: 0 0 0.35em 0;
}

section#cost .nowrap {
	white-space: nowrap;
}

section#cost th:first-of-type,
section#cost td:first-of-type {
    width: 29%;
}

section#cost span.change1 {
	font-size: 0.8333333333333334em;
}

section#cost span.change2 {
    font-size: 0.6666666666666666em;
}

section#cost .t-left {
	line-height: 1.5;
}

/* flow */

section#flow {
	padding: 5.125em 0 6.5625em;
	background-color: #eeeeee;
}

section#flow .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#flow .ttl {
    position: relative;
    max-width: 800px;
    width: 12.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1.1666659em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#flow .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#flow .container {
    display: table;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
	font-weight: bold;
}

section#flow .step_box {
	display: table-cell;
	max-width: 160px;
	width: 16%;
	padding: 0.8464em 0;
	vertical-align: middle;
	text-align: center;
	font-size: 3.25em;
	color: #fff;
	background-color: #01a4ff;
}

section#flow .step_box span {
	font-size: 0.38461538461538464em;
}

section#flow .last_step_box {
	display: table-cell;
	max-width: 160px;
	width: 16%;
	padding: 0.8464em 0;
	vertical-align: middle;
	text-align: center;
	font-size: 3.25em;
	color: #000;
	background-color: #ffba00;
}

section#flow .last_step_box span {
	font-size: 0.38461538461538464em;
}

section#flow .flow_box {
	display: table-cell;
	max-width: 840px;
	width: 100%;
    margin: 0;
	padding: 0.951em 2em;
	vertical-align: middle;
	background-color: #fff;
}

section#flow .min_ttl {
	margin: 0;
	color: #01a4ff;
	line-height: 1.8;
}

section#flow .last_min_ttl {
	margin: 0;
	color: #d72222;
	line-height: 1.8;
}

section#flow .txt {
	margin: 0;
	line-height: 1.8;
}

section#flow .tri02 {
	display: block;
	max-width: 72px;
	width: 100%;
	margin: 1.875em	auto;
}

/* outline */

section#outline {
	padding: 5.125em 0 6.5625em;
}

section#outline .inner {
	max-width: 1280px;
	margin: 0 auto;
}

section#outline .ttl {
    position: relative;
    max-width: 360px;
    width: 5.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1.1666659em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#outline .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#outline table {
	max-width: 1000px;
    width: 100%;
    margin: 0 auto;
	border-collapse: separate;
	border: 3px solid #000;
	border-radius: 0.5em;
	border-spacing: 0;
}

section#outline td {
	padding: 1em;
	border: 1px solid #000;
    font-weight: bold;
	line-height: 1.2;
}

section#outline .nowrap {
	white-space: nowrap;
	width: 29.477%;
}


/* consultation */

section#consultation {
    padding: 3.375em 0 2.75em;
	background-color: #ffde00;
}

section#consultation .inner {
	max-width: 1000px;
	margin: 0 auto;
}

section#consultation .ttl_box {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	gap: 2%;
}

section#consultation .memo_img {
	max-width: 115px;
}

section#consultation .center {
    margin: 0 0 1em 0;
	line-height: 1.3;
}

section#consultation .txt_1 {
	font-size: 1.1111111111111112em;
}

section#consultation .txt_2 {
	display: inline-block;
	font-size: 1.9444444444444444em;
}

section#consultation .flex_box {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4.5625em;
}

section#consultation .left_box,
section#consultation .right_box {
	max-width: 460px;
    width: 49%;
}

section#consultation .left_box p,
section#consultation .right_box p {
	margin: 0 1em 1em;
	text-align: center;
}

section#consultation .tel_btn {
	max-width: 460px;
	width: 100%;
}

section#consultation .mail_btn {
	max-width: 460px;
	width: 100%;
}


/* contact */

section#contact.contact {
    padding: 5.125em 0 14.75em;
}

section#contact .inner {
	margin: 0 auto;
}

section#contact .ttl {
    position: relative;
    max-width: 460px;
    width: 6.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1.58334em;
    font-size: 3.75em;
    font-weight: 600;
    border-bottom: 5px solid #3399ff;
}

section#contact .ttl::after {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3399ff;
}

section#contact .ttl + p {
	margin-bottom: 3.05em;
}

section#contact .table {
    display: table;
    margin: 0 auto 1em;
    max-width: 1030px;
    width: 100%;
}

section#contact .table:last-of-type {
	margin-bottom: 0;
}

section#contact .form_ttl {
	max-width: 300px;
    width: 29.127%;
    padding: 0 1.748% 0 2.428%;
    box-sizing: border-box;
    background-color: #dcdcdc;
	/* vertical-align: middle; */
}

section#contact .flex_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

section#contact .h {
	padding: 0.5em 1.33em;
    color: #fff;
    background-color: #c70909;
    border-radius: 0.4em;
    margin: 0;
}

section#contact .form_txt {
    max-width: 728px;
	width: 100%;
	padding: 0.625em 0em 0.625em 1.375em;
	box-sizing: border-box;
}

section#contact .mintxt {
	padding-top: 0.625em;
    text-align: right;
    display: block;
    color: #333333;
}

section#contact input[type=text] {
	width: 100%;
    padding: 0.825em 1em;
    font-size: 1.25em;
    box-sizing: border-box;
    border: 2px solid #999999;
    border-radius: 0.3em;
}

section#contact input[type=tel] {
	width: 100%;
    padding: 0.825em 1em;
    font-size: 1.25em;
    box-sizing: border-box;
    border: 2px solid #999999;
    border-radius: 0.3em;
}

section#contact input[type=checkbox] {
	display: none;
}

section#contact .form_txt.flex {
	justify-content: flex-start;
    margin: 0;
    gap: 1em;
}

section#contact .select_wrap {
	position: relative;
	width: 100%;
	max-width: 183px;
}

section#contact .select_wrap::after {
	content: "";
	background-image: url(../img/pulldown_icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 16px;
    height: 23px;
    position: absolute;
    top: calc(50% - 0.9em);
    right: 5%;
}

section#contact .prefectures {
    width: 100%;
	max-width: 183px;
	padding: 0.825em 1em;
    font-size: 1.25em;
    border: 2px solid #999999;
    border-radius: 0.4em;
	background-color: #fff;
	color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}



section#contact input.municipality {
	max-width: 164px;
}

section#contact .form_txt_flex {
	display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
	margin: 0;
	max-width: 728px;
	width: 100%;
	padding: 0.625em 0em 0.625em 1.375em;
	box-sizing: border-box;
}

section#contact .checkBox + .check_item {
    position: relative;
    display: inline-block;
    background-color: #eeeeee;
    width: 32%;
    padding: 0.75em 0.5em 0.75em 2.7em;
    cursor: pointer;
    border-radius: 0.5em;
    max-width: 220px;
    box-sizing: border-box;
    font-size: 1.25em;
}


section#contact .checkBox:checked + .check_item {
    background-color: #01a4ff;
	color: #fff;
}

section#contact .check_item::before {
	content: "";
	background-image: url(../img/box_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.7em);
    left: 6.5%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
}

section#contact .checkBox:checked + .check_item::before {
	content: "";
	background-image: url(../img/checkbox_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.75em);
    left: 5.5%;
	display: inline-block;
    width: 1.95em;
    height: 1.55em;
}

section#contact input[type=radio] {
	display: none;
}

section#contact .radioBox + .radio_item,
section#contact .radioBox2 + .radio_item {
    position: relative;
    display: inline-block;
    background-color: #eeeeee;
    width: 14em;
    padding: 0.75em 0.5em 0.75em 2.7em;
    cursor: pointer;
    border-radius: 0.5em;
    max-width: 220px;
    box-sizing: border-box;
    font-size: 1.25em;
}

section#contact .radiobox + .radio_item {
    position: relative;
    display: inline-block;
    background-color: #eeeeee;
    width: 32%;
    padding: 0.75em 0.5em 0.75em 2.7em;
    cursor: pointer;
    border-radius: 0.5em;
    max-width: 220px;
    box-sizing: border-box;
    font-size: 1.25em;
}

section#contact .radiobox:checked + .radio_item,
section#contact .radioBox:checked + .radio_item,
section#contact .radioBox2:checked + .radio_item {
    background-color: #01a4ff;
	color: #fff;
}

section#contact .radio_item::before {
	content: "";
	background-image: url(../img/circle_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.7em);
    left: 6.5%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
}

section#contact .radiobox:checked + .radio_item::before,
section#contact .radioBox:checked + .radio_item::before,
section#contact .radioBox2:checked + .radio_item::before {
	content: "";
	background-image: url(../img/checkcircle_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.7em);
    left: 6.5%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
}

section#contact .form_ttl dt:last-of-type {
    text-align: center;
}

section#contact .check + .checks_item {
	position: relative;
    display: inline-block;
    background-color: #eeeeee;
    width: 100%;
    padding: 0.75em 0.5em 0.75em 2.7em;
    margin: 0.5em 0em;
    cursor: pointer;
    border-radius: 0.5em;
    box-sizing: border-box;
}

section#contact .checks_item::before {
	content: "";
	background-image: url(../img/box_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.7em);
	left: 2%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
}

section#contact .check:checked + .checks_item {
    background-color: #01a4ff;
	color: #fff;
}

section#contact .check:checked + .checks_item::before {
	content: "";
	background-image: url(../img/checkbox_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.75em);
    left: 1.6%;
	display: inline-block;
    width: 1.95em;
    height: 1.55em;
}

section#contact textarea {
	resize: vertical;
	max-width: 706px;
	width: 100%;
	padding: 0.825em 1em;
    font-size: 1.25em;
    box-sizing: border-box;
    border: 2px solid #999999;
    border-radius: 0.3em;
}

section#contact .agree_txt {
    margin: 4.4375em auto 3.875em;
    max-width: 520px;
}

section#contact .agree a {
	border-bottom: 1px solid #0066cc;
    color: #0066cc;
}

section#contact .agree::before {
	content: "";
	background-image: url(../img/box_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.7em);
    left: -10%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
}


section#contact .check_agree:checked + .agree::before {
	content: "";
	background-image: url(../img/checkbox_item.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
    top: calc(50% - 0.75em);
    left: -10.5%;
	display: inline-block;
    width: 1.95em;
    height: 1.55em;
}

section#contact .form_btn {
	max-width: 540px;
	width: 100%;
	padding: 1.125em 0;
    text-align: center;
    border: none;
	filter: drop-shadow(2.5px 2.5px 2.5px rgba(0,0,0,0.5)) drop-shadow(-2.5px -2.5px 2.5px rgba(0,0,0,0.5));
    transition: 0.3s;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;/*Opera対応*/
}

/* contact_complete */

section#contact_complete .complete_mv {
	vertical-align: middle;
}

section#contact_complete .complete_info {
	width: 96%;
	padding: 5em 0;
    margin: 0 auto;
}

section#contact_complete .complete_info h3 {
	margin-bottom: 1em;
	font-size: 3.75em;
}

section#contact_complete .info_txt {
    margin: 1.5em 0;
	line-height: 1.5;
}

section#contact_complete .info_txt:last-of-type {
	margin-bottom: 0;
}


@media (min-width: 1367px) and (max-width: 1440px) {
	body {
		font-size: 15px;
	}

	main {
		padding-top: 7.125em;
	}
}