@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
    padding: 0 15px;
}
.mainVisual .imgBox {
	margin: 0 auto;
	max-width: 1270px;
}
.mainVisual .imgBox .photoBox {
	width: 766px;
}
.mainVisual .imgBox .textBox {
	margin-top: 41px;
	width: 430px;
}
.mainVisual .imgBox .textBox .title {
	margin-bottom: 68px;
	color: #0B3F5B;
	font-size: 3.5rem;
	line-height: 1.66;
}
.mainVisual .imgBox .textBox p {
	margin-bottom: 25px;
	font-size: 1.5rem;
	line-height: 1.73;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main {
    margin-bottom: 118px;
}
#main h2 {
    margin-bottom: 44px;
    text-align: center;
}
#main .pTop {
	color: #0F3F5B;
	font-size: 2.7rem;
	line-height: 1.65;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .about {
	padding-top: 158px;
}
#main .about .content {
	width: 916px;
}
#main .about .pTop {
	margin: 0 auto 89px;
	width: 880px;
}
#main .about .listUl li {
	width: 399px;
	box-sizing: border-box;
}
#main .about .listUl li .photo {
	margin-bottom: 31px;
}
#main .about .listUl li p {
	line-height: 1.71;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .about .listUl li p .comBg {
    background-size: auto 12px;
}
#main .about .listUl li p .red {
	color: #E11717;
}
#main .about .listUl li .title {
	margin: 0 -10px 24px 0;
	font-size: 2.7rem;
}
#main .vision {
	padding-top: 180px;
}
#main .vision h2 {
	margin-bottom: 68px;
}
#main .vision .content {
	width: 1020px;
}
#main .vision .imgBox .photoBox {
	margin-top: 12px;
	width: 396px;
}
#main .vision .imgBox .textBox {
	width: 562px;
}
#main .vision .imgBox .textBox .title {
	margin-bottom: 30px;
	color: #0F3F5B;
	font-size: 2.7rem;
	line-height: 1.67;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .vision .imgBox .textBox .borderBox {
	background: url("../img/index/bg01.png") no-repeat center bottom / 100%;
}
#main .vision .imgBox .textBox .borderBox .subBox {
	padding: 32px 28px 31px;
	background: url("../img/index/bg02.png") no-repeat center top / 100%;
}
#main .vision .imgBox .textBox .borderBox p {
	margin-bottom: 19px;
	padding-left: 30px;
	font-size: 1.6rem;
	font-weight: bold;
	background: url("../img/common/icon01.png") no-repeat left center / 22px;
}
#main .vision .imgBox .textBox li {
	margin-bottom: 10px;
	padding-left: 32px;
	color: #E11717;
	font-size: 1.6rem;
	font-weight: bold;
	background: url("../img/common/icon02.png") no-repeat left 3px center / 16px;
}
#main .vision .imgBox .textBox li:last-child {
	margin-bottom: 0;
}
#main .features {
	padding-top: 160px;
}
#main .features .content {
	width: 1076px;
}
#main .features .pTop {
	margin: 0 auto 90px;
	width: 702px;
}
#main .features .inner {
	flex-direction: row-reverse;
}
#main .features ul {
	margin-top: -20px;
    align-items: flex-start;
}
#main .features li {
    margin: 20px 37px 0 0;
	width: 272px;
    position: relative;
    box-sizing: border-box;
	background: url("../img/index/bg04.png") no-repeat center bottom / 100%;
}
#main .features li .subBox {
    padding: 35px 20px 32px 30px;
	background: url("../img/index/bg03.png") no-repeat center top / 100%;
}
#main .features li .title {
	margin: 0 -20px 19px;
    display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}
#main .features li .title span {
	padding-left: 33px;
	display: inline-block;
	color: #E11717;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: left;
	line-height: 1.25;
	background: url("../img/common/icon04.png") no-repeat left center / 21px;
}
#main .features li p {
	line-height: 1.71;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .features .photo {
	margin-top: -4px;
	width: 137px;
}
#main .price {
	padding-top: 147px;
}
#main .price h2 {
	margin-bottom: 46px;
}
#main .price  .imgBox {
	margin: 0 auto 89px;
    width: 1100px;
}
#main .price .photoBox {
	margin-top: -30px;
	width: 209px;
}
#main .price .textBox {
	width: 830px;
}
#main .price .textBox p {
    color: #0B3F5B;
	font-size: 2.7rem;
	line-height: 1.67;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .price .textList {
    margin: -20px 0 58px;
}
#main .price .textList > li {
    margin: 20px 59px 0 0;
    padding-bottom: 30px;
	width: 360px;
    position: relative;
	box-sizing: border-box;
}
#main .price .textList > li .bgBox {
    position: relative;
    z-index: 1;
}
#main .price .textList > li::before {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: url("../img/index/bg05.png") no-repeat left bottom / 100%;
    content: "";
}
#main .price .textList .red::before {
    background-image: url("../img/index/bg06.png");
}
#main .price .textList > li:nth-child(3n){
    margin-right: 0;
}
#main .price .textList .red {
    border-color: #E11717;
}
#main .price .textList li .title {
    margin-bottom: 22px;
	padding: 25px 24px 28px;
	color: #FFF;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	background-color: #0B73AF;
}
#main .price .textList .red .title {
    background-color: #E11717;
}
#main .price .textList li .num {
    margin-bottom: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #0B73AF;
    font-size: 4.6rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
}
#main .price .textList li .num .sml {
    font-size: 2rem;
}
#main .price .textList li .num .textSpan {
    margin-bottom: 12px;
    display: block;
    font-size: 1.4rem;
}
#main .price .textList li .num .txt {
    margin-top: 12px;
    display: block;
    font-size: 2rem;
}
#main .price .textList li .num .txtSpan {
    margin-top: 10px;
    display: block;
    color: #1873AF;
    font-size: 2rem;
}
#main .price .textList li .num .txtSpan span {
    font-size: 1.4rem;
}
#main .price .textList li .num .comBg {
    padding: 0 20px 5px;
}
#main .price .textList li .subBox {
    padding: 0 44px;
}
#main .price .textList li dl {
    margin-bottom: 27px;
    padding-bottom: 21px;
    text-align: justify; 
    text-justify:inter-ideograph;
    border-bottom: 1px solid #0074B4;
}
#main .price .textList li .border {
    margin-bottom: 0;
    border-bottom: none;
}
#main .price .textList li dt {
    font-weight: bold;
    line-height: 1.71;
    font-feature-settings: "palt"; 
    -moz-font-feature-settings: "palt";
}
#main .price .textList li dd {
    line-height: 1.71;
}
#main .price .textList li dd p:not(:last-child) {
    margin-bottom: 24px;
}
#main .price .textList li dd .txt {
    margin-bottom: 0!important;
}
#main .price .textList li .text {
    line-height: 1.71;
}
#main .price .textList li .text span {
    display: block;
    font-weight: bold;
    font-feature-settings: "palt"; 
    -moz-font-feature-settings: "palt";
}
#main .price .borderBox {
    margin: 0 auto;
    width: 835px;
    background: url("../img/index/bg07.png") no-repeat center bottom / 100%;
}
#main .price .listUl {
    padding: 29px 10px 32px 30px;
    box-sizing: border-box;
    background: url("../img/index/bg08.png") no-repeat center top / 100%;    
}
#main .price .listUl li {
    padding-left: 28px;
    color: #E11717;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2.1;
    text-align: justify; 
    text-justify:inter-ideograph;
    background: url("../img/common/icon02.png") no-repeat left center / 16px;
}
#main .voice {
    padding-top: 158px;
}
#main .voice h2 {
    margin-bottom: 96px;
}
#main .voice ul{
    margin-top: -20px;
}
#main .voice li {
    margin: 20px 50px 0 0;
    width: 360px;
}
#main .voice li:nth-child(3n) {
    margin-right: 0;
}
#main .voice li .photo {
    margin: 0 auto 32px;
    width: 128px;
}
#main .voice li  p {
    line-height: 1.71;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .voice li .title {
    margin-bottom: 27px;
    color: #0B73AF;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    font-feature-settings: "palt"; 
    -moz-font-feature-settings: "palt";
}
#main .voice li .red {
    color: #E11717;
}
#main .sns {
    padding-top: 156px;
}
#main .sns h2 {
    margin-bottom: 53px;
}
#main .sns .pTop {
    margin-bottom: 89px;
    text-align: center;
}
#main .sns .inner .mark {
    margin: 0 auto 62px;
    width: 32px;
}
#main .sns .faceBox {
    width: 525px;
}
#main .sns .snsBox {
    width: 632px;
}
#main .sns .snsBox li {
    margin: 0 10px 10px 0;
    width: 150px;
    height: 150px;
    box-sizing: border-box; 
}
#main .sns .snsBox li:nth-child(4n) {
    margin-right: 0;
}
#main .sns .snsBox li a {
    width: 100%;
    height: 100%;
    display: block;
    background: url("../img/index/photo10.jpg") no-repeat center center / cover;
}
#main .sns .snsBox li a:hover {
    opacity: 0.7;
}
#main .contact {
    padding-top: 151px;
}
#main .contact .content {
    width: 854px;
}
#main .contact h2 {
    margin-bottom: 100px;
}
#main .contact .imgBox {
    margin-bottom: 60px;
}
#main .contact .photoBox {
    margin-top: 12px;
    padding-left: 15px;
    width: 201px;
}
#main .contact .textBox {
    width: 610px;
}
#main .contact .textBox p {
    line-height: 1.71;
    font-feature-settings: "palt"; 
    -moz-font-feature-settings: "palt";
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .contact .textBox .title {
    margin-bottom: 5px;
    color: #0F3F5B;
    font-size: 2.7rem;
}
#main .contact .contactBox {
    margin: 0 auto;
    width: 835px;
    box-sizing: border-box;
    background: url("../img/index/bg07.png") no-repeat center bottom / 100%;
}
#main .contact .contactBox a {
    padding: 34px 58px 22px;
    display: block;
    background: url("../img/index/bg08.png") no-repeat center top / 100%;
}
#main .contact .contactBox a:hover {
    opacity: 0.7;
}
#main .contact .contactBox a p {
    margin-bottom: 11px;
    color: #E11717;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: justify; 
    text-justify:inter-ideograph;
}
#main .contact .contactBox a .text {
    margin-bottom: 0;
    color: #0B73AF;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
}
#main .contact .contactBox a .text span {
    margin-left: 20px;
    width: 88px;
    display: inline-block;
    font-size: 2rem;
    vertical-align: -10px;
}
@media all and (max-width: 896px) {
    .mainVisual .imgBox {
        max-width: inherit;
        display: block;
    }
    .mainVisual .imgBox .photoBox {
        margin-bottom: 40px;
        width: auto;
        text-align: center;
    }
    .mainVisual .imgBox .textBox {
        margin-top: 0;
        padding-left: 5px;
        width: auto;
    }
    .mainVisual .imgBox .textBox .title {
        margin-bottom: 18px!important;
        font-size: 2.3rem;
    }
    .mainVisual .imgBox .textBox .title .comBg {
        background-size: 4px auto;
    }
    .mainVisual .imgBox .textBox p {
        margin-bottom: 29px;
        font-size: 1.8rem;
        line-height: 1.61;
    }
    #main {
        margin-bottom: 39px;
    }
    #main h2 {
        margin-bottom: 22px;
    }
    #main .pTop {
        font-size: 2.1rem;
        line-height: 1.67;
    }
    #main .about {
        padding-top: 63px;
    }
    #main .about .content {
        width: auto;
    }
    #main .about .pTop {
        margin-bottom: 45px;
        width: auto;
    }
    #main .about .listUl {
        display: block;
    }
    #main .about .listUl li {
        margin-bottom: 45px;
        width: auto;
    }
    #main .about .listUl li:last-child {
        margin-bottom: 0;
    }
    #main .about .listUl li .photo {
        margin-bottom: 22px;
        text-align: center;
    }
    #main .about .listUl li p {
        line-height: 1.67;
    }
    #main .about .listUl li .title {
        margin-bottom: 8px;
        font-size: 2.1rem;
    }
    #main .vision {
        padding-top: 121px;
    }
    #main .vision h2 {
        margin-bottom: 24px;
    }
    #main .vision .content {
        width: auto;
    }
    #main .vision .imgBox .photoBox {
        margin: 0 18px 12px;
        width: auto;
    }
    #main .vision .imgBox .textBox {
        width: auto;
    }
    #main .vision .imgBox .textBox .title {
        margin-bottom: 45px;
        font-size: 2.1rem;
    }
    #main .vision .imgBox .textBox .borderBox {
        background: url("../img/index/sp_bg01.png") no-repeat left bottom / 100% auto;
    }
    #main .vision .imgBox .textBox .borderBox .subBox {
        padding: 22px 15px 60px;
        background: url("../img/index/sp_bg02.png") no-repeat left top / 100% auto;
    }
    #main .vision .imgBox .textBox .borderBox p {
        margin-bottom: 12px;
        padding: 5px 0 7px 45px;
        font-size: 1.7rem;
        line-height: 1.55;
        background: url("../img/common/sp_icon02.png") no-repeat left center / 33px;
    }
    #main .vision .imgBox .textBox li {
        margin-bottom: 18px;
        padding-left: 44px;
        font-size: 1.7rem;
        line-height: 1.55;
        background-size: 21px auto;
        background-position: left 6px center;
    }
    #main .features {
        padding-top: 100px;
    }
    #main .features .content {
        width: auto;
    }
    #main .features h2 {
        margin-bottom: 18px;
    }
    #main .features .pTop {
        margin: 0;
        width: auto;
        position: relative;
        z-index: 1;
    }
    #main .features .inner {
        display: block;
    }
    #main .features ul {
        margin-top: -2px;
        display: block;
        position: relative;
        z-index: 1;
    }
    #main .features li {
        margin: 0 0 50px;
        width: auto;
        background: url("../img/index/sp_bg01.png") no-repeat left bottom / 100% auto;
        background-size: 100% auto;
    }
    #main .features li .subBox {
        padding: 29px 17px 55px;
        min-height: 165px;
        background: url("../img/index/sp_bg02.png") no-repeat left top / 100% auto;
    }
    #main .features li .title {
        margin: 0 0 20px;
        display: block;
        text-align: left;
    }
    #main .features li .title span {
        padding-left: 44px;
        font-size: 2rem;
        background-size: 26px auto;
        background-position: left 3px top 3px;
        text-align: justify; 
        text-justify:inter-ideograph;
    }
    #main .features li p {
        line-height: 1.67;
    }
    #main .features .photo {
        margin: -39px -6px 0 auto;
        width: 138px;
    }
    #main .price {
        padding-top: 33px;
    }
    #main .price h2 {
        margin-bottom: 41px;
    }
    #main .price  .imgBox {
        margin: 0 auto 69px;
        width: auto;
        display: block;
    }
    #main .price .photoBox {
        margin: 0 auto 23px;
        padding-right: 41px;
        width: 254px;
    }
    #main .price .textBox {
        width: auto;
    }
    #main .price .textBox p {
        font-size: 2.1rem;
        line-height: 1.67;
    }
    #main .price .textList {
        margin: 0 0 50px;
        display: block;
    }
    #main .price .textList > li {
        margin: 0 0 99px;
        padding-bottom: 49px;
        width: auto;
    }
    #main .price .textList > li:last-child {
        margin-bottom: 0;
    }
    #main .price .textList > li::before {
        background-image: url("../img/index/sp_bg01.png");
    }
    #main .price .textList .red::before {
        background-image: url("../img/index/sp_bg06.png")
    }
    #main .price .textList li .title {
        margin-bottom: 50px;
        padding: 26px 24px 25px;
        font-size: 1.9rem;
        line-height: 1.39;
    }
    #main .price .textList li dt,
    #main .price .textList li dd {
        line-height: 1.67;
    }
    #main .price .textList li .num {
        margin-bottom: 51px;
        font-size: 3.3rem;
    }
    #main .price .textList li .num .textSpan {
        font-size: 1.5rem;
    }
    #main .price .textList li .num .txtSpan span {
        font-size: 1.5rem;
    }
    #main .price .textList li .num .comBg {
        padding: 0 11px 3px;
    }
    #main .price .textList li .num .sml {
        font-size: 1.8rem;
    }
    #main .price .textList li .num .txt {
        margin-top: 29px;
        font-size: 1.8rem;
    }
    #main .price .textList li .num .txtSpan {
        margin-top: 20px;
        font-size: 1.5rem;
    }
    #main .price .textList li .subBox {
        padding: 0 17px;
    }
    #main .price .borderBox {
        width: auto;
        background-image: url("../img/index/sp_bg01.png");
    }
    #main .price .listUl {
        padding: 27px 17px 51px 22px;   
        background-image: url("../img/index/sp_bg02.png");
    }
    #main .price .listUl li {
        margin-bottom: 20px;
        padding-left: 40px;
        font-size: 1.7rem;
        line-height: 1.56;
        background-size: 22px auto;
    }
    #main .price .listUl li:last-child {
        margin-bottom: 0;
    }
    #main .voice {
        padding-top: 100px;
    }
    #main .voice h2 {
        margin-bottom: 57px;
    }
    #main .voice ul {
        margin-top: 0;
    }
    #main .voice li {
        margin: 0 0 49px;
        width: auto;
    }
    #main .voice li:last-child {
        margin-bottom: 0;
    }
    #main .voice li .photo {
        margin-bottom: 23px;
        width: 173px;
    }
    #main .voice li  p {
        line-height: 1.67;
    }
    #main .voice li .title {
        margin: 0 -10px 6px 0;
        text-align: left;
    }
    #main .sns {
        padding-top: 93px;
    }
    #main .sns h2 {
        margin-bottom: 23px;
    }
    #main .sns .pTop {
        margin: 0 -20px 45px 0;
        text-align: left;
    }
    #main .sns .inner {
        display: block;
    }
    #main .sns .inner .mark {
        margin: 0 auto 29px;
        width: 31px;
    }
    #main .sns .faceBox {
        margin-bottom: 42px;
        width: auto;
    }
    #main .sns .faceBox .photo {
        text-align: center;
    }
    #main .sns .faceBox .photo {
        margin: 0 -20px;
    }
    #main .sns .snsBox {
        width: auto;
    }
    #main .sns .snsBox ul {
        margin-top: -5px;
    }
    #main .sns .snsBox li {
        margin: 5px 1.6% 0 0;
        width: 23.8%;
        height: 80px;
    }
    #main .contact {
        padding-top: 99px;
    }
    #main .contact .content {
        width: auto;
    }
    #main .contact h2 {
        margin-bottom: 54px;
    }
    #main .contact .imgBox {
        margin-bottom: 93px;
    }
    #main .contact .imgBox01 {
        margin-bottom: 72px;
    }
    #main .contact .photoBox {
        margin: 0 auto 22px;
        padding-left: 0;
        width: 230px;
    }
    #main .contact .textBox {
        width: auto;
    }
    #main .contact .textBox p {
        line-height: 1.67;
    }
    #main .contact .textBox .title {
        font-size: 2.1rem;
    }
    #main .contact .contactBox {
        width: auto;
        background-image: url("../img/index/sp_bg01.png");
    }
    #main .contact .contactBox a {
        padding: 26px 17px 37px;
        background-image: url("../img/index/sp_bg02.png");
    }
    #main .contact .contactBox a p {
        margin-bottom: 20px;
        font-size: 1.7rem;
    }
    #main .contact .contactBox a .text {
        margin-bottom: 0;
        font-size: 2.1rem;
    }
    #main .contact .contactBox a .text span {
        margin: 2px auto 0;
        display: block;
        width: 81px;
        font-size: 1.7rem;
    }
}
@media all and (max-width: 896px) and (min-width: 500px) {
    #main .vision .imgBox .textBox .borderBox .subBox {
        padding-bottom: 100px;
    }
    #main .price .textList > li {
        padding-bottom: 160px;
    }
    #main .price .listUl {
        padding-bottom: 100px;
    }
}