@charset "UTF-8";

.contentpage .m_img_area .m_img {background-image: url("../images/m_img@2x.jpg");}

/* 共通
---------------------------------------------------------*/
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_btn2.green{
    margin-left: auto;
    margin-right: auto;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btn2{
    margin-left: auto;
    margin-right: auto;
}
}



/* po_numbertit
---------------------------------------------------------*/
.po_numbertit{
    position: relative;
    margin-bottom: 2.7rem;
}
.po_numbertit::before,
.po_numbertit::after{
    position: absolute;
    display: block;
    content: "";
    background:url("../images/grd1@2x.png")no-repeat right top;    
    background-size: auto 100%;
    width: 100%;
    height: calc(100% + 130px);
    max-height:261px;
    top: 30px;
    right: 0;
    z-index: -1;
}
.po_numbertit::after{
    background: #f2d7d0;
    z-index: -2;
}
.point2 .po_numbertit::before{
    background-image:url("../images/grd2@2x.png");}
.point2 .po_numbertit::after{
    background: #d3ebe2;}
.point3 .po_numbertit::before{
    background-image:url("../images/grd3@2x.png");}
.point3 .po_numbertit::after{
    background: #aae1ed;
    opacity: 0.5;}
.point4 .po_numbertit::before{
    background-image:url("../images/grd4@2x.png");}
.point4 .po_numbertit::after{
    background: #c7c6e4;
    opacity: 0.5;}
.point5 .po_numbertit::before{
    background-image:url("../images/grd5@2x.png");}
.point5 .po_numbertit::after{
    background: #ddd69b;
    opacity: 0.5;}

.po_numbertit dt{
    width: 9%;
    margin: 0 auto;
}
.point3 .po_numbertit dt{
    mix-blend-mode: multiply;
}
.po_numbertit dd{
    letter-spacing: 0.2em;
    line-height: 1.4em;
    margin-top: .7em;
    color: #63534c;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
.po_numbertit::before,
.po_numbertit::after{
    height: calc(100% + 11.5vw);
    top: 2.2vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.po_numbertit{
    margin-bottom: 1.3rem;
}
.po_numbertit::before,
.po_numbertit::after{
    height: calc(100% + 70px);
    top: 20px;
}
.po_numbertit dd{
    letter-spacing: 0.15em;
    line-height: 1.4em;
    margin-top: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_numbertit{
    margin-bottom: 1.5rem;
}
.po_numbertit::before,
.po_numbertit::after{
    height: calc(100% + 3em);
    top: 1em;
}
.po_numbertit dt{
    width:13%;
}
.po_numbertit dd{
    letter-spacing: 0.1em;
    margin-top: .5em;
}
}




/* po_fltbox1
---------------------------------------------------------*/
.po_fltbox1 .img_l{
    float: left;
    width: 42.5%;
    max-width: 514px;
}
.po_fltbox1 .txt_r{
    float: right;
    width: 51.5%;
}
.po_fltbox1 .txt_r .ft_gin{
    font-size:280%;
    letter-spacing: 0.15em;
    line-height: 1.6em;
    margin-bottom: .5em;
    color: #63534c;
}
.po_fltbox1 .txt_r .ft_gin span{
    letter-spacing: normal;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
.po_fltbox1 .txt_r{
    width: 53%;
}
.po_fltbox1 .txt_r .ft_gin{
    font-size: 3.6vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.po_fltbox1 .img_l{
    margin-right: 4%;
    margin-bottom: 1em;
}
.po_fltbox1 .txt_r{
    float: none;
    width: 100%;
}
.po_fltbox1 .txt_r .ft_gin{
    font-size:180%;
    letter-spacing: 0.05em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_fltbox1 .img_l{
    float: none;
    width: 75%;
    margin: 0 auto 4%;
    text-align: center;
}
.po_fltbox1 .txt_r{
    float: none;
    width: 100%;
}
.po_fltbox1 .txt_r .ft_gin{
    font-size: 150%;
    margin-bottom: .4em;
    text-align: center;
}
}





/* po_title1
---------------------------------------------------------*/
.po_title1{
    border-top:1px solid #c7c4c4;
    border-bottom:1px solid #c7c4c4;
    font-size: 220%;
    letter-spacing: 0.16em;
    line-height: 1.5em;
    text-align: center;
    padding: .5em 0 .55em;
    margin-bottom: 65px;
    color: #63534c;
}
.po_title1_inbox{
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1200px) {
.po_title1{
    margin-bottom: 5vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.po_title1{
    font-size: 170%;
    margin-bottom: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_title1{
    font-size: 140%;
    letter-spacing: 0.1em;
    margin-bottom: 4%;
}
}




/* po_fltbox2
---------------------------------------------------------*/
.po_fltbox2 .img_r,
.po_fltbox2 .img_l{
    width: 36%;
    max-width: 440px;
}
.po_fltbox2.s480 .img_r,
.po_fltbox2.s480 .img_l{
    width: 39.5%;
    max-width:480px;
}
.po_fltbox2 .img_r{    
    float: right;
}
.po_fltbox2 .img_l{    
    float: left;
}
.po_fltbox2 .txt_l,
.po_fltbox2 .txt_r{
    width: 60%;
}
.po_fltbox2.s480 .txt_l,
.po_fltbox2.s480 .txt_r{
    width: 55.5%;
}
.po_fltbox2 .txt_l{    
    float: left;
}
.po_fltbox2 .txt_r{    
    float: right;
}
.po_fltbox2 > dl > dt{
    font-size: 170%;
    letter-spacing: 0.16em;
    line-height: 1.5em;
    margin-bottom: .6em;
    color: #63534c;
}
.po_fltbox2 > dl > dt span{
    letter-spacing: normal;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.po_fltbox2 .img_r,
.po_fltbox2 .img_l{
    margin-bottom: 1em;
}
.po_fltbox2 .img_r{    
    margin-left: 4%;
}
.po_fltbox2 .img_l{    
    margin-right: 4%;
}
.po_fltbox2 .txt_l,
.po_fltbox2 .txt_r,
.po_fltbox2.s480 .txt_l,
.po_fltbox2.s480 .txt_r{
    width: 100%;
    float: none;
}
.po_fltbox2 > dl > dt{
    font-size: 150%;
    letter-spacing: 0.05em;
}
    
.po_fltbox2.tb_nofull .img_r,
.po_fltbox2.tb_nofull .img_l{
    margin-bottom: 0;
}
.po_fltbox2.tb_nofull .img_r{    
    margin-left: 0;
}
.po_fltbox2.tb_nofull .img_l{    
    margin-right: 0;
}
.po_fltbox2.tb_nofull .txt_l,
.po_fltbox2.tb_nofull .txt_r,
.po_fltbox2.s480.tb_nofull .txt_l,
.po_fltbox2.s480.tb_nofull .txt_r{
    width: 55.5%;
}
.po_fltbox2.tb_nofull .txt_l{    
    float: left;
}
.po_fltbox2.tb_nofull .txt_r{    
    float: right;
}
.com_age_pro.tb_nofull{
    width: 100%!important;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_fltbox2 .img_r,
.po_fltbox2 .img_l{
    width: 70%;
    margin: 0 auto 4%;
    text-align: center;
}
.po_fltbox2.s480 .img_r,
.po_fltbox2.s480 .img_l{
    width:70%;
}
.po_fltbox2.sp_bigimg .img_r,
.po_fltbox2.sp_bigimg .img_l{
    width: 90%;
}
.po_fltbox2 .img_r,
.po_fltbox2 .img_l{    
    float: none;
}
.po_fltbox2 .txt_l,
.po_fltbox2 .txt_r,
.po_fltbox2.s480 .txt_l,
.po_fltbox2.s480 .txt_r{
    width:100%;
    float: none;
}
.po_fltbox2 > dl > dt{
    font-size: 130%;
    letter-spacing: 0.05em;
    margin-bottom: .4em;
}
}






/* po_frame_box
---------------------------------------------------------*/
.po_frame_box{
    border:2px solid #c7c4c4;
    padding: 40px 3%;
    box-sizing: border-box;
}
.po_frame_box .po_frame_box_tit{
    background: #f2a79b;
    font-size:155%;
    letter-spacing: 0.17em;
    line-height: 1.5em;
    text-align: center;
    padding: .5em 1em .55em;
    box-sizing: border-box;
    color: #fff;
    margin-bottom: 50px;
}
.po_frame_list{
    max-width: 1100px;
    margin: 0 auto;
}
.po_frame_list li{
    border-bottom: 1px solid #c7c4c4;
    padding-bottom: 45px;
    margin-bottom: 45px;
}
.po_frame_list li:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.po_frame_flt .img_r{
    width: 32.5%;
    max-width: 360px;
    float: right;
}
.po_frame_flt .txt_l{
    width: 63.5%;
    float: left;
}
.po_frame_flt .txt_l dt{
    font-size:170%;
    letter-spacing: 0.18em;
    line-height: 1.5em;
    margin-bottom: .5em;
    color: #63534c;
}
.po_frame_flt .txt_l dt.icon1{
    position: relative;
    padding-left: 1em;
    box-sizing: border-box;
}
.po_frame_flt .txt_l dt.icon1::before{
    position: absolute;
	font-family: 'fontello';
	content: '\e805';	
	left: 0;
	font-size: 65%;
	top: 0.1em;
    color: #e4909b;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.po_frame_box{
    padding: 3% 3% 5%;
}
.po_frame_box .po_frame_box_tit{
    font-size:150%;
    letter-spacing: 0.1em;
    margin-bottom: 4%;
}
.po_frame_list li{
    padding-bottom: 6%;
    margin-bottom: 5%;
}
.po_frame_list li:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.po_frame_flt .img_r{
    margin-left: 4%;
    margin-bottom: 1em;
}
.po_frame_flt .txt_l{
    width: 100%;
    float: none;
}
.po_frame_flt .txt_l dt{
    font-size:150%;
    letter-spacing: 0.1em;
    margin-bottom: .4em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_frame_box{
    padding: 4% 4% 5%;
}
.po_frame_box .po_frame_box_tit{
    font-size:120%;
    letter-spacing: normal;
    padding: .5em .5em .55em;
    margin-bottom: 4%;
}
.po_frame_list li{
    padding-bottom: 6%;
    margin-bottom: 6%;
}
.po_frame_flt .img_r{
    width: 60%;
    float: none;
    margin: 0 auto 4%;
    text-align: center;
}
.po_frame_flt .txt_l{
    width: 100%;
    float: none;
}
.po_frame_flt .txt_l dt{
    font-size: 130%;
    letter-spacing: 0.05em;
    margin-bottom: .2em;
}
}






/* po_col3
---------------------------------------------------------*/
.po_col3{
    display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.po_col3 li{
    position: relative;
    width: 32%;
    text-align: center;
    max-width: 373px;
    padding: 0 2.7% 40px;
    box-sizing: border-box;
}
.po_col3 li::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 3.3rem);
    bottom: 0;
    left: 0;
}
.po_col3 li > div,
.po_col3 li dl{
    position: relative;
    z-index: 2;    
}
.po_col3 li .img{
    width: 70%;
    margin: 0 auto;
}
.po_col3 li dt{
    font-size:170%;
    letter-spacing: 0.15em;
    line-height: 1.5em;
    color: #49ace3;
    margin: .5em 0;
}
.po_col3 li dd{
    text-align: left;
    letter-spacing: 0.05em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1200px) {
.po_col3 li dt{
    letter-spacing: 0.05em;
}
.po_col3 li dd{
    letter-spacing: normal;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.po_col3 li{
    padding: 0 2.5% 2.5%;
}
.po_col3 li::before{
    height: calc(100% - 3.3rem);
}
.po_col3 li dt{
    font-size:130%;
    letter-spacing: 0.1em;
    margin: .3em 0;
}
.po_col3 li dd{
    letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.po_col3{
    display: -webkit-block;
	display: block;
}
.po_col3 li{
    width:100%;
    max-width: 100%;
    padding: 0 4% 5%;
    margin-bottom: 5%;
}
.po_col3 li:last-child{
    margin-bottom:0;
}    
.po_col3 li::before{
    height: calc(100% - 3.3rem);
}
.po_col3 li .img{
    width:40%;
}
.po_col3 li dt{
    font-size:130%;
    letter-spacing: 0.05em;
    margin: .4em 0 .3em;
}
.po_col3 li dd{
    letter-spacing: normal;
}
}







/* point2
---------------------------------------------------------*/
.com_age_pro .com_btn2 a{
    background: #b0b09f;
}
.point2 .com_age_pro{
    width: 100%;
    margin-top: 25px;
}
.point2 .com_age_pro dt{
    letter-spacing: .1em;
    margin-bottom: .3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.point2 .com_age_pro{
    width: 80%;
    margin-top: 5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.point2 .com_age_pro{
    width: 90%;
    margin-top: 5%;
}
.point2 .com_age_pro dt{
    font-size:180%;
    letter-spacing: normal;
}
}
