@charset "utf-8";

/*----------------------------------------------------
  #BODY
--------------------------------------------------- */
html { font-size: 62.5%; }
body { font-size: 1.8rem; }
.lg_xtx { font-size: 5.2rem; }
.md_xtx { font-size: 4.1rem; }
.sm_xtx { font-size: 3.1rem; }


@font-face {
	font-family: 'MyFont';
    src:url('../font/A-OTF-MidashiGoPro-MB31.woff') format('woff'), /* Modern Browsers */
    url('../font/A-OTF-MidashiGoPro-MB31.ttf')  format('truetype'); /* Safari, Android, iOS */
	src: url(../font/A-OTF-MidashiGoPro-MB31.otf);
}


html,body,label,addressbox_fm,footer {
	font-family: MyFont;
}
.mfp_rows .mfp_col5,
.mfp_rows .mfp_col7,
.company .tbl-r02 td,
.company .tbl-r02 th,
.company .tbl-r02 a{
    font-family: MyFont;
}

* {
	word-wrap:break-word;
	background-repeat:no-repeat;
	overflow-wrap:break-word;
}
html,body {
	height:100%; 
}

body,div,dl,dt,dd,ul,li,h1,h2,form,input,p { 
	margin:0; 
	padding:0; 
}

html {
	scroll-behavior:smooth;
	font-weight: 300;
	font-size: 62.5%;
font-family: "MyFont";
}

body {
	font-size: 1.8rem;
    line-height: 3em;
	overflow-wrap: break-word;
	word-break: normal;
	color: #2c2c2c;
	background: #fff!important;
	text-align: center;
font-family: "MyFont"!important;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

img {
	border: none;
	vertical-align: bottom;
}

h1 {
    margin-block-start:0;
    margin-block-end: 0;
	line-height:0;
}

h1, h2 {
	font-size: 100%;
	font-weight: normal;
	margin: 0;
font-family: "MyFont";
}

a:link,a:visited {
	color:#3d2018;
	text-decoration: none;
}

a:hover {
	color:#3d2018;
	text-decoration: none;
}


ul { 
	list-style:none;
}

dd,dt,p,li{
	font-family: "MyFont";
}

/*----------------------------------------------------
 h1～h3
--------------------------------------------------- */

h1 {
width: 15%;
    padding: 18px;
    display: block;
    position: absolute;
    z-index: 899;
}
h1 img{
    width: 100%;
}
h2 {
	font-size:3.1rem;
	font-weight:bold;
	text-align:center;
	padding: 5px;
}

img {
	max-width: 100%;
    height: auto;
}


/*----------------------------------------------------
	hd
----------------------------------------------------*/
/*----------------------------------------------------
	mv
----------------------------------------------------*/

#mv {

}
.mv_inner {
	max-width: 1400px;
	margin: 0 auto;
    position: relative;
	z-index: 99999
}

.mvbox-main {
    display: flex;
    width: 100%;
    flex-direction: column;
    margin: 0 auto;
    position: relative;
    z-index: 9;
}

.fv_ttl {
z-index: 999;
}

.mvbox-subbox01 {
	display: flex;
    justify-content: center;
    z-index: 9999;
    margin: -4.5em 0 3em 0;
    padding: 0 6em;

}
.mvbox-subbox02 {
	display: flex;
    justify-content: center;
    padding: 0 11em;
}
.mvbox-subbox02 li{
padding: 10px;
	    margin: 0 1%;
	
}



.mvbox-subbox03 {
	display: flex;
    justify-content: center;
    margin: 2em;
}
.mvbox-subbox03 li{
border-radius: 60px;
    padding: 8px 0 10px 0;
    width: 22%;
    font-size: 2.3rem;
    letter-spacing: 5.5px;
    margin: 0 1%;
    font-weight: bold;
  box-shadow:
0 0.9px 0.5px rgba(0, 0, 0, 0.057), 0 1px 0.1px rgba(0, 0, 0, 0.076), 0 1.1px 1.4px rgba(0, 0, 0, 0.086), 0 1.2px 7.8px rgba(0, 0, 0, 0.092), 0 2.4px 17.8px rgba(0, 0, 0, 0.1), 0 6px 13px rgba(0, 0, 0, 0.13)
}


.boxmv_sub_icon01:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/fv_sub02_icon04.png);
  background-size: contain;
  vertical-align: middle;
    margin: 0 5px 5px 0px;
	  
}
.boxmv_sub_icon02:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/fv_sub02_icon05.png);
  background-size: contain;
  vertical-align: middle;
    margin: 0 5px 5px 0px;
}
.boxmv_sub_icon03:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/fv_sub02_icon06.png);
  background-size: contain;
  vertical-align: middle;
    margin: 0 5px 5px 0px;
}
/*----------------------------------------------------
	box01
----------------------------------------------------*/

.inner {
	max-width: 1080px;
    margin: 0 auto;
}


#box01 {
background-color: #e6f8ff;

}
#box01 .box01-ttl001 img{
    padding: 5em 0px 3em 0;
}
.box01-ttl001 img {
    width: 35%;
}


.box01-list ul {
    display: flex;
    flex-wrap: wrap;
}

.box01-list li:nth-child(2),
.box01-list li:nth-child(5),
.box01-list li:nth-child(8),
.box01-list li:nth-child(11),
.box01-list li:nth-child(14){
	margin: 15px 2% 0 2%;
}

.box01-list li {
	width: 32%;
margin: 15px 0;
	
}


.btn01 {
    margin: 9em auto 2em auto;
    width: 50%;
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
}
.btn01::after {
content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/arrow.png);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 45px;
    right: 5%;
    background-repeat: no-repeat;
	
}
.btn01 img {
    width: 70%;
	
}

.box01-txt {
	background-image: url(../images/bk_bijinesuman.png) ;
    background-repeat: no-repeat;
    background-position: center;
    padding: 12em 10em;
}


.btn01 dl{
	border: 3px solid #1ab6ff;
    background-color: #fff;
    border-radius: 40px;
}
.btn01 dt{
    background-color: #1ab6ff;
    color: #fff;
    line-height: 130%;
    padding: 15px;
    letter-spacing: 0.1em;
    font-size: 2.2rem;
border-top-left-radius: 30px; 
border-top-right-radius: 30px; 
    -webkit-border-top-left-radius: 30px;  
    -webkit-border-top-right-radius: 30px;  
    -moz-border-radius-topleft: 30px;  
    -moz-border-radius-topright: 30px;  
}
.btn01 dd.btn_txt01{
    color: #003f67;
    font-weight: bold;
    font-size: 3.0rem;
padding: 10px 0;
}
.btn01 dd.btn_txt02{
    background: linear-gradient(-135deg,#5ed2ff, #725ce0 );
    color: #fff;
    width: 52%;
    margin: 0px auto 20px auto;
    border-radius: 60px;
    padding: 10px 0;
    font-size: 2.8rem;
    letter-spacing: 2.5px;
}

.btn_icon {
    position: absolute;
    top: -70px;
    right: -28%
}



/*----------------------------------------------------
	box02
----------------------------------------------------*/

#box02 {
    background-color: #e6f8ff;
    padding: 5em 0;
}

.box02_list {
    background-color: #fff;
    border-radius: 20px;
    margin: 6em 0;
	display: flex;
    padding: 3em 30px;
	position: relative;
}
.box02_img {
	width: 50%;
}
.box02_img img{
	padding: 20px;
}

.box02_txt {
    width: 50%;
    text-align: left;
    line-height: 170%;
	padding: 20px;
}

.box02_txt h2{
text-align: left;
    padding: 0.25em 0.5em;
    color: #ed6500;
    background: transparent;
    margin-bottom: 20px;
    border-left: solid 10px #ed6500;
	
}
.box02_icon {
    position: absolute;
    top: -80px;
    right: 0;
}
.box02_icon img{
    width: 80%;
}



/*----------------------------------------------------
	box03
----------------------------------------------------*/

#box03 {
	background-image: url(../images/bk_box3.png) ;
    background-repeat: no-repeat;
    background-position: center;
    padding: 5em 0;
    background-size: cover;
}
.box03 {
    width: 50%;
    margin: 0 0 0 50%;
}
.box03 h2 {
    color: #fff;
    line-height: 130%;
    font-size: 4.6rem;
text-shadow: 3px 3px 7px #000; 
}

.box03-ttl001 {
    padding: 6em 0 2em 0;
}

h2.btn_h2{
    font-size: 3.6rem;
    color: #1ab6ff;
    letter-spacing: 0.2em;
    padding: 2em 0 0 0;
	
}


/*----------------------------------------------------
	box04
----------------------------------------------------*/
#box04 {
	background-color: #b8f3ff

}
#box04 .inner{
    padding: 1em 0;

}
#box04 .box04-ttl001 {
	background-image: url(../images/bk_box04.png) ;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
#box04 .box04-ttl001 img {
	padding: 3em 0 ;
	margin: 0 auto;
}

.box04_list {
    background-color: #fff;
    border-radius: 20px;
    margin: 6em 0;
	display: flex;
    padding: 3em 30px;
	position: relative;
    flex-wrap: wrap;
}
.box04_icon {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.box04_icon img {
    width: 80%;
}

.box04_list ul{
    display: flex;
    margin: 2em 0;
}
.box04_list ul li{
box-shadow: 0 0.9px 0.5px rgba(0, 0, 0, 0.057), 0 1px 0.1px rgba(0, 0, 0, 0.076), 0 1.1px 1.4px rgba(0, 0, 0, 0.086), 0 1.2px 7.8px rgba(0, 0, 0, 0.092), 0 2.4px 5.8px rgba(0, 0, 0, 0.1), 0 6px 13px rgba(0, 0, 0, 0.13);
}
.box04_list ul li:nth-child(2){
    margin: 0px 1% 0 1%;
}

.box04_list h2{
    width: 100%;
    margin: 3em 0 0 0;
    line-height: 160%;
    color: #003f67;
    font-size: 2.6rem;
	
}


#box04 .box04-ttl001 img {
    padding: 5em 0px 3em 0;
	width: 35%;
}






/*----------------------------------------------------
	box05
----------------------------------------------------*/

#box05 {
padding: 2em 0 5em 0;
	background-color: #b8f3ff;
}
#box05 .inner{

}
#box05 h3{
	font-size: 2.5rem;
}
.box05_list {
display: flex;
    justify-content: center;
	width: 100%;
}


.box05_list {
    background-color: #fff;
    border-radius: 20px;
    margin: 1em 0;
	display: flex;
    padding: 3em 30px;
	position: relative;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.box05_list:nth-child(2) {
    margin: 3em 0;

}


.box05_icon {
    position: absolute;
    right: 20px;
}
.box05_icon img {
    width: 80%;
}

.box05_list ul{
    display: flex;
    margin: 2em 0;
}
.box05_list ul li{
box-shadow: 0 0.9px 0.5px rgba(0, 0, 0, 0.057), 0 1px 0.1px rgba(0, 0, 0, 0.076), 0 1.1px 1.4px rgba(0, 0, 0, 0.086), 0 1.2px 7.8px rgba(0, 0, 0, 0.092), 0 2.4px 5.8px rgba(0, 0, 0, 0.1), 0 6px 13px rgba(0, 0, 0, 0.13);
}
.box05_list ul li:nth-child(2){
    margin: 0px 1% 0 1%;
}

.box05_list h2{
    margin: 0;
    line-height: 97%;
    color: #fff;
    font-size: 2.6rem;
    text-align: left;
    background-color: #003f67;
    padding: 25px;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    display: inline-table;
	
}
.box05_txt {
    width: 100%;
    text-align: left;
    line-height: 200%;
    padding: 30px 1.0em;
    border-top: 1px solid #2c2c2c;
    margin: 30px 0 0 0;
}

#box05 .box05-ttl001 img {
    padding: 5em 0px 3em 0;
	width: 35%;
}
#box05 h3 {
text-align: left;
    padding: 0.025em 0.5em;
    background: transparent;
    margin-bottom: 20px;
    border-left: solid 9px #003f67;
}
.box5_sub {
	width: 100%;
}

.box5_sub ul {
	flex-wrap: wrap;
}
.box5_sub ul li {
	width: 30%;
    border-radius: 30px;
}

.box5_sub_icon01:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/box5_sub_icon01.png);
  background-size: contain;
  vertical-align: middle;
    margin: 0 5px 5px 0px;
	  
}
.box5_sub_icon02:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/box5_sub_icon02.png);
  background-size: contain;
  vertical-align: middle;
     margin: 0 5px 5px 0px;
}
.box5_sub_icon03:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
  background-image: url(../images/box5_sub_icon03.png);
  background-size: contain;
  vertical-align: middle;
    margin: 0 5px 5px 0px;
}















/*----------------------------------------------------
	box06
----------------------------------------------------*/

#box06 {
padding: 1em 0 6em 0;
}
.box06-ttl001 {
	margin: 6em 0 0 0 ;
}

.box06_list dl {
	display: flex;
    flex-wrap: wrap;
    text-align: left;
    justify-content: center;
margin: 3em 0;
}
.box06_list dl .q_icon,
.box06_list dl .a_icon{

}
.box06_list dl .q_txt{
    width: 80%;
	background-color: #bcbcbc;
    font-size: 2.6rem;
    font-weight: bold;
    padding: 40px;
    color: #000;
}
.box06_list dl .a_txt{
    width: 80%;
    background-color: #131b3c;
    font-size: 2.3rem;
    font-weight: bold;
    padding: 20px 40px;
    color: #fff;
    line-height: 180%;
}

/*----------------------------------------------------
	box07
----------------------------------------------------*/

#box07 .box07_bk {
    color: #030303;
    font-weight: bold;
}
#box07 h2 {
    color: #030303;
font-size: 4.3rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 0;
}
#box07 {
padding: 3em 0;
}

.kenshinhyou p {
	font-size: 2.3rem;
    font-weight: bold;
}

.from_tb {
	display: flex;
    flex-direction: column;
}

.fromdl02 {
	border:none!important;
	margin:0!important;
	box-shadow:none!important;
	
}







/*----------------------------------------------------
	form
----------------------------------------------------*/


#form p{
	padding: 2% 0 0 0;
	display: inline-block!important;
}
#form button p{
	padding: 0% 0 0 0;
}

footer{
    background-color: #003f67;
    padding: 2em 0;
    color: #fff;
    font-size: 1.4rem;
}
footer img{
    width: 9%;
    margin: 0 auto;
    display: block;
    margin: 1em auto;
}


.address_fm {
margin-bottom: 10px;
}
.addressbox_fm {
	margin: 0 10px;
}
.tatemono_fm {
	margin: 0 0 0 10px;
}
	.sp{
		display: none;
	}
	.pc {
		display: block;
	}


div.mfp_buttons button {
    background: linear-gradient(-135deg,#5ed2ff, #725ce0 );
    color: #fff;
    width: 70%;
    margin: 0px auto 30px auto;
    border-radius: 60px;
    padding: 10px 0;
    font-size: 3.3rem;
    letter-spacing: 6.5px;
}


.line{
    padding: 0 0 6em 0;
}
.btn_line{
    width: 64%;
    margin: 0 auto;
}
#privacy {
    padding: 8em;
}

.privacypolicy_page p.pp_text {
    font-size: 14px;
    color: #333;
    line-height: 24px;
    margin: 2em 10px 3em;
    clear: both;
    text-align: left;
}


.privacypolicy_page .pp_box {
    border: 20px #efefef solid;
    padding: 0 40px 40px;
}

main#guide-privacy .message2, main#guide-privacy .message2, main#guide-kiyaku .message2, main#guide-kiyaku .message2 {
    text-align: left!important;
}


.privacypolicy_page .pp_box p.message2 {
    font-size: 17px !important;
    color: #333;
    border-bottom: dashed 1px #dcdddd;
    font-weight: normal !important;
    margin-top: 40px;
    padding-bottom: 6px;
    margin-bottom: 18px !important;
    text-align: left!important;
}
.privacypolicy_page li {
    font-size: 14px;
    text-align: left;
    line-height: 24px;
}

.ft_link {
	display: flex;
	justify-content: center;
    padding: 1em 0;
}
.ft_link a {
	padding: 0em 2em;
	color: #fff;
	
}


.company p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 60px auto 40px;
}
.company table {
  margin: 20px auto;
width: 75%;
  border-collapse: collapse;
  border-spacing: 0;
	
}
.company .tbl-r02 th {
  background: #003f67;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;
}
.company .tbl-r02 td {
    border: 1px solid #ccc;
    padding: 10px 30px;
    text-align: left;
}







@media screen and (max-width:1800px) {
.mv_inner {
    max-width: 1180px;
    margin: 0 auto;
}
	
}


@media screen and (max-width:1200px) {
html { font-size: 62.5%; }
	
.mv_inner {
    max-width: 90%;
    margin: 0 auto;
}
#box02 {
    background-size: cover;
    width: 100vw;
    background-position: center;
}
.mvbox-main {
    display: flex;

}
#box01 .box01-ttl001 {
    background-size: 100% 100%;
    min-height: 230px;
}
.btn01 {
    width: 70%;
}
	
.box05_list {
    margin: 0 0 3em 0;
}

	
	
	
	
	
	
}
@media screen and (max-width:1024px) {
	
html { font-size: 62.5%; }
	footer {
    font-size: 1.2rem;
    line-height: 1.6rem;
}
h1 {
    display: flex;
    margin: 2em 0 0 0;
    padding: 0 0 5em 0;
flex-direction: column;
    width: 90%;
}
#box01 .box01-ttl001 img {
    padding: 45px 0px;
    width: 70%;
}
.mv_inner {
    max-width: 100%;
    margin: 0 auto;
}
	
#box01 .box01-ttl001 img {
    padding: 6em 0px;
    width: 50%;
}
	#box01 {
		    margin: -7em 0 0 0;
	}
	
.btn01 img {
    width: 50%;
}
	
	.box04-ttl001 {
		margin: 2em 0 0 0 ;
	}
.inner {
    max-width: 90%;
    margin: 0 auto;
    overflow: hidden;
	}
	.sp{
		display: block
	}
	.pc {
		display: none;
	}
 
/* 最後はラインを描かない */
 
/* このクラスを、jQueryで付与・削除する */


/* 最初のspanをマイナス45度に */
 
/* 2番目と3番目のspanを45度に */
	
h1 {
    width: 25%;
    padding: 18px;
    display: block;
    margin: 0 auto;
}
.mvbox-main {
padding: 0 0 2em 0;
}
.btn01 {
    width: 65%;
}
#box04 .box04-ttl001 {
    background-size: 100% contain;
    min-height: 180px;
}
	
	.mvbox-sub {
    width: 100%;
    margin: 0 auto;
	}
	
#box01 {
    margin: 0em 0 0 0;
}	
#box01 .box01-ttl001 img {
    padding: 6em 0px 3em 0;
}
.box03 h2 {
    font-size: 3.6rem;
}
	
.box06_list dl .a_txt {
    font-size: 2.0rem;
}
	.fv_ttl img {
		width: 100%;
	}
	
#privacy {
    padding: 3em;
}
.company table {
    width: 90%;
}
	
	
	
}

/*----------------------------------------------------
	sp
----------------------------------------------------*/

@media screen and (max-width:789px) {
	
html { font-size: 62.5%; }
	#form .inner {
    padding: 0 20px 20px;
}
#box01 .box01-ttl001 {
    padding: 0 0 2em 0;

}
#box01 .box01-ttl001 img {
    padding: 2em 0px;
    width: 70%;
}
#box02 img {
    padding: 3em;
}
.btn01 img {
    width: 65%;
}
.box03-ttl001 {
    padding: 4em 0 2em 0;
}
#box04 .box04-ttl001 img {
		width: 75%;
	}
	
.inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5%;
}
	
	.mvbox-sub {
    width: 98%;
    margin: 0 auto;
	}
	
.mvbox-subbox03 li {
    padding: 5px 5px;
    font-size: 1.6rem;
width: 35%;
}
	
.btn01 {
    width: 80%;
}
	
.box02_list {
    flex-direction: column;
}
.box02_img img {
    padding: 0 50px;
}
.box02_img {
    width: 100%;
}
.box02_txt {
    width: 100%;
    text-align: left;
    line-height: 170%;
    padding: 20px 70px;
}
	br {
		display: none;
	}
	
#box04 .inner {
    padding: 3em 0;
    width: 95%;
}
	
.box04_list ul li {
    width: 45%;
    margin: 1em 3%
}
.box04_list ul li:nth-child(2) {
    margin: 1em 3%
}
	
#box05 .box05-ttl001 img {
    padding: 0em 0px 3em 0;
    width: 70%;
}
.box5_sub ul li {
    width: 45%;
    border-radius: 30px;
margin: 0.5em 5px;
}
.box5_sub ul li:nth-child(2) {
   margin: 0.5em 5px!important;
}
	
.box06_list dl .q_txt {
    font-size: 2.0rem;
}
.box06_list dl .a_txt {
    font-size: 1.6rem;
}
	
form#mailformpro .mfp_rows .sex {
    width: auto;
}
.mvbox-subbox01 {
    padding: 0 0em;
}
.mvbox-subbox02 {
    padding: 0 2em;
}
	
.box01-txt {
    padding: 13em 0em;
}
.btn_line {
    width: 89%;
}
.box03 h2 {
    font-size: 3.3rem;
}
	
#privacy {
    padding: 1em;
}
.privacypolicy_page .pp_box {
    border: 20px #efefef solid;
    padding: 0 1em 1em;
}
.privacypolicy_page p.pp_text {
    font-size: 13px;
    margin: 2em 5px 3em;
}
.privacypolicy_page .pp_box p.message2 {
    font-size: 16px !important;
}
.company table {
    width: 100%;
}
.company .tbl-r02 th {
    font-size: 1.6rem;
    padding: 5px;
}
.company .tbl-r02 td {
    padding: 5px 20px;
    font-size: 1.4rem;
}
  .company  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }

 .company  .tbl-r02 th,
 .company  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
    text-align: center;
  }
	
}

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

html { font-size: 62.5%; }
.inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 3%;
}
	
.mvbox-subbox01 {
    display: flex;
    justify-content: center;
    z-index: 9999;
    margin: -2.5em 0 0em 0;
    padding: 0 0.4em
}

.mvbox-subbox02 {
    padding: 0;
}

	
.mvbox-subbox03 {
    display: flex;
    justify-content: center;
    margin: 1em 0;
    flex-wrap: wrap;
}
	.mvbox-subbox03 li {
    margin: 5px 5px;
    width: 46%;
		padding: 0;
	}

.box01-list li:nth-child(2), .box01-list li:nth-child(5), .box01-list li:nth-child(8), .box01-list li:nth-child(11), .box01-list li:nth-child(14) {
		margin: 10px 0 0 0;
}
.box01-list li {
    width: 48%;
		margin: 10px 0 0 0;
}
	
	.box01-list li:nth-child(even){
		margin: 10px 0 0 6px;
	} 
#box01 .box01-ttl001 {
    min-height: auto;
padding: 0 0 1em 0;
}
#box01 .inner {
    padding:0;
}
.box01-list ul {
    justify-content: center;
}
.mvbox-main {
    padding: 0 0 1em 0;
    width: 100%;
}
#box01 .box01-ttl001 img {
    padding: 0em 0px;
    margin: 4em 0 0 0;
width: 90%;
}
.box01-txt {
    background-size: contain;
    padding: 5em 0;
    margin: 1em;
}
.btn01 dt {
    background-color: #1ab6ff;
    color: #fff;
    line-height: 130%;
    padding: 15px;
    letter-spacing: 0.2em;
    font-size: 1.0rem;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    -webkit-border-top-left-radius: 30px;
    -webkit-border-top-right-radius: 30px;
    -moz-border-radius-topleft: 30px;
    -moz-border-radius-topright: 30px;
}
	
.btn_icon {
    position: absolute;
    top: -40px;
    right: -28%;
}
	
	
#box02 img {
padding: 1em 0 1em 0;
    width: 100%;
}
.btn01 {
    margin: 3em auto;
}
.box04-ttl001 img {
    width: 85%;
}
#box05 {
    padding: 3em 0;
}
.box06-ttl001 {
    margin: 0em 0 0 0;
line-height: 220%;
}
.kenshinhyou p {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 130%;
}
	
form#mailformpro dl dt {
    float: none;
    width: 100%;
    font-size: 15px;
    padding: 0px 15px;
    text-align: left;
    border: none;
}
#box07 .box07_bk {
    padding: 1em 0;
}
#form .inner {
    padding: 0 10px 20px;
}
.btn01 img {
    width: 85%;
}
.mfp_rows .mfp_col3 {
    width: 50%!important;
}
.mfp_rows .mfp_col4 {
    width: 80%!important;
}
	.mfp_col5,.mfp_col7 {
		width: 100%!important;
	}
	
h1 img {
    width: 100%;
}
#box04 {
    margin: 0em 0 0 0;
}
	.box05-ttl001 img {
		width: 75%;
	}
	.box06-ttl001 img {
		width: 70%;
		margin: 0 auto;
	}
footer img{
        width: 30%;
}
	
#mv {
    background-size: 100vw contain;
}
.box03-ttl001 h2 {
    line-height: 130%;
font-size: 2.6rem;
}
.line {
    padding: 0 0 4em 0;
}
	
.btn_line {
    width: 95%;
}
	
	
.btn01 {
    margin: 4em auto 1em auto;
    background-color: #1ea6c2;
    width: 90%;
	}
.btn01 img {
    width: 60%;
}
.btn01 dd.btn_txt01 {
    font-size: 2rem;
    padding: 0px 0;
}
.btn01 dd.btn_txt02 {
background: linear-gradient(-135deg,#5ed2ff, #725ce0 );
    color: #fff;
    width: 65%;
    margin: 0px auto 10px auto;
    border-radius: 60px;
    padding: 0px 0 3px 0;
    font-size: 2.0rem;
    letter-spacing: 1.5px;
}
.btn01 dl {
    border-radius: 10px;
}	
.btn01 dt {

    border-top-left-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    -moz-border-radius-topleft: 0;
    -moz-border-radius-topright: 0;
}
	
#box02 {
    padding: 3em 0;
}
.box02_list {
    margin: 3em 0;

}
#box02 .box02_icon img {
    width: 50%;
}
.btn01::after {
    width: 20px;
    height: 20px;

}
.box02_list {
    padding: 1em 30px;
}
.box02_txt {
    padding: 5px 0;
}
	
.box02_icon {
    right: -50px;
}
.box03 {
    width: 100%;
    margin: 0;
}
.box03-ttl001 {
    padding: 2em 0 2em 0;
}
h2 {
font-size: 2.0rem;

}
	.box02_txt h2{
	    padding: 0.05em 0.5em;
		font-size: 2.0rem;
    margin-bottom: 5px;
	}
	.box02_txt p{
		font-size: 1.4rem;
	}
h2.btn_h2 {
    font-size: 2rem;
    letter-spacing: 0.05em;
    line-height: 140%;
}
	#box04 .box04-ttl001 {
    background-image: url(../images/bk_box04_sp.png);
    margin: 0;
    background-size: 100% 100%;
	    min-height: auto;
padding: 2em 0 0 0;
	}
#box04 .box04-ttl001 img {
    padding: 1em 0px 1em 0;
    width: 90%;
}
#box05 h3 {
    font-size: 2.0rem;
    padding: 0 0.5em;
    margin: 0;
    line-height: 170%;
}
#box04 .inner {
    padding: 1em 0;
}
.box05_list {
flex-direction: column;
    width: 95%;
    margin: 2em auto;
    padding: 4em 20px;
}
.box05_list:nth-child(2) {
    margin: 3em auto;
}
h1 {
    width: 45%;
}
.box04_list {
    margin: 2em 0;
    padding: 1em 0px;

}
.box04_list h2 {
    font-size: 2.0rem;
}
.box04_list ul {
    display: flex;
    margin: 1em 0;
    flex-wrap: wrap;
    justify-content: center;
}
.box04_list ul li {
    width: 100%;
    margin: 0.5em 3%;
}
.box04_icon {
    position: absolute;
    top: -40px;
    left: 50%;
}
	
.box04_list ul li:nth-child(2) {
    margin: 0.5em 3%;
}
#box05 .box05-ttl001 img {
    padding: 0em 0px 0em 0;
    width: 90%;
}
.box05_icon {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
	
#box05 .inner {
    padding: 0em 0;

}


.box05_list h2 {
    margin: 0;
    line-height: 97%;
    color: #fff;
    font-size: 2.0rem;
    text-align: center;
}
	
.box05_txt {
    line-height: 180%;
    font-size: 1.4rem;
}
.box05_list ul {
    display: flex;
    margin: 0 0 2em 0;
    flex-wrap: wrap;
    justify-content: center;
}
.box05_list ul li {
    box-shadow: 0 0.9px 0.5px rgba(0, 0, 0, 0.057), 0 1px 0.1px rgba(0, 0, 0, 0.076), 0 1.1px 1.4px rgba(0, 0, 0, 0.086), 0 1.2px 7.8px rgba(0, 0, 0, 0.092), 0 2.4px 5.8px rgba(0, 0, 0, 0.1), 0 6px 13px rgba(0, 0, 0, 0.13);
    width: auto;
    margin: 5px;
}
	
	
.box05_list ul li:nth-child(2) {
    margin: 5px!important;
}
	.box5_sub ul{
    justify-content: end;
    margin: 1em 0 0 0;
	}
	
	.box5_sub ul li{
padding: 0 22px;
    margin: 1em 0 0 0;
    font-size: 1.4rem;
	}
.box05_list:nth-child(2) {
    margin: 3em auto;
}
	
.box05_list .box5_sub ul li:nth-child(2) {
    margin: 1em 0 0 0!important;
}
	
	
.box06_list dl .q_icon, .box06_list dl .a_icon {
width: 20%;
}
.box06_list dl .q_icon{
	background-color: #d9d9d9
}
.box06_list dl .a_icon {
	background-color: #16235e
		
}
	
.box06_list dl .q_icon img, .box06_list dl .a_icon img {
    width: 100%;
}
#box06 {
    padding: 3em 0 2em 0;
}
.box06_list dl .q_txt {
font-size: 1.4rem;
    padding: 20px;
    line-height: 161%;
}
.box06_list dl .a_txt {
    font-size: 1.4rem;
    padding: 20px;
    line-height: 161%;
	}
	
.btn01ft::after {
    width: 25px;
    height: 30px;
    top: 35px;
    right: 5%;

}
	
#box07 h2 {
    color: #030303;
    font-size: 2.3rem;
}
.kenshinhyou p {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 130%;
}
	
.box04_icon img {
    width: 50%;
}
#box03 {
    background-position: inherit;
}
.company .tbl-r02 td {
    padding: 20px 10px;
    line-height: 200%;

}
	.sp420 {
		display: block;
	}
	
}


@media screen and (max-width:330px) {
html { font-size: 62.5%; }
	
	
.btn01 dd.btn_txt02 {
    width: 90%;
    font-size: 1.8rem;
}
	
h2.btn_h2 {
    font-size: 1.8rem;
}
.box04_list h2 {
    font-size: 1.5rem;
}
	
	
	
}








