@charset "UTF-8";

/*
	font-family: 'Zen Kaku Gothic New', sans-serif;
*/
/*
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
*/
* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    line-height: 1.8em;
    color: #333333;
    font-size: 16px;
    letter-spacing: 0.05em;
}

p {
    line-height: 1.7em;
    color: #333333;
    font-size: 16px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    letter-spacing: 0.05em;
}

a {
    text-decoration: none;
    color: #333333;
    -webkit-transition: all 0.s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

ul li {
    list-style-type: none;
}

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

a:hover {
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70);

}



.fw_b {
    font-weight: 700 !important;
}

.c_01 {
    color: #005FAC;
    font-weight: 700;
}

/**************/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
    letter-spacing: 0.08em;
}

/**************/

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

/**************/
.txt_c {
    text-align: center !important;
}

.txt_r {
    text-align: right !important;
}

.txt_l {
    text-align: left !important;
}

/**************/

.float_sb {
    display: flex;
    justify-content: space-between;
}

.float_sa {
    display: flex;
    justify-content: space-around;
}

.float_ce {
    display: flex;
    justify-content: center;
}

.float_ft {
    display: flex;
    justify-content: flex-start;
}

.float_en {
    display: flex;
    justify-content: flex-end;
}


.type_01,
.type_02 {
    display: flex;
    justify-content: space-between;
}

.type_01 .l_box {
    max-width: 525px;
    width: 47%;
}

.type_01 .r_box {
    max-width: 525px;
    width: 47%;
}

.type_02 .l_box {
    max-width: 525px;
    width: 47%;
    order: 2;
}

.type_02 .r_box {
    max-width: 525px;
    width: 47%;
    order: 1;
}

.type_01 .r_box img,
.type_01 .l_box img,
.type_02 .r_box img,
.type_02 .l_box img {
    max-width: 525px;
    width: 100%;
}


.type_03 {
    display: flex;
    justify-content: space-between;
}

.type_03 .r_box {
    max-width: 850px;
    width: 72%;
}

.type_03 .l_box {
    max-width: 250px;
    width: 23%;
}

.type_04 {
    display: flex;
    justify-content: space-between;
}

.type_04 .r_box {
    max-width: 620px;
    width: 69%;
    order: 1;
}

.type_04 .l_box {
    max-width: 230px;
    width: 27%;
    order: 2;
}

.type_04 .l_box img {
    max-width: 100%;
}



.type_05 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.type_05 .r_box {
    max-width: 620px;
    width: 69%;
}

.type_05 .l_box {
    max-width: 230px;
    width: 27%;
}

.type_05 .l_box img {
    max-width: 100%;
}


/**************/
article {
    padding-bottom: 120px;
}

.frame {
    max-width: 1130px;
    padding: 0 15px;
    margin: auto;
}

.w900 {
    max-width: 900px;
    margin: auto;
}

.w600 {
    max-width: 600px;
    margin: auto;
}

.bg_01 {
    background-color: #F7F7F7;
    border-radius: 20px;
    padding: 40px;
}

.bg_02 {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px;
}

.bg_03 {
    background-color: #F8F5EF;
}

/**************/

.txt_link a {
    text-decoration: underline;
}

.txt_link a:hover{
	color: #00B1F1;
	opacity: 1;
}
/**************/
.btn_01 {
    position: relative;
    width: 250px;
    margin: 35px auto 0;
}

.btn_01:after {
    position: absolute;
    content: "";
    background-image: url("../images/common/icon_01.png");
    width: 8px;
    height: 10px;
    background-size: 100%;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.btn_01:before {
    position: absolute;
    content: "";
    width: 1px;
    height: 22px;
    right: 50px;
    top: 0;
    bottom: 0;
    margin: auto;
    border-left: 1px solid #ffff;
}

.btn_01 a {
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 700;
    background-color: #005FAC;
    border-radius: 50px;
    padding: 15px 62px 15px 30px;
    display: block;
	text-align: left !important;
}


.btn_01 a:hover,
.btn_02 a:hover {
    opacity: 1;
    background-color: #00B1F1;
}

.btn_02 a {
    background-color: #005FAC;
    color: #fff !important;
    border-radius: 50px;
    display: block;
    padding: 15px 30px !important;
    font-size: 14px !important;
}


/**************/

.ttl_01 {
    text-align: center;
    font-size: 30px;
    line-height: 1.6em;
    padding-bottom: 25px;
    background-image: url("../images/common/ttl_icon.png");
    background-size: 50px;
    background-position: bottom center;
    margin-bottom: 40px;
}


.ttl_01_l {
    text-align: left;
    font-size: 30px;
    line-height: 1.6em;
    padding-bottom: 25px;
    background-image: url("../images/common/ttl_icon.png");
    background-size: 50px;
    background-position: bottom left;
    margin-bottom: 40px;
}


.ttl_01_w {
    text-align: center;
    font-size: 30px;
    line-height: 1.6em;
    padding-bottom: 25px;
    background-image: url("../images/common/ttl_icon_w.png");
    background-size: 50px;
    background-position: bottom center;
    margin-bottom: 40px;
    color: #fff;
}


.ttl_02 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 25px;
    line-height: 1.6em;
    font-weight: 700;
}

.ttl_03 {
    text-align: center;
    font-size: 32px;
    font-family: "Montserrat", sans-serif;
    line-height: 1.3em;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    color: #005FAC;
    margin-bottom: 20px;
}

.ttl_03 span {
    font-size: 14px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    color: #00B1F1;
    display: block;
    margin-top: 5px;
    letter-spacing: 0;
	line-height: 1.5em;
}

.ttl_04 {
    font-size: 24px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    color: #005FAC;
    line-height: 1.5em;
    border-bottom: 2px solid #005FAC;
    text-align: center;
}


.ttl_05 {
    font-size: 38px;
    line-height: 1.5em;
    margin-bottom: 10px;
}

.ttl_06 {
    font-size: 20px;
    line-height: 1.5em;
    color: #005FAC;
}

.ttl_07 {
    font-size: 20px;
    line-height: 1.5em;
    color: #005FAC;
    margin-bottom: 17px;
}

.ttl_07_l {
    font-size: 20px;
    line-height: 1.5em;
    color: #005FAC;
    margin-bottom: 17px;
    text-align: left;
}

.ttl_08 {
    text-align: center;
    font-size: 18px;
    line-height: 1.7em;
    color: #005FAC;
    margin-bottom: 17px;
    font-weight: 700;
}

.ttl_09 {
    text-align: center;
    font-size: 18px;
    line-height: 1.5em;
    color: #333;
    margin-bottom: 17px;
    font-weight: 700;
}

.ttl_10 {
    font-size: 18px;
    line-height: 1.5em;
    color: #333;
    margin-bottom: 10px;
    font-weight: 700;
}

/**************/


.tag {
    text-align: center;
}

.tag span {
    color: #005FAC;
    font-size: 18px;
    font-weight: 700;
    background-color: #ECF9FF;
    border-radius: 50px;
    padding: 10px 20px;
    line-height: 1.4em;
    margin: 0 5px;
}







/**************/


.iw100 img {
    max-width: 100%;
}

.iw350 img {
    max-width: 350px;
    width: 100%;
}


.iw550 img {
    max-width: 550px;
    width: 100%;
    margin: auto;
    display: block;
}

/**************/

.list_01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_01 li {
    text-align: center;
    border: 2px solid #DCDCDC;
    border-radius: 20px;
    padding: 40px 15px;
    max-width: 425px;
    width: 48%;
    margin-bottom: 50px;
}

.list_01 li .iw350 {
    margin: 30px 0 30px;
}



.list_02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_02 li {
    max-width: 245px;
    width: 23%;
    text-align: center;
}

.list_02 li img {
    max-width: 245px;
    width: 100%;
    margin-bottom: 15px;
}




.list_03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_03 li {
    max-width: 525px;
    width: 48%;
    margin-bottom: 50px;
    background-color: #F8F5EF;
    border-radius: 20px;
    padding: 0 40px 40px;
}


.list_04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_04 li {
    max-width: 525px;
    width: 48%;
    margin-bottom: 50px;
}

.list_04 li img {
    display: block;
    margin: 0 auto 30px;
}

/**************/




.list_a p {
    background-image: url("../images/common/icon_02.png");
    padding-left: 13px;
    background-position: left 11px;
    line-height: 1.5em;
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 400;
    background-size: 5px 5px;
    text-align: left;
}

.list_a p:last-child {
    margin-bottom: 0;
}









/**************/

/**************/

/**************/

/**************/

/**************/


.line_a {
    background-image: url("../images/common/icon_03.jpg");
    background-position: left center;
    background-size: 12px;
    background-repeat: repeat-x;
    padding: 2px;
}

/**************/

.table_01 {
    border-collapse: collapse;
    border: 0;
    font-size: 16px;
    width: 100%;
}

.table_01 th {
    border-bottom: 1px solid #DCDCDC;
    text-align: left;
    padding: 24px 0 23px;
    width: 150px;
    line-height: 1.4em;
    font-size: 18px;
}

.table_01 td {
    border-bottom: 1px solid #DCDCDC;
    padding: 24px 15px 23px 15px;
    line-height: 1.7em;
}








.table_02 {
    border-collapse: collapse;
    border: 2px solid #005FAC;
    width: 100%;
    background-color: #fff;
}

.table_02 th {
    background-color: #ECF9FF;
    padding: 15px 10px;
    color: #005FAC;
    font-size: 16px;
    font-weight: 700;
    border-left: 1px solid #005FAC;
    border-bottom: 1px solid #005FAC;
    white-space: nowrap;
}

.table_02 td {
    padding: 15px 10px 17px;
    border-bottom: 1px solid #005FAC;
    border-left: 1px solid #005FAC;
    line-height: 1.6em;
    width: 4%;
    font-weight: 400;
    color: #333333;
    text-align: center;
}

.table_02 .t_w_01 {
    width: 20%;
}

.table_02 .t_w_02 {
    width: 60%;
}

.table_02 .t_w_03 {
    width: 35%;
}

.table_02 .t_w_04 {
    width: 28%;
}

.table_02 .t_w_05 {
    width: 30%;
}

.table_02 .table_fix {
    width: 12%;
}



.table_03 {
    border-collapse: collapse;
    border: 2px solid #005FAC;
    width: 100%;
    background-color: #fff;
}

.table_03 th {
    background-color: #ECF9FF;
    padding: 15px 10px;
    color: #005FAC;
    font-size: 16px;
    font-weight: 700;
    border-left: 1px solid #005FAC;
    border-bottom: 1px solid #005FAC;
    white-space: nowrap;
}

.table_03 td {
    padding: 15px 10px 17px;
    border-bottom: 1px solid #005FAC;
    border-left: 1px solid #005FAC;
    line-height: 1.6em;
    width: 4%;
    font-weight: 400;
    color: #333333;
    text-align: center;
    white-space: nowrap;
}

.table_03 .t_w_01 {
    width: 20%;
}

.table_03 .t_w_02 {
    width: 60%;
}

.table_03 .t_w_03 {
    width: 35%;
}

.table_03 .t_w_04 {
    width: 28%;
}

.table_03 .t_w_05 {
    width: 30%;
}

.table_03 .table_fix {
    width: 12%;
}

/**************/









/**************/

#top_head {
    position: fixed;
    width: 100%;
    background-color: #fff;
    top: 0;
    z-index: 100;
}

#top_head:after {
    content: "";
    display: block;
}

#top_head a,
#top_head {
    text-decoration: none;
}

#top_head .head_inner {
    position: relative;
    box-shadow: 0 3px 12px rgba(000, 000, 000, 0.16);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

#top_head .head_inner h1 {
    text-align: center;
    padding: 15px 0;
}

#top_head .head_inner h1 img {
    max-width: 124px;
}

.pc_nav ul {
    display: flex;
}

.pc_nav ul li {}





.pc_nav > ul {
    max-width: 1130px;
    margin: auto;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pc_nav > ul > li {
    position: relative;
    margin-left: 30px;

}

.pc_nav > ul a {
    display: block;
    font-size: 16px;
    line-height: 1.4em;
    font-weight: 700;
    color: #005FAC;
    padding: 14px 3px;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.pc_nav > ul a:hover {
    color: #00B1F1;
    opacity: 1;
}


/*********/

.h_sp_area {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    box-shadow: 0 0 6px rgba(000, 000, 000, 0.2);
    z-index: 10000;
}

.sp_head {
    height: 60px;

    background: #fff;
    display: none;

    width: 100%;

}

.sp_box {
    position: fixed;
    height: 100%;
    z-index: 2000;
    top: 0;
    width: 100%;
    display: none;
    left: 0;
}

.sp_nav {
    padding-top: 30px;
    display: none;
    position: absolute;
    top: 60px;
    right: -100%;
    overflow-y: scroll;
    height: 100%;
    padding-bottom: 100px;
    background-color: #F8F5EF;
    width: 100%;
    max-width: 100%;
    box-shadow: inset 0 6px 6px -6px rgba(0, 0, 0, 0.2);
}

.sp_nav > ul {
    width: 100%;
    z-index: 20000;
    height: 100vh;
    background-image: url("../images/common/sp_nav_img.png");
    background-size: 335px;
    background-position: center 140px;

}

.sp_nav > ul > li {
    width: 100%;
    line-height: 1.4em;
    text-align: center;
}

.sp_nav > ul > li > a {
    color: #005FAC;
    padding: 14px 20px 12px 25px;
    display: block;
    font-weight: 600;
    font-size: 14px;
    position: relative;
}

.sp_nav > ul > li:last-child {
    margin-bottom: 100px;
    padding-top: 20px;
}

.sp_nav > ul > li:last-child a {
    font-weight: 400;
}

.sp_nav > ul > li.sp_btn {
    padding-top: 20px;
}

.sp_nav > ul > li.sp_btn a {
    background-color: #005FAC;
    border-radius: 100px;
    padding: 14px 10px;
    max-width: 250px;
    width: 100%;
    display: block;
    margin: auto;
}

.sp_nav > ul > li.sp_btn img {
    width: 119px;
}

.s_logo {
    position: absolute;
    left: 20px;
    top: 14px;
}

.s_logo img {
    max-width: 90px;
    width: 100%;
}

/*******************/

#navToggle {
    display: block;
    position: fixed;
    right: 20px;
    top: 20px;
    width: 30px;
    height: 27px;
    cursor: pointer;
    z-index: 1000000;
    padding: 4px;

}



#navToggle div {
    position: relative;
}

#navToggle span {
    display: block;
    position: absolute;
    /*#navToggle div に対して*/
    width: 100%;
    border-bottom: solid 2px #005FAC;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out
}

#navToggle span:nth-child(1) {
    top: 0;
    width: 100%;
}

#navToggle span:nth-child(2) {
    top: 7px;
    width: 100%;
}

#navToggle span:nth-child(3) {
    top: 14px;
    width: 100%;
}

.openNav #navToggle span:nth-child(1) {
    top: 8px;
    width: 100%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right: 0px;
    border-bottom: solid 2px #005FAC;
}


/*2番目と3番目のspanを45度に*/

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
    right: 0px;
    top: 8px;
    width: 100%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-bottom: solid 2px #005FAC;
}

.openNav #navToggle:after {
    content: "";
    text-align: center;
    margin: 0 auto;
    width: 40px;
    left: 0;
    right: 0;
}


/**************/

.page_ttl_area {
    background-color: #F8F5EF;
    height: 195px;
    margin-top: 77px;
}

.page_ttl_area .inner {
    height: 195px;
    justify-content: center;
    align-items: center;
    text-align: center;
    display: flex;
    padding-top: 20px;
}

.page_ttl_area .page_ttl {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #005FAC;

}

.page_ttl_area .page_ttl span {
    display: block;
    font-size: 15px;
    margin-top: 12px;
    letter-spacing: 0.07em;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    color: #00B1F1;
}




/******************/

.pan_list {
    width: 100%;
    padding: 6px 0px;
    margin-bottom: 90px;
}

.pan_list ul {
    padding: 0 10px;
    line-height: 1.4em;
}


.pan_list ul li {
    display: inline;
    color: #005FAC;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3em;
    position: relative;
    padding-left: 12px;
    margin-left: 4px;
}

.pan_list ul li:first-child {
    padding-left: 0;
    margin-left: 0;
}

.pan_list ul li:last-child a {
    margin-right: 0;
    color: #005FAC;
}

.pan_list ul li a {
    position: relative;
    display: inline;
    color: #005FAC;
    font-size: 11px;
}

.pan_list ul li:after {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    background-image: url("../images/common/icon_pan.png");
    width: 6px;
    height: 11px;
    background-size: 100%;
}

.pan_list ul li:first-child:after {
    content: "";
    right: 0;
    background-image: none;
}

/*******************/
#top_head {}

.mv_area {
    margin-top: 50px;
    padding-top: 110px;
}

.mv_area:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 33%;
    height: 500px;
    background-color: #ECF9FF;
    z-index: -1;
}


.mv_img {
    height: 550px;
    background-image: url("../images/top/mv_img.jpg");
    background-position: center;
    background-size: cover;
}


.mv_area .inner {
    padding: 50px;
}


.top .box01 {
    padding: 170px 0 130px;
    background-image: url("../images/top/bg_01.jpg");
    background-size: 2040px;
    background-position: center 50px;
    margin-bottom: 110px;
}

.top .box02 {
    margin-bottom: 120px;
}

.top .box02 .btn_01 {
    margin-left: 0;
}

.top .box03 {
    margin-bottom: 120px;
}

.top .box04 {
    margin-bottom: 120px;
}

.top .box04 .btn_01 {
    margin-top: 0;
}

.top .box05 {
    background-image: url("../images/top/bg_02.jpg");
    background-size: cover;
    height: 450px;
    background-position: bottom;
    text-align: center;
    padding-top: 80px;
    margin-bottom: 120px;
}


.top .box06 .iw550 {
    margin: 40px 0 20px;
}








/*****************/
.seminar .type_01 {
    margin-bottom: 30px;
	margin-top: 50px;
}

.seminar .tag {
    margin-bottom: 30px;
}




/*****************/


.company .box01 {
    margin-bottom: 120px;
}

.company .box01 .line_a {
    margin: 30px 0;
}


.company .box01 .bg_01 {
    text-align: center;
}

.company .box01 .type_04 {
    margin-bottom: 140px;
}

.company .box01 .w900 .inner {
    margin-bottom: 80px;
}

.company .box01 .w900 .inner:last-child {
    margin-bottom: 0;
}

.company .box01 .w900 .inner .ttl_03 {
    margin-top: -62px;
}


.company .box01 .inner_a .mb30 {
    border-bottom: 1px solid #DCDCDC;
    padding-bottom: 25px;
    margin-bottom: 25px !important;
}


.company .box02 .ttl_01{
	margin-bottom: 20px;
}
/*****************/


.lesson .box01,
.lesson .box02,
.lesson .box04 {
    margin-bottom: 120px;
}

.lesson .box01 .type_01{
	margin-bottom: 30px;
}
.lesson .box03 .bnr_01{
	text-align: center;
}
.lesson .box03 .bnr_01 img{
	max-width: 500px;
	width: 100%;
}

.lesson .box00{
	padding-bottom: 120px;
}
.form_container iframe {
    width: 100%;
    height: 750px;
}



/*****************/
.service {
    padding-bottom: 70px;
}

.service .box01 {
    margin-bottom: 120px;
}

.service .box01 .iw100 {
    margin-bottom: 50px;
    margin-top: 40px;
}

.service .box01 .w900 .inner {
    margin-bottom: 30px;
}

.service .box01 .w900 .inner:last-child {
    margin-bottom: 0;
}

.service .box02 .list_03 {
    margin-top: 50px;
}

.service .box02 ul li .no_img {
    text-align: center;
    margin-bottom: 20px;
}

.service .box02 ul li .no_img img {
    max-width: 126px;
}

.service .box02 ul li .mb30 {
    border-bottom: 1px solid #DCDCDC;
    padding-bottom: 25px;
    margin-bottom: 25px !important;
}


/*****************/

.message .box01,
.message .box02 {
    margin-bottom: 120px;
}

.message .box01 .type_01 {
    margin-bottom: 65px;
}

.message .box02 .w900 {
    margin-bottom: 60px;
}

.message .box02 .w900 .type_05 {
    margin-bottom: 30px;
}

.message .box02 .w900 .line_a {
    margin: 40px 0 40px;
}


.message .box03 {
    margin-bottom: 70px;
}

.message .box04 {
    padding: 80px 0;
    margin-bottom: 120px;
}

.message .box05 .inner {
    margin-bottom: 50px;
}

.message .box05 .inner:last-child {
    margin-bottom: 0;
}

/*****************/

.contact .box01 {
    margin-bottom: 80px;
}

.contact .w600 .inner {
    border: 2px solid #DCDCDC;
    text-align: center;
    border-radius: 20px;
    padding: 35px 30px;
}

.contact .w600 .inner .ttl_02 {
    margin-bottom: 20px;
}

.contact .mail_img img {
    max-width: 324px;
    width: 100%;
}





.form_area {
    border-collapse: collapse;
    border: 0;
    width: 100%;

}

.form_area th {
    width: 30%;
    text-align: left;
    font-size: 20px;
    padding: 30px 30px 23px 60px;
    color: #005FAC;
    font-weight: bold;
    min-width: 290px;
    line-height: 1.4em;
    position: relative;
    vertical-align: top;
}

.form_area td {

    padding: 23px 0 23px 20px;
    width: 100%;
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}

.form_area th span {
    color: #fff;
    background-color: #00B1F1;
    font-size: 13px;
    line-height: 1em;
    font-weight: 700;
    padding: 6px 4px 6px;
    position: absolute;
    top: 31px;
    left: 0;
    margin: auto;
    width: 45px;
    text-align: center;
    border-radius: 50px;
}

.form_area input,
.form_area textarea {
    padding: 10px 10px;
    width: 100%;
    background-color: #fff;
    font-size: 14px;
    color: #333;
    border: 1px solid #B4B4B4;
}

.form_area input[type="file"] {
    background-color: #fff;
}

.form_area input[type="radio"],
.form_area input[type="checkbox"] {
    width: auto;
}

.form_area .type1 {
    width: 50% !important;
}

.cont_form_btn {
    width: 250px;
    margin: 40px auto 0;
    position: relative;
}

.cont_form_btn input[type="submit"] {
    width: 250px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    position: relative;
    display: inline-block;
    cursor: pointer;
    letter-spacing: 0.05em;
    background-color: #005FAC;
    border-radius: 50px;
    padding: 15px;
}






.cont_form_btn input[type="submit"]:hover {
    opacity: 1;
    background-color: #00B1F1;
}




.form_area .cp_ipselect {
    width: 50%;
    text-align: center;
}

.form_area .cp_ipselect select {
    padding: 15px 10px;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.form_area .cp_ipselect select::-ms-expand {
    display: none;
}

.form_area .cp_ipselect.cp_sl01 {
    position: relative;
    width: 100%;
    text-align: left;
}

.form_area .cp_ipselect.cp_sl01::before {
    position: absolute;
    top: 19px;
    right: 16px;
    font-size: 14px;
    padding: 0;
    color: #333333;
    content: "";
    background-image: url("../images/common/icon_04.png");
    width: 11px;
    height: 7px;
    background-size: 100%;
}

.form_area .cp_ipselect.cp_sl01 select {
    padding: 10px 38px 10px 8px;
    color: #333;
    font-weight: normal;
    border: 1px solid #B4B4B4;
    font-size: 14px;
    background-color: #fff;
}





/*****************/




































.privacy {}

.privacy .w900 .inner {
    margin-bottom: 50px;
}






.not_found {
    text-align: center;
}

/*******************/

.editor {
    padding: 0;
    word-break: break-all;
    margin-bottom: 50px;
}

.editor img {
    height: auto;
    margin: 0px auto 15px;
    max-width: calc(100% - 14px);
    display: block;
    border-radius: 10px;
}

.editor a {
    color: #007AC7;
    text-decoration: underline;
}



.editor p {
    margin-bottom: 20px;
}

.editor p:last-child {
    margin-bottom: 0;
}


.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
    border: none;
    text-align: left;
    padding: 0;
}

.editor h1:after,
.editor h2:after,
.editor h3:after,
.editor h4:after,
.editor h5:after,
.editor h6:after {
    display: none;
}

.editor h2 {
    background-color: #E7F4FD;
    padding: 10px;
    line-height: 1.4em;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}

.editor h3 {
    color: #007AC7;
    font-size: 20px;
    line-height: 1.4em;
    border-left: 10px solid #007AC7;
    padding-left: 10px;
    font-weight: 600;
    margin-bottom: 12px;
}

.editor h4 {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px;
    border: 2px solid #D9D8D8;
    border-radius: 5px;
    color: #007AC7;
}

.editor .wp-block-table thead {
    border: none;
}

.editor table {
    border-collapse: collapse;
    width: 100%;
    border: 2px solid #007AC7;
    margin-bottom: 40px;
}

.editor table th {
    background-color: #DDECF8;
    color: #333333;
    text-align: center;
    vertical-align: middle;
    padding: 12px 10px;
    border: 1px solid #007AC7;
    width: 250px;
    letter-spacing: 0.05em;
    font-size: 16px;
}

.editor table td {
    text-align: left;
    vertical-align: middle;
    padding: 13px 15px 13px 25px;
    background-color: #fff;
    border: 1px solid #007AC7;
    line-height: 1.6em;
}

.editor strong {
    /*    color: #007AC7;*/
    font-weight: bold;
}

.editor em {
    font-style: italic;
}

.editor ul,
.editor ol {
    margin-bottom: 20px;
}

.editor ul li,
.editor ol li {
    padding: 0px 30px 0px 20px;
    margin-left: 20px;
    position: relative;
    list-style: none;
}

.editor ul li:before {
    content: '・';
    color: #007AC7;
    position: absolute;
    left: -7px;
    font-weight: bold;
    font-size: 25px;
    text-align: left;
}

.editor ol {
    counter-reset: editor_number;
}

.editor ol li {
    margin-left: 10px;
    padding: 0 30px 0 28px;
}

.editor ol li:before {
    counter-increment: editor_number;
    content: counter(editor_number)".";
    color: #007AC7;
    position: absolute;
    left: 0;
    width: 24px;
    text-align: right;
}

.editor blockquote {
    background-color: #F4F4F4;
    padding: 50px;
    margin: 0px 0px 30px 0px;
    position: relative;
}

.editor blockquote:before {
    content: url("../images/common/icon_bq_b.png");
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
}

.editor blockquote:after {
    content: url("../images/common/icon_bq_a.png");
    display: block;
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 30px;
    height: 30px;
}

.editor blockquote cite {
    text-align: right;
    font-style: normal;
    display: block;
    font-size: 14px;
}

.editor blockquote p {
    font-size: 16px;
}

.editor blockquote p:last-child {
    margin-bottom: 0;
}

.editor .aligncenter,
img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.editor .alignleft,
.editor img.alignleft {
    display: inline;
    float: left;
    margin-right: 24px;
    margin-bottom: 15px;
}

.editor .alignright,
.editor img.alignright {
    display: inline;
    float: right;
    margin-left: 24px;
    margin-bottom: 15px;
}

.editor img.alignleft,
.editor img.alignright,
.editor img.aligncenter {
    margin-bottom: 12px;
}

.editor .wp-caption {
    background: #f1f1f1;
    line-height: 18px;
    margin-bottom: 20px;
    max-width: 632px !important;
    padding: 4px;
    text-align: center;
}

.editor .wp-caption img {
    margin: 5px 5px 0;
}

.editor .wp-caption p.wp-caption-text {
    color: #888;
    font-size: 12px;
    margin: 5px;
}

.editor .wp-block-embed iframe {
    width: 100%;
}











/**************/

/**************/




.common_area {
    background-color: #005FAC;
    padding: 60px 0 60px;
    text-align: center;
}

.common_area .ttl_01_w {
    margin-bottom: 20px;
}

.common_area p {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 30px;
}

.common_area div img {
    max-width: 254px;
}

.common_area div a {
    background-color: #fff;
    border-radius: 100px;
    padding: 25px 20px;
    max-width: 400px;
    width: 100%;
    display: block;
    margin: auto;
}

.common_area div a:hover {
    background-color: #ECF9FF;
    opacity: 1;
}

/**************/

footer {
    background-color: #F8F5EF;
    padding: 50px 0;
}


.f_logo img {
    max-width: 124px;
}

footer .f_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .f_logo {
    max-width: 124px;
}

footer .f_nav {
    max-width: 860px;
    width: 90%;
}

.f_nav ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}

.f_nav ul li a {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4em;
}

.f_nav div a {
    font-size: 14px;
    line-height: 1.4em;
}

.f_nav ul li a:hover,
.f_nav div a:hover {
    color: #00B1F1;
    opacity: 1;
}

/**************/
#page_top {
    position: fixed;
    bottom: 50px;
    right: 40px;
    z-index: 99;
}

#page_top img {
    max-width: 46px;
    width: 100%;
}

/**************/






.copy {
    color: #fff;
    background-color: #005FAC;
    font-size: 11px;
    line-height: 1.4em;
    text-align: center;
    padding: 10px 15px;
}






/*******************/

.mw_wp_form_input .confirm_on {
    display: none;
}

/***入力画面****************/

.mw_wp_form_input .confirm_on{
    display: none;
}

/***確認画面****************/
.mw_wp_form_confirm .off_box{
    display: none;
}

.mw_wp_form_confirm .confirm_on{
    display: block;
}


.mw_wp_form_confirm .confirm_on .cont_form_btn{
    margin: 40px 10px 0;
}

.mw_wp_form_confirm .form_area td{

}
.mw_wp_form_confirm .check_area .check{
    padding-left: 0;
}

.mw_wp_form_confirm .form_area .cp_ipselect.cp_sl01::before{
    display: none;
}
/***エラー表示****************/
.mw_wp_form .error{
    margin-top: 5px;
    font-size: 75% !important;
    position: absolute;
}

.mw_wp_form .check_area .error {
    position: absolute !important;
    bottom: -27px;
    left: 0;
}



/***完了画面****************/

.thank_txt{
    text-align: center;
    margin: 70px 0 100px;
}



/*****************/


.thank_txt{
	text-align: center;
}

.mw_wp_form {
    margin-top: -120px;
    padding-top: 120px;
}

/*-------------------------------
media
--------------------------------*/
.sp_on {
    display: none;
}

.scroll_txt,
.scroll_txt_a{
    display: none;
}

@media (max-width: 1226px) {

    .mv_area .ttl_05,
    .mv_area .ttl_06 {
        padding-left: 40px;
    }
}


@media (max-width: 1080px) {
    .pc_nav > ul > li {
        margin-left: 18px;
    }
	
    .scroll_txt_a {
        display: block;
        color: #CC0000;
        font-size: 12px;
        font-weight: bold;
        margin: 20px 0 10px;
    }
    table.table_03 th,
    table.table_03 td {
        white-space: nowrap;
    }


    .table_03 .table_fix {
        position: sticky;
        left: 0;
        z-index: 2;
    }

    .table_03 th.table_fix {
        z-index: 3;
        border-left: 2px solid #005FAC;
    }

    .table_03 .table_fix:before {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        width: 101%;
        height: 100%;
        border-right: 1px solid #005FAC;
        border-left: 1px solid #005FAC;

    }

    .scroll-table_a {
        overflow-x: auto;
        width: 100%;
    }

    .scroll-table_a::-webkit-scrollbar {
        height: 5px;
    }

    .scroll-table_a::-webkit-scrollbar-track {
        border-radius: 5px;
        background: #eee;
    }

    .scroll-table_a::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #ccc;
    }

    .scroll-table_a::-webkit-scrollbar-thumb {
        background: #005FAC;
    }
}


@media (min-width: 1001px) {
    .sp_nav {
        display: none !important;
    }
}
@media (max-width: 1000px) {
    #top_head {
        display: none;
    }


    .sp_head,
    .sp_nav {
        display: block;
    }

    .fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }

    .mv_area {
        margin-top: 0;
    }

    .mv_area .inner {
        padding: 30px 15px;
    }

    .mv_area .ttl_05,
    .mv_area .ttl_06 {
        padding-left: 0;
    }

    .page_ttl_area {
        margin-top: 60px;
    }
    .page_ttl_area .page_ttl span{
        margin-top: 4px;
    }

    .sp_nav > ul > li.sp_btn a{
        padding: 11px 10px 14px;
    }
    footer .f_inner {
        display: block;
    }

    footer .f_nav {
        display: none;
    }

    footer .f_logo {
        margin: auto;
    }
	


}






@media (max-width: 767px) {
    body {
        min-width: 100%;
    }

    .fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }

    .sp_on {
        display: block;
    }

    .pc_on {
        display: none;
    }

    .float_sb,
    .float_sa,
    .float_ce,
    .float_en,
    .float_ft,
    .type_01,
    .type_02,
    .type_03,
    .type_04,
    .type_05 {
        display: block;
    }

    .type_01 .l_box,
    .type_02 .l_box {
        width: 100%;
        margin: 0 auto 30px;
    }

    .type_01 .r_box,
    .type_02 .r_box {
        width: 100%;
        margin: auto;
    }


    .type_01 .r_box img,
    .type_01 .l_box img,
    .type_02 .r_box img,
    .type_02 .l_box img {
        max-width: 250px;
        width: 100%;
        display: block;
        margin: auto;
    }

    .type_04 .r_box {
        width: 100%;
    }

    .type_04 .l_box {
        width: 100%;
        max-width: 100%;
    }

    .type_04 .l_box img {
        max-width: 230px;
        width: 100%;
        display: block;
        margin: auto;
    }


    .type_05 .r_box {
        width: 100%;
    }

    .type_05 .l_box {
        width: 100%;
        max-width: 100%;
    }

    .type_05 .l_box img {
        max-width: 230px;
        width: 100%;
        display: block;
        margin: 0 auto 30px;
    }

    .table_01 th {
        font-size: 16px;
        display: block;
        width: 100%;
        border-bottom: 0;
        padding: 24px 0 10px;
    }

    .table_01 td {
        display: block;
        width: 100%;
        padding: 0 0 23px 0;
    }

    table.table_02 th,
    table.table_02 td {
        white-space: nowrap;
    }


    .table_02 .table_fix {
        position: sticky;
        left: 0;
        z-index: 2;
    }

    .table_02 th.table_fix {
        z-index: 3;
        border-left: 2px solid #005FAC;
    }

    .table_02 .table_fix:before {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        width: 101%;
        height: 100%;
        border-right: 1px solid #005FAC;
        border-left: 1px solid #005FAC;

    }

    .scroll_txt {
        display: block;
        color: #CC0000;
        font-size: 12px;
        font-weight: bold;
        margin: 20px 0 10px;
    }

    .scroll-table {
        overflow-x: auto;
        width: 100%;
    }

    .scroll-table::-webkit-scrollbar {
        height: 5px;
    }

    .scroll-table::-webkit-scrollbar-track {
        border-radius: 5px;
        background: #eee;
    }

    .scroll-table::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #ccc;
    }

    .scroll-table::-webkit-scrollbar-thumb {
        background: #005FAC;
    }


    .sp_img img {
        max-width: 300px;
        width: 100%;
        margin: auto;
        display: block;
    }



    .ttl_01,
    .ttl_01_l,
    .ttl_01_w {
        font-size: 22px;
    }

    .ttl_02 {
        font-size: 18px;
    }

    .ttl_04 {
        font-size: 21px;
    }

    .ttl_05 {
        font-size: 24px;
    }

    .ttl_06 {
        font-size: 18px;
    }

    .ttl_08 {
        font-size: 16px;
    }

    .ttl_03 {
        font-size: 28px;
    }

    .list_01 {
        display: block;
    }

    .list_01 li {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 30px;
    }

	
	.list_02{
		display: block;
	}
	.list_02 li{
		max-width: 400px;
		width: 100%;
		margin: 0 auto 30px;
	}


    .list_03 li,
    .list_04 li {
        width: 100%;
        max-width: 600px;
        padding: 0 20px 30px;
        margin: 0 auto 50px;
    }

    .list_04 li img {
        max-width: 200px;
    }



    .page_ttl_area .page_ttl {
        font-size: 26px;
    }



    .bg_01,
    .bg_02 {
        padding: 20px;
    }





    .tag span {
        font-size: 16px;
    }


	.mv_area:before{
		height: 320px;
	}


    .mv_img {
        height: 350px;
        background-image: url("../images/top/sp_mv_img.jpg");
    }




    .top .box01 {
        background-image: url("../images/top/sp_bg_01.jpg");
        background-size: 767px;
        padding: 60px 0 100px;
        margin-bottom: 0;
    }

    .top .box02 .btn_01 {
        margin-left: auto;
    }


    .top .box05 {
        background-image: url("../images/top/sp_bg_02.jpg");
        background-size: 767px;
		background-size: cover;
		height: auto;
		padding-bottom: 80px;
    }










    .company .box01 .w900 .inner .ttl_03 {
        margin-top: -38px;
    }


    .service .box02 ul li .no_img img {
        max-width: 100px;
    }


    .form_container iframe {
        height: 830px;
        max-width: 100vw;
    }

    .form-buttons .deco-button-wide {}




    .form_area th,
    .form_area td {
        display: block;
        width: 100%;
    }

    .form_area th {
        padding-bottom: 10px;
        padding-top: 22px;
        font-size: 16px;
    }

    .form_area td {
        padding: 0 0 23px 0;
        border-top: 0;
    }

    .check_area label span {
        display: block;
        margin-right: 0;
    }

    .form_area th span {
        top: 21px;
        font-size: 11px;
		line-height: 1.4em;

    }

    .form_area .type1 {
        width: 100% !important;
    }


	input[type="text"],
	input[type="number"],
	select,
	textarea {
	  font-size: 16px !important;
	}








    .common_area div img {
        max-width: 190px;
    }

    .common_area div a {
        padding: 13px 15px 20px;
        max-width: 280px;
    }

    .common_area p {
        font-size: 15px;
    }



    footer {
        padding: 25px 0;
    }



    #page_top {
        right: 15px;
        bottom: 58px;
    }


    .mw_wp_form_confirm .confirm_on .cont_form_btn{
        margin: 40px auto 0;
    }

}
