@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------------
header
----------------------------------------------------------*/
#header{
width: 100%;
background: #fff;
}
#header .logo{
width: 1300px;
margin: 0 auto;
padding: 15px 0;
}
#header .logo a{
display: inline-block;
}
@media (max-width: 768px){
#header .logo{
width: auto;
margin: 0 2.0rem;
padding: 0.8rem 0.5rem;
}
#header .logo a{
width: 7.8rem;
}
}

/*----------------------------------------------------------
footer
----------------------------------------------------------*/
#footer{
width: 100%;
background: #023e8d;
}
#footer .copyright{
width: 1000px;
color: #fff;
font-size: 1.3rem;
text-align: center;
letter-spacing: 1px;
margin: 0 auto;
padding: 15px 0 15px;
}
@media (max-width: 768px){
#footer .copyright{
width: 100%;
font-size: 1.0rem;
letter-spacing: 0;
padding: 0.7rem 0;
}
}

/*----------------------------------------------------------
title
----------------------------------------------------------*/
.titleTypeA01{
text-align: center;
}
.titleTypeA01 img{
width: 780px;
}
@media (max-width: 768px){
.titleTypeA01 img{
width: 100%;
}
}

.titleTypeB01{
width: 569px;
text-align: center;
margin: 0 auto 50px;
}
.titleTypeB01 span{
width: 306px;
margin: 0 auto 60px;
display: block;
}
@media (max-width: 768px){
.titleTypeB01{
width: 100%;
margin: 0 auto 3.0rem;
padding: 0 1.4rem;
}
.titleTypeB01 span{
width: 16.9rem;
margin: 0 auto 2.6rem;
}
}

.titleTypeC01{
width: 586px;
margin: 0 auto 60px;
}
@media (max-width: 768px){
.titleTypeC01{
width: 29.3rem;
margin: 0 auto 3.0rem;
}
}

.titleTypeD01{
width: 582px;
margin: 0 auto 70px;
}
.titleTypeD02{
color: #023e8d;
font-size: 2.5rem;
font-weight: bold;
margin: 0 0 15px;
padding: 0 0 0 15px;
}
@media (max-width: 768px){
.titleTypeD01{
width: 29.1rem;
margin: 0 auto 3.0rem;
}
.titleTypeD02{
font-size: 1.6rem;
margin: 0 0 1.2rem;
padding: 0;
}
}

.titleTypeE01{
width: 720px;
margin: 0 auto 50px;
}
@media (max-width: 768px){
.titleTypeE01{
width: 100%;
margin: 0 auto 2.0rem;
}
}

/*----------------------------------------------------------
list
----------------------------------------------------------*/
.listTypeA01{
background: #fff;
border-radius: 20px;
padding: 80px 100px;
}
.listTypeA01 > li{
width: 470px;
margin: 0 50px 0 0;
float: left;
}
.listTypeA01 > li:last-child{
margin-right: 0;
}
/*
.listTypeA01 > li:nth-child(2n){
margin-right: 0;
}
.listTypeA01 > li:nth-child(n+3){
margin-bottom: 0;
}
*/
.listTypeA01 > li a{
background: #ffcc00;
color: #023e8d;
font-size: 2.4rem;
font-weight: bold;
text-align: center;
border-radius: 15px;
-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
-ms-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
padding: 40px 60px 20px;
display: block;
position: relative;
}
.listTypeA01 > li a::before{
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 12.5px 0 12.5px 14px;
border-color: transparent transparent transparent #023e8d;
position: absolute;
right: 115px;
bottom: 29px;
}
.listTypeA01 > li a span{
background: #fff;
text-align: center;
margin: 0 0 20px;
padding: 25px 0;
display: block;
}
@media (max-width: 768px){
.listTypeA01{
border-radius: 0.8rem;
padding: 3.0rem 3.2rem;
}
.listTypeA01 > li{
width: 100%;
margin: 0 0 3.0rem;
float: none;
}
.listTypeA01 > li:nth-child(n+3){
margin-bottom: 3.0rem;
}
.listTypeA01 > li:last-child{
margin-bottom: 0;
}
.listTypeA01 > li a{
font-size: 1.4rem;
border-radius: 0.8rem;
-moz-box-shadow: 0 0 1.0rem 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 0 1.0rem 0 rgba(0, 0, 0, 0.2);
-ms-box-shadow: 0 0 1.0rem 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 0 1.0rem 0 rgba(0, 0, 0, 0.2);
padding: 2.5rem 4.5rem 1.0rem;
}
.listTypeA01 > li a::before{
border-width: 0.7rem 0 0.7rem 0.7rem;
right: 7.3rem;
bottom: 1.5rem;
}
.listTypeA01 > li a span{
margin: 0 0 1.0rem;
padding: 1.8rem 0;
}
}


.listTypeB01{
width: 1100px;
margin: 0 auto;
}
.listTypeB01 > li{
width: 510px;
margin: 0 80px 0 0;
float: left;
}
.listTypeB01 > li:last-child{
margin-right: 0;
}
.listTypeB01 > li a{
width: 100%;
height: 135px;
font-size: 2.6rem;
font-weight: bold;
line-height: 1.4;
border-radius: 8px;
display: table;
position: relative;
}
.listTypeB01 > li a::before{
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 14px 0 14px 14px;
position: absolute;
right: 60px;
top: 50%;
margin-top: -14px;
}
.listTypeB01 > li.type01 a{
background: #ff9605;
color: #fff;
padding-left: 170px;
}
.listTypeB01 > li.type01 a::before{
border-color: transparent transparent transparent #fff;
}
.listTypeB01 > li.type02 a{
background: #fff;
color: #023e8d;
border: 2px solid #023e8d;
padding-left: 120px;
}
.listTypeB01 > li.type02 a::before{
border-color: transparent transparent transparent #023e8d;
}
.listTypeB01 > li a span{
display: table-cell;
vertical-align: middle;
}
@media (max-width: 768px){
.listTypeB01{
width: auto;
margin: 0 4.8rem;
}
.listTypeB01 > li{
width: 100%;
margin: 0 0 2.0rem 0;
float: none;
}
.listTypeB01 > li:last-child{
margin-bottom: 0;
}
.listTypeB01 > li a{
height: 8.2rem;
font-size: 1.6rem;
border-radius: 0.5rem;
}
.listTypeB01 > li a::before{
border-width: 0.7rem 0 0.7rem 0.7rem;
right: 4.0rem;
margin-top: -0.8rem;
}
.listTypeB01 > li.type01 a{
padding-left: 9.0rem;
}
.listTypeB01 > li.type02 a{
border: 0.2rem solid #023e8d;
padding-left: 6.3rem;
}
.listTypeB01 > li.type02 a::before{
border-color: transparent transparent transparent #023e8d;
}
.listTypeB01 > li a span{
display: table-cell;
vertical-align: middle;
}
}

/*----------------------------------------------------------
mvBlock
----------------------------------------------------------*/
.mvBlock{
background: url("../images/mv_bg_01_pc.jpg") no-repeat;
background-size: cover;
background-position: top center;
padding: 65px 0 150px;
position: relative;
}
.mvBlock::before{
content: "";
width: 790px;
height: 188px;
background: url("../images/mv_img_01_pc.png") no-repeat;
background-size: 100% auto;
position: absolute;
left: 50%;
bottom: 0;
margin-left: -395px;
}
.mvBlock .text{
text-align: center;
margin: 0 0 40px;
}
.mvBlock .text img{
width: 710px;
}
@media (max-width: 768px){
.mvBlock{
background: url("../images/mv_bg_01_sp.jpg") no-repeat;
background-size: cover;
background-position: top center;
padding: 2.5rem 0 10.2rem;
}
.mvBlock::before{
width: 100%;
height: 9.4rem;
background: url("../images/mv_img_01_sp.png") no-repeat;
background-size: 100% auto;
left: 0;
margin-left: 0;
}
.mvBlock .text{
margin: 0 0 1.5rem;
}
.mvBlock .text img{
width: 100%;
}
}

/*----------------------------------------------------------
cvBlock
----------------------------------------------------------*/
.cvBlock{
padding: 100px 0;
}
.cvBlock.type01{
background: url("../images/cv_bg_01_pc.jpg") no-repeat;
background-size: cover;
background-position: top center;
}
.cvBlock.type02{
background: #fff788;
}
@media (max-width: 768px){
.cvBlock{
padding: 3.0rem 0;
}
.cvBlock.type01{
background: url("../images/cv_bg_01_sp.jpg") no-repeat;
background-size: cover;
background-position: top center;
}
}

/*----------------------------------------------------------
section
----------------------------------------------------------*/
[class^="section0"] .secInner{
width: 1200px;
margin: 0 auto;
}
@media (max-width: 768px){
[class^="section0"] .secInner{
width: 100%;
padding: 0 1.5rem;
}
}

.section01{
background: url("../images/sec01_bg_01_pc.gif"),#fdfeff;
background-repeat: no-repeat,repeat;
background-size: 1600px 736px,100% 100%;
background-position: bottom center,top center;
padding: 75px 0 110px;
}
.section01 .secInner .text{
color: #595959;
font-size: 1.7rem;
text-align: center;
line-height: 1.8;
}
.section01 .secInner .text + .text{
margin-top: 40px;
}
.section01 .secInner .link{
text-align: center;
margin: 40px 0 0;
position: relative;
z-index: 3;
}
.section01 .secInner .link a{
color: #023e8d;
font-size: 2.0rem;
text-decoration: underline;
display: inline-block;
}
@media (max-width: 768px){
.section01{
background: url("../images/sec01_bg_01_sp.gif"),#fdfeff;
background-repeat: no-repeat,repeat;
background-size: 100% 18.2rem,100% 100%;
background-position: bottom center,top center;
padding: 3.2rem 0 7.0rem;
}
.section01 .secInner .text{
font-size: 1.3rem;
text-align: left;
padding: 0 1.4rem;
}
.section01 .secInner .text + .text{
margin-top: 3.0rem;
}
.section01 .secInner .link{
text-align: right;
margin: 3.0rem 0 0;
}
.section01 .secInner .link a{
font-size: 1.3rem;
font-weight: bold;
}
}

.section02{
background: #fff788;
padding: 135px 0 100px;
position: relative;
}
.section02::before{
content: "";
width: 100%;
height: 270px;
background: url("../images/sec02_ico_01_pc.png") no-repeat;
background-size: 100% 100%;
background-position: top center;
position: absolute;
left: 0;
top: -135px;
z-index: 2;
}
@media (max-width: 768px){
.section02{
padding: 6.0rem 0 3.0rem;
}
.section02::before{
height: 6.4rem;
background: url("../images/sec02_ico_01_sp.png") no-repeat;
background-size: 100% 100%;
background-position: top center;
top: -3.2rem;
}
}

.section03{
background: #fffbba;
padding: 100px 0;
}
.section03 .secInner{
background: #fff;
border-radius: 18px;
padding: 100px 50px;
}
@media (max-width: 768px){
.section03{
padding: 3.0rem 1.5rem;
}
.section03 .secInner{
border-radius: 0.5rem;
padding: 3.0rem 2.0rem;
}
}

/*----------------------------------------------------------
block
----------------------------------------------------------*/
.blockTypeA01 .block{
width: 540px;
margin: 0 15px 50px 0;
float: left;
}
.blockTypeA01 .block:nth-child(2n){
margin-right: 0;
}
.blockTypeA01 .block:nth-child(n+3){
margin-bottom: 0;
}
.blockTypeA01 .block .image{
width: 100%;
margin: 0 0 25px;
padding: 0 15px;
}
.blockTypeA01 .block .text{
color: #595959;
font-size: 1.7rem;
margin: 0 0 35px;
padding: 0 0 0 15px;
}
.blockTypeA01 .block .link{
text-align: right;
padding: 0 15px;
}
.blockTypeA01 .block .link a{
color: #023e8d;
font-size: 2.0rem;
font-weight: bold;
text-decoration: underline;
display: inline-block;
}
@media (max-width: 768px){
.blockTypeA01 .block{
width: 100%;
margin: 0 0 3.0rem;
float: none;
}
.blockTypeA01 .block:nth-child(n+3){
margin-bottom: 3.0rem;
}
.blockTypeA01 .block:last-child{
margin-bottom: 0;
}
.blockTypeA01 .block .image{
margin: 0 0 1.5rem;
padding: 0;
}
.blockTypeA01 .block .text{
font-size: 1.3rem;
margin: 0 0 1.5rem;
padding: 0;
}
.blockTypeA01 .block .link{
padding: 0;
}
.blockTypeA01 .block .link a{
font-size: 1.3rem;
}
}