﻿@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import "fontface.css";
@import "normalize.css";
* {
    padding: 0;
    margin: 0;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

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

a {
    color: #333
}

a:hover,
a:active {
    color: #006baf;
    text-decoration: none
}

a:hover img {
    opacity: 0.7;
}

a:hover img.no-hover {
    opacity: 1
}

body {
    color: #363636;
}

p {
    margin: 0 0 1em
}

.mb-0 {
    margin-bottom: 0
}

.mb-5 {
    margin-bottom: 5px
}

.mb-10 {
    margin-bottom: 10px
}

.mb-15 {
    margin-bottom: 15px
}

.mb-20 {
    margin-bottom: 20px
}

.mb-25 {
    margin-bottom: 25px
}

.mb-30 {
    margin-bottom: 30px
}

.mb-35 {
    margin-bottom: 35px
}

.mb-40 {
    margin-bottom: 40px
}

.mb-45 {
    margin-bottom: 45px
}

.mb-50 {
    margin-bottom: 50px
}

.mb-55 {
    margin-bottom: 55px
}

.mb-60 {
    margin-bottom: 60px
}

.mb-65 {
    margin-bottom: 65px
}

.mb-70 {
    margin-bottom: 70px
}

.mr-5 {
    margin-right: 5px
}

.mr-10 {
    margin-right: 10px
}

.mr-15 {
    margin-right: 15px
}

.mr-20 {
    margin-right: 20px
}

.mr-25 {
    margin-right: 25px
}

.mr-30 {
    margin-right: 30px
}

.mr-35 {
    margin-right: 35px
}

.mr-40 {
    margin-right: 40px
}

.mr-45 {
    margin-right: 45px
}

.mr-50 {
    margin-right: 50px
}

.mr-55 {
    margin-right: 55px
}

.mr-60 {
    margin-right: 60px
}

.pb-0 {
    padding-bottom: 0
}

.pb-5 {
    padding-bottom: 5px
}

.pb-10 {
    padding-bottom: 10px
}

.pb-15 {
    padding-bottom: 15px
}

.pb-20 {
    padding-bottom: 20px
}

.pb-25 {
    padding-bottom: 25px
}

.pb-30 {
    padding-bottom: 30px
}

.pb-35 {
    padding-bottom: 35px
}

.pb-40 {
    padding-bottom: 40px
}

.pb-45 {
    padding-bottom: 45px
}

.pb-50 {
    padding-bottom: 50px
}

.pb-55 {
    padding-bottom: 55px
}

.pb-60 {
    padding-bottom: 60px
}

.pb-65 {
    padding-bottom: 65px
}

.pb-70 {
    padding-bottom: 70px
}

.pt-5 {
    padding-top: 5px
}

.pt-10 {
    padding-top: 10px
}

.pt-15 {
    padding-top: 15px
}

.pt-20 {
    padding-top: 20px
}

.pt-25 {
    padding-top: 25px
}

.pt-30 {
    padding-top: 30px
}

.pt-35 {
    padding-top: 35px
}

.pt-40 {
    padding-top: 40px
}

.pt-45 {
    padding-top: 45px
}

.pt-50 {
    padding-top: 50px
}

.pt-55 {
    padding-top: 55px
}

.pt-60 {
    padding-top: 60px
}

.pt-65 {
    padding-top: 65px
}

.pt-70 {
    padding-top: 70px
}

.w-5 {
    width: 5%
}

.w-10 {
    width: 10%
}

.w-15 {
    width: 15%
}

.w-20 {
    width: 20%
}

.w-25 {
    width: 25%
}

.w-30 {
    width: 30%
}

.w-35 {
    width: 35%
}

.w-40 {
    width: 40%
}

.w-45 {
    width: 45%
}

.w-50 {
    width: 50%
}

/**************Header************/

#wrapper {
    min-width: 1120px;
    overflow: hidden;
}

.inner {
    width: 920px;
    margin: 0 auto;
}

h1 {
    width: 760px;
    font-family: 'NotoSansCJKjp-Regular';
    font-size: 11px;
    z-index: 90;
    left: 50%;

    margin-left: -556px;
    line-height: 1.5em;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    top: 0;


}

#index h2 {
    text-align: center;
    line-height: 0;
    z-index: 1;
    position: relative;
    top: 0;
}

#index h2 img {
    margin: 0 auto;
    max-width: 752px;
}

.hd_top {
    position: relative;

}

.hd_top .inner_htop {
    width: 1120px;
    margin: 0 auto;
    overflow: hidden;
}

#header {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    background: #fff;
    z-index: 10;
    padding: 5px 0 0;

    -webkit-animation: remove-fixed 0.6s;
    -moz-animation: remove-fixed 0.6s;
    animation: remove-fixed 0.6s;
    transition: all ease 0.5s
}

#header.fixed {
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    -webkit-animation: header-fixed 0.5s;
    -ms-animation: header-fixed 0.5s;
    animation: header-fixed 0.5s;
}

@keyframes remove-fixed {
    0% {
        opacity: 0.8;
        -webkit-transform: translateY(5%);
        -ms-transform: translateY(5%);
        -moz-transform: translateY(5%);
        transform: translateY(5%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        -moz-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes header-fixed {
    0% {
        opacity: 0.9;

    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
}

#header.fixed h1 {
    display: none;
}

.fixed .hd_contact {
    padding: 0
}

.fixed #gnavi {
    margin-top: 0
}

.hd_topLeft {
    display: inline-block;
    float: left;
    vertical-align: middle;
    margin-top: 10px;
}

.fixed .hd_topLeft {
    margin-top: 0;
}

.hd_topRight {
    display: inline-block;
    float: right;
    vertical-align: middle;
}

.hd_contact {
    text-align: right;
    padding: 0;
    margin: 4px 0 0 0;
    width: 300px;
    float: right;
    line-height: 1.8em
}

.hd_contact a {
    display: inline-block;
    vertical-align: middle;
}

p.jishin {
    font-family: 'Roboto-Bold';
    color: #363636;
    font-size: 34px;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    cursor: default;
	margin: 0;
	line-height: 1.4;
}
p.jishin span {
    font-family: 'Roboto-Bold';
    color: #363636;
    font-size: 16px;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    cursor: default;
	margin: 0;
	line-height: 1.4;
}

p.jishin:before {
    content: "";
    display: inline-block;
    width: 29px;
    height: 19px;
    background: url("../images/contact_icon01.png") center/contain no-repeat;
    vertical-align: middle;
    margin: 0 5px 5px 0;
}
.hd_contact .hd_phone {
    font-family: 'Roboto-Bold';
    color: #363636;
    font-size: 34px;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    cursor: default;
}

.hd_contact .hd_phone:before {
    content: "";
    display: inline-block;
    width: 29px;
    height: 19px;
    background: url("../images/contact_icon01.png") center/contain no-repeat;
    vertical-align: middle;
    margin: 0 5px 5px 0;
}

.hd_phone span {
    display: block;
    font-family: 'NotoSansCJKjp-Regular';
    font-size: 14px;
    letter-spacing: 0.75px;
    margin-top: 2px;
}

.hd_contact .hd_btn {
    font-family: 'NotoSansCJKjp-Medium';
    width: 240px;
    text-align: center;
    padding: 20px 10px;
    color: #fff;
    background: url("../images/hd_btn_bg01.jpg") center/cover no-repeat;
    text-decoration: none;
    margin-left: 20px;
    border-radius: 10px;
}

.hd_contact .hd_btn:hover {
    opacity: 0.8;
}

.logo {
    line-height: 0
}

.logo img {
    width: 806px;
    margin-top: 15px;
}

.cloud_icon {
    margin-bottom: 0;
    position: absolute;
    bottom: -295px;
}

.cloud_icon li {
    display: inline-block;
    width: 235px;
    height: 150px;
    background: url("../images/cloud_icon01.png") center/contain no-repeat;
    margin-right: 7px;
    vertical-align: top;
}

.cloud_icon li:last-child {
    margin-right: 0;
}

.cloud_icon li p {
    position: relative;
    margin-bottom: 0;
    font-family: 'NotoSansCJKjp-Black';
    font-size: 18px;
    text-align: center;
    line-height: 1.6em;
    top: 50%;
    -webkit-transform: translateY(-60%);
    -moz-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    -o-transform: translateY(-60%);
    transform: translateY(-60%);
}

.cloud_icon span {
    display: inline-block;
    font-size: 32px;
    color: #e22727;
}

/**************gnavi************/

#gnavi {
    margin-top: 9px;
}

#gnavi ul {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

#gnavi li {
    margin-left: 14px;
}

#gnavi a {
    font-family: 'NotoSansCJKjp-Bold';
    text-decoration: none;
    font-size: 15px;
    color: #363636;
}

#gnavi a:hover {
    color: #2481b3;
}

#gnavi .mnCurrent {
    color: #2481b3;
}

/**************mainvisual************/

#main {
    margin-top: 108px
}

#index #mainvisual {
    background-image: url("../images/main_top02.png"), url("../images/hd_bg01.png");
    background-position: bottom, center;
    background-size: auto;
    background-repeat: repeat-x, repeat;
}

#index #mainvisual.confirm {
    height: auto;
    min-height: 700px;
}

.confirm .right_mainvs #mailForm {
    padding-bottom: 10px
}

.idx_slogan {
    width: 1120px;
    font-family: 'NotoSansCJKjp-Black';
    font-size: 26px;
    text-align: center;
    line-height: 2em;
    margin: 0 auto;
    padding-top: 50px;
    color: #ff5467;
    letter-spacing: 2px;
    text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

.idx_slogan span {
    font-size: 44px;
    letter-spacing: 1px;
}

.top_mainvs {
    width: 1130px;
    margin: 0 auto;
    padding: 20px 0 0 0;
}

.top_mainvs:after {
    content: "";
    display: block;
    clear: both;
}

.left_mainvs {
    position: relative;
    float: left;
    width: 726px;
    height: 328px;
}

.left_mainvs .img-people {
    text-align: center;
    line-height: 0;
    z-index: 1;
    position: relative;
    top: 15px;
}

.left_mainvs .img-people img {
    max-width:0px;
    vertical-align: bottom;
    margin: 0 auto;
}

.left_mainvs.bg:after {
    background-size: 68%;
    background-position: center bottom;
    left: 50px;
    top: calc(100% + -119px);
}

.right_mainvs {
    width: 365px;
    float: right;
}

.right_mainvs #mailForm {
    padding: 11px 11px 1px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    margin-bottom: 20px;
}

#mailForm .hd_contact.pc {
	width: auto;
	float: none;
	margin: 0 auto 10px auto;
	text-align: center;
	padding-top: 10px;
	border-top: 1px dotted #000;
}


#mailForm .hd_contact.pc i {
	width: 100%;
	height: 45px;
	font-size: 18px;
	font-family: "NotoSansCJKjp-Black";
	line-height: 45px;
	font-style: normal;
	border-radius: 10px;
	border: 1px solid #363636;
	display: block;
	margin-top: 5px;
}

.right_mainvs .check {
    padding: 12px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    margin-bottom: 20px;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


.right_mainvs .check li {
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 10px;
    width: 250px;
}

.right_mainvs .check li:before {
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: url(../images/ic_check.png) no-repeat center/cover;
    top: 8px;
    left: 0;
}

.right_mainvs .check span {
    display: inline-block;
    position: relative;
    color: #363636;
    font-family: "NotoSansCJKjp-Medium";
    font-size: 20px;
    z-index: 1;
}

.right_mainvs .check span:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 8px;
    bottom: 2px;
    left: 0;
    z-index: -1;
    -webkit-box-shadow: 0 0 5px 0 #fff;
    /* Safari, Chrome用 */
    -moz-box-shadow: 0 0 5px 0 #fff;
    /* Firefox用 */
    box-shadow: 0 0 5px 0 #fff;
    /* CSS3 */
}

.right_mainvs .blue span:after {
    background: #75A3BB;
}

.right_mainvs .green span:after {
    background: #5B9C78;
}

.right_mainvs .red span:after {
    background: #FCA7B1;
}

.hd_list .list_intro {
    text-align: center;
}

.intro_mailForm {
    position: relative;
    font-family: "NotoSansCJKjp-Black";
    font-size: 120%;
    margin-bottom: 20px;
    background: #fff;
    text-align: center;
    padding: 10px 5px;
    border-radius: 10px;
    line-height: 1.35em
}

.intro_mailForm:after {
    position: absolute;
    content: "";
    display: inline-block;
    border-top: 14px solid #fff;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    left: calc(50% - 14px);
    top: 98%;
}

.intro_mailForm ul {
    display: -webkit-flex;
    -webkit-justify-content: center;
    display: flex;
    justify-content: center;
}

.intro_mailForm ul span {
    display: inline-block;
    color: #e22727;

}

.intro_mailForm ul li:first-child {
    font-size: 14px;
    line-height: 1.2em;
}

.intro_mailForm ul li:last-child {
    color: #e22727;
    font-size: 28px;
    margin-left: 10px;
}

.intro_mailForm span {
    display: block;
    font-size: 12px;
    text-align: center;
}

.hd_list .list_input {
    display: flex;
    margin-bottom: 10px;
}

.hd_list .list_input:last-child {
    margin-bottom: 0;
}

.hd_list .list_input span {
    text-align: center;
    font-family: "NotoSansCJKjp-Black";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 7px;
    background: #fff;
    color: #2481b3;
    font-size: 20px;
}

.hd_list .list_input select,
.hd_list .list_input input {
    font-family: "NotoSansCJKjp-Bold";
    width: 100%;
    border: none;
    font-size: 16px;
    color: #fff;
    padding: 0 30px 0 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #2481b3 url("../images/select_arrow01.png") right 8px center/20px auto no-repeat;
    outline: none;
}

.hd_list .list_input input {
    border-left: 1px solid #2481b3;
    background: #fff;
    color: #363636;
}

.hd_list .list_input optgroup,
.hd_list .list_input option {
    color: #fff;
}

.fmail_text01 {
    font-family: 'NotoSansCJKjp-Regular';
    color: #fff;
    font-size: 11px;
    margin-bottom: 15px;
}

.hd_listBtn input {
    font-family: "NotoSansCJKjp-Black";
    width: 100%;
    height: 45px;
    color: #fff;
    font-size: 18px;
    background: #e22727;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    outline: none;
}

.hd_listBtn input:hover {
    opacity: 0.9;
}

[class^="box_ttl"] {
    margin: 0 auto;
    font-family: "NotoSansCJKjp-Black";
    font-size: 31px;
    text-align: center;
    line-height: 1.7em;
    margin-bottom: 40px;
    letter-spacing: 1.5px;
    padding: 5px 12px;
    letter-spacing: -0.8px
}

.idx_thank {
    padding: 0 0 0 30px
}

/**************Content************/

.box_content {
    width: 1120px;
    margin: 0 auto 40px;
}

.box_content:last-child {
    margin-bottom: 0
}

.box_ttl01 .bld,
.box_ttl02 .bld {
    color: #ffff94;
}

.box_ttl02 {
    color: #fff;
}

.box_intro {
    font-family: 'NotoSansCJKjp-Bold';
    font-size: 20px;

    margin-top: 59px;
    line-height: 1.6em;
}

.box_intro .special_txt {
    font-family: "NotoSansCJKjp-Bold";
    font-size: 24px;
    color: #49b8f4;
}

.box01 {

    text-align: center
}

#index #content {
    background: url("../images/main_top01.png") no-repeat center top;
}

#thank_mainvisual {
    height: 250px;
    background: url(../images/under_bg.jpg) no-repeat bottom left;
    background-size: cover;
}

#thank_mainvisual h2 {
    font-size: 35px;
    line-height: 1.6em;
    text-align: center;
    display: block;
    font-family: "NotoSansCJKjp-Black";
    color: #fff;
    position: relative;
    top: 43%;
    transform: translateY(-43%);
    letter-spacing: 1px;
}

#thank-page .box-top {
    padding: 30px 0 15px;
}

#index #thank-page #content {
    background: none
}

.box01 .box_ttl01 {
    top: -50px;
    margin-bottom: -15px
}

.box_ttl02 {
    background: #744f90;
    border: 1px solid #783CA7;
}

.box_ttl01 {
    background: #ff5467;
    border: 1px solid #f54365;
}

.wrapp {
    display: inline-block;
    background: url("../images/hd_painter.png") no-repeat left 0 top 45%;
    padding-left: 56px;
    background-size: 43px;
    line-height: 1.4em;
}

.box01 .box_intro {
    margin-top: 0;
}

.b01_cnt {
    background: url("../images/b01_bg.jpg") center;
    padding: 60px 0 30px 0;
    position: relative;
    z-index: -2
}

#index .box01 h3 {
    margin-bottom: 0
}

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

.b01_post dl {
    position: relative;
    width: 270px;
    margin-right: 58px;
}

.b01_post dl:last-child {
    margin-right: 0;
}

.b01_post dl:before {
    content: "";
    position: absolute;
    border-left: 23px solid #2481b3;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    top: 50%;
    left: calc(100% + 18px);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.b01_post dl:last-child:before {
    display: none;
}

.b01_post dt {
    text-align: center;
    margin-bottom: 5px;
}

.b01_post .post_ttl01 {
    font-family: "NotoSansCJKjp-Black";
    font-size: 24px;
    color: #2481b3;
    line-height: 1.45em;
    margin-bottom: 11px;
}

.b01_post .post_ttl01 span {
    font-size: 34px;
    color: #2481b3;
}

.b01_post dd {
    font-family: "NotoSansCJKjp-Bold";
    font-size: 16px;
    text-align: left
}

.b01_post dd .img {
    margin-bottom: 5px;
}

.b01_post dd span {
    color: #49b8f4;
}

.box02 {
    padding: 0px 0 15px;

    margin-top: 105px;
}

.b02_chart {
    position: relative;
    height: 650px;
    margin-bottom: 50px;
}

.box02 .idx {
    position: relative;
    position: relative;
    margin-top: -91px;
    z-index: 1;
    margin-bottom: 65px;

}

.box_ttl04 {
    padding-left: 42p;
}

.box_ttl04 span {
    color: #fff;
}

.b02_chart [class^="chart_item"] {
    position: absolute;
    width: 270px;
}

.b02_chart [class^="chart_item"] dt {
    height: 240px;
    text-align: center;
    line-height: 0;
    margin-bottom: 2px;
}

.b02_chart [class^="chart_item"] img {
    max-width: 100%;
    max-height: 100%;
}

.b02_chart [class^="chart_item"] dd {
    font-family: "NotoSansCJKjp-Black";
    font-size: 26px;
    text-align: center;
}

.b02_chart .chart_item01 {
    left: 0;
    top: 0;
}

.b02_chart .chart_item01 dd {
    color: #ff5467;
}

.b02_chart .chart_item02 {
    right: 0;
    top: 0;
}

.b02_chart .chart_item02 dd {
    color: #229f38;
}

.b02_chart .chart_item03 {
    bottom: -30px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.b02_chart .chart_item03 dd {
    color: #2481b3;
}

.b02_chart [class^="chart_arrow"] {
    position: absolute;
    font-family: "NotoSansCJKjp-Medium";
    display: inline-block;
    padding: 0 5px;
    font-size: 22px;
    color: #fff;
    text-align: center;
}

.b02_chart [class^="chart_arrow"]:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 32px;
    height: 65px;
    background: center no-repeat;
}

.b02_chart .chart_arrow01 {
    background: #ff5467;
}

.b02_chart .chart_arrow02 {
    background: #229f38;
}

.b02_chart .chart_arrow03 {
    background: #2481b3;
}

.b02_chart .chart_arrow04 {
    background: #ff5467;
}

.b02_chart .topRight {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    right: -80px;
    margin-top: -10px;
}

.b02_chart .rightLeft {
    left: calc(-100% - 60px);
    top: 56%;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    padding: 0 30px;
    min-width: 100%;
}

.b02_chart .leftright {
    left: calc(-100% - 80px);
    top: 30%;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    padding: 0 30px;
    min-width: 100%;
}

.b02_chart .botLeft {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    left: -90px;
    bottom: 100%;
    margin-bottom: 50px;
    padding: 0 35px;
}

.b02_chart .botRight {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right: -80px;
    bottom: 100%;
    margin-bottom: 20px;
    padding: 0 15px;
}

.b02_chart .topRight:before {
    left: 99%;
    background-image: url("../images/chart_arrow01.png");
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.b02_chart .rightLeft:before {
    right: 99%;
    background-image: url("../images/chart_arrow02.png");
}


.b02_chart .leftright:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 32px;
    height: 65px;
    right: -32px;
    background: url("../images/chart_arrow04.png") no-repeat left;

}

.b02_chart .botLeft:before {
    right: 99%;
    background-image: url("../images/chart_arrow03.png");
}

.b02_chart .botRight:before {
    left: 99%;
    background-image: url("../images/chart_arrow03.png");
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

#index .bubble_icon01 {
    display: block;
    position: absolute;
    width: 237px;
    top: calc(100% - 30px);
    left: -40px;
}

#index .bubble_icon01 img {
    max-width: 100%;
}

#index .bubble_icon02 {
    display: block;
    position: absolute;
    width: 273px;
    right: -25px;
    top: calc(100% + 20px);
}

#index .bubble_icon02 img {
    max-width: 100%;
}

.box03 {
    background: url("../images/b03_bg.png") top;
    padding: 30px 0 50px;
}

.box03 .box_ttl02 {
    margin-bottom: 50px;
}

.b03_list {
    width: 650px;
}

.box03 .box_content {
    background: url("../images/b03_bg02.png") right center/570px auto no-repeat;
}

.b03_list > li {
    margin-bottom: 30px;
}

.b03_list > li:last-child {
    margin-bottom: 0;
}

.b03_titleList {
    display: flex;
}

.b03_numberList {
    display: inline-block;
    font-family: "NotoSansCJKjp-Medium";
    font-size: 58px;
    vertical-align: middle;
    color: #fff;
    margin-right: 10px;
    line-height: 1.4em;
}

.b03_title {
    font-family: "NotoSansCJKjp-Black";
    font-size: 28px;
    display: inline-block;
    color: #fff;
    vertical-align: middle;
    line-height: 1.4em;
}

.b03_title span {
    font-size: 34px;
    color: #fff;
}

.b03_subList {
    padding-left: 90px;
}

.b03_subList li {
    position: relative;
    font-family: "NotoSansCJKjp-Medium";
    color: #fff;
    font-size: 20px;
    padding-left: 20px;
    margin-bottom: 5px;
    line-height: 1.3em;
}

.b03_subList li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 15px;
    height: 5px;
    width: 5px;
    border-radius: 50%;
    background: #fff;
}

.b03_subList .txt_right {
    text-align: right;
    display: block;
    color: #fff;
    line-height: 1.5em;
}

.b03_cnt {
    padding-left: 90px;
    font-family: "NotoSansCJKjp-Medium";
    color: #fff;
    font-size: 20px;
}

.b03_cnt:last-child {
    margin-bottom: 0;
}

.pr160 {
    padding-right: 159px;
}

.box04 {
    padding: 35px 0 0;
}

#index .b04_book {
    position: relative;
    border-radius: 28px/30px;
    background: url("../images/book_bg01.jpg") left top;
    width: 100%;
    padding: 15px;
    z-index: 0;
}

#index .book_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.book_inner .left_book,
.book_inner .right_book {
    position: relative;
    width: 49%;
    background: #fff;
    z-index: -1;
}

.book_inner .left_book {
    border-radius: 7px;
    padding: 29px 57px 29px 40px;
}

.book_inner .woman_book01:before {
    content: "";
    position: absolute;
    display: block;
    height: 189px;
    width: 110px;
    background: url("../images/b04_img01.png") center no-repeat;
    bottom: 0;
    right: 0;
}

.book_inner .man_book01:before {
    content: "";
    position: absolute;
    display: block;
    height: 197px;
    width: 117px;
    background: url("../images/b04_img02.png") center no-repeat;
    bottom: -1px;
    right: 23px;
}

.book_inner .right_book {
    border-radius: 10px;
    padding: 29px 40px 29px 57px;
}

.b04_book .text-top {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    top: -5px;
    background: #fffd00;
    font-size: 22px;
    padding: 5px 20px;
    margin-bottom: 0;
    width: 180px;
    text-align: center;
}

.b04_book.col01 .text-top {
    top: 10px;
}

.b04_book .text-top span {
    font-weight: bold;
}

.book_inner .note {
    font-size: 14px;
    line-height: 1.2em;
    font-family: 'NotoSansCJKjp-Regular';
}

#index .book_inner:before {
    content: "";
    position: absolute;
    display: block;
    width: 93px;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url("../images/break_book.png") center repeat-y;
}

.b04_book {
    margin-bottom: 46px;
}

.b04_book:last-child {
    margin-bottom: 0;
}

.b04_book:before {
    content: "";
    position: absolute;
    width: 93px;
    height: 100%;
    background: #a44f00;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}

#index .b04_book.col01 {
    width: 50%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.b04_book.col01 .book_inner .left_book {
    width: 100%;
}

#index .b04_book.col01 .book_inner:before {
    left: inherit;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
}

#index .b04_book.col01 .book_inner {
    overflow: hidden;
}

.b04_book.col01:before {
    left: inherit;
}

.idx_baf {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.idx_bf {
    position: relative;
    margin-right: 48px;
}

.idx_bf img {
    width: 130px;
    margin: 27px 0 0 25px;
}

.idx_bf:before {
    content: "before";
    display: block;
    width: 100%;
    text-align: center;
    font-size: 20px;
    font-family: 'NotoSansCJKjp-Regular';
}

.idx_af:before {
    content: "after";
    display: block;
    width: 100%;
    text-align: center;
    font-size: 28px;
    font-family: 'NotoSansCJKjp-Black';
    color: #e22727;
    line-height: 1.215em;
}

.idx_bf:after {
    content: "";
    display: block;
    position: absolute;
    border-left: 13px solid #363636;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    top: 50%;
    -webkit-transform: translateY(-10%);
    -moz-transform: translateY(-10%);
    -ms-transform: translateY(-10%);
    -o-transform: translateY(-10%);
    transform: translateY(-10%);
    left: calc(100% + 19px);
}

.idx_af img {
    max-width: 240px;
}

.b04_priceList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 21px;
}

.b04_priceList:last-child {
    margin-bottom: 0;
}

.b04_priceList li {
    font-family: 'NotoSansCJKjp-Regular';
    font-size: 20px;
    text-align: center;
    width: 130px;
    border: 1px solid #363636;
    padding: 9.5px 3px;
    line-height: 1.4em;
}

.b04_priceList li span {
    font-family: "NotoSansCJKjp-Bold";
    font-size: 30px;
}

.b04_priceList .special_price {
    color: #e22727;
    border-color: #e22727;
}

.b04_priceList .special_price span {
    position: relative;
    color: #e22727;
    display: inline-block;
}

.b04_priceList .special_price span:before {
    position: absolute;
    content: "";
    display: block;
    width: 78px;
    height: 63px;
    left: -22px;
    top: -10px;
    background: url("../images/bold_price01.png") center/contain no-repeat
}

#index .book_notice {
    font-family: "NotoSansCJKjp-Medium";
    margin-bottom: 0;
    padding: 23px 90px 19px 20px;
    background: #e22727;
    color: #fff;
    font-size: 20px;
    text-align: center;
    line-height: 2em;
    border-radius: 10px;
}

#index .book_notice span {
    font-family: "NotoSansCJKjp-Black";
    color: #fff;
}

#index .book_notice .big_txt {
    font-size: 48px;
    color: #fff;
}

#index .none_border {
    margin-bottom: 14px;
}

#index .none_border:last-child {
    margin-bottom: 0;
}

#index .none_border th,
#index .none_border td {
    font-family: 'NotoSansCJKjp-Regular';
    border: none;
    font-size: 20px;
    padding: 0;
}

#index .idx_baf .none_border td {
    font-size: 14px;
    display: block;
    text-align: center;
}

.box05 {
    padding: 38px 0 70px;
}

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

.b05_post dl {
    width: 535px;
    margin-top: 48px;
}

.b05_post dl:nth-child(-n + 2) {
    margin-top: 0;
}

.b05_post dt {
    font-family: "NotoSansCJKjp-Black";
    position: relative;
    padding: 9px 55px 0 108px;
    text-align: center;
    color: #fff;
    font-size: 24px;
    line-height: 1.4em;
}

.b05_post dt p {
    font-size: 20px;
    margin-bottom: 0;
    color: #fff;
}

.b05_post dt p span {
    display: inline-block;
    font-size: 30px;
    color: #fff;
    margin-top: 4px;
}

.b05_post .post_item01 dt {

    border-bottom: none;
    position: relative;
    background: #2481b3;
}

.post_item01 {
    border: 6px solid #2481b3;
}

.b05_post .post_item01 dd {

    border-top: none;
}

.post_item02 {
    border: 6px solid #82b61f;
}

.post_item03 {
    border: 6px solid #ff5467;
}

.post_item04 {
    border: 6px solid #744f90;
}

.b05_post .post_item02 dt {

    border-bottom: none;
    position: relative;
    background: #82b61f;
}

.b05_post .post_item02 dd {

    border-top: none;
}

.b05_post .post_item03 dt {

    border-bottom: none;
    position: relative;
    background: #ff5467;
}

.b05_post .post_item03 dd {

    border-top: none;
}

.b05_post .post_item06 dt {
    border: 6px solid #dd5514;
    border-bottom: none;
    position: relative;
    background: #dd5514;
}

.b05_post .post_item06 dd {
    border: 6px solid #dd5514;
    border-top: none;
}

.b05_post .post_item05 dt {
    border: 6px solid #00843a;
    border-bottom: none;
    position: relative;
    background: #00843a;
}

.b05_post .post_item05 dd {
    border: 6px solid #00843a;
    border-top: none;
}

.b05_post .post_item04 dt {
    border: 6px solid #744f90;
    border-bottom: none;
    position: relative;
    background: #744f90;
}


.b05_post [class^="post_item"] dt:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 30px;
    background: center/ 108% 100% no-repeat;
    top: 98%;
    left: 0;
}

.box01 .idx {

    top: 11px;
    position: relative;

}

.b05_post [class^="post_item"] dt:after {
    content: "";
    width: 78px;
    height: 119px;
    position: absolute;
    display: block;
    background: center/contain no-repeat;
    left: 0;
    bottom: -10px;
}

.b05_post .post_item01 dt:before {
    background-image: url("../images/b05_post01.png");
}

.b05_post .post_item02 dt:before {
    background-image: url("../images/b05_post02.png");
}

.b05_post .post_item03 dt:before {
    background-image: url("../images/b05_post03.png");
}

.b05_post .post_item06 dt:before {
    background-image: url("../images/b05_post04.png");
}

.b05_post .post_item05 dt:before {
    background-image: url("../images/b05_post05.png");
}

.b05_post .post_item04 dt:before {
    background-image: url("../images/b05_post06.png");
}

.b05_post .post_item01 dt:after {
    background-image: url("../images/b05_icon01.png");
    bottom: -10px;
    -webkit-transform: rotate(2deg);
    -moz-transform: rotate(2deg);
    -ms-transform: rotate(2deg);
    -o-transform: rotate(2deg);
    transform: rotate(2deg);
    left: 17px;
}

.b05_post .post_item02 dt:after {
    background-image: url("../images/b05_icon02.png");
}

.b05_post .post_item03 dt:after {
    background-image: url("../images/b05_icon03.png");
}

.b05_post .post_item05 dt:after {
    background-image: url("../images/b05_icon04.png");
}

.b05_post .post_item04 dt:after {
    background-image: url("../images/b05_icon05.png");
}

.b05_post .post_item06 dt:after {
    background-image: url("../images/b05_icon06.png");
}

.b05_post dd {
    font-family: 'NotoSansCJKjp-Medium';
    padding: 39px 20px 20px;
    font-size: 16px;
    line-height: 1.65em;
}

.box06 {
    background: url("../images/b06_bg.jpg") center;
    padding: 46px 0 100px;
}

.b06_post {
    display: flex;
    flex-wrap: wrap;
}

.b06_post dl {
    width: 340px;
    margin: 47px 50px 0 0;
    cursor: pointer;
}

.b06_post dl:hover {
    opacity: 0.9;
}

.b06_post dl:hover dt {
    opacity: 1;
}

.b06_post dl a:hover,
.b06_post dl a {
    color: #363636;
}

.b06_post dl:nth-child(-n + 3) {
    margin-top: 0;
}

.b06_post dl:nth-child(3n + 3) {
    margin-right: 0;
}

.b06_post dl dt {
    position: relative;
    height: 200px;
    margin-bottom: 8px;
}

.b06_post dl img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.b06_post dl dd {
    font-family: "NotoSansCJKjp-Medium";
    font-size: 20px;
}

.b06_post dl a {
    text-decoration: none;
}

.b06_post dd span {
    color: #fff;
    padding: 1px 8px;
    background: #49b8f4;
    margin-right: 8px;
}

#index .wordpress_btn {
    text-align: center;
    margin: 50px 0 0;
}

#index .wordpress_btn a {
    font-family: "NotoSansCJKjp-Medium";
    display: inline-block;
    padding: 10px;
    width: 300px;
    font-size: 20px;
    color: #fff;
    border-radius: 10px;
    background: #2481b3;
    text-decoration: none;
    -webkit-box-shadow: 0px 0px 0px 0px rgba(35, 129, 180, 1), 0px 0px 0px 0px rgba(35, 129, 180, 1);
    -moz-box-shadow: 0px 0px 0px 0px rgba(35, 129, 180, 1), 0px 0px 0px 0px rgba(35, 129, 180, 1);
    box-shadow: 0px 0px 0px 0px rgba(35, 129, 180, 1), 0px 0px 0px 0px rgba(35, 129, 180, 1);
}

#index .wordpress_btn a:hover {
    -webkit-box-shadow: 0px 0px 60px 0px rgba(35, 129, 180, 0), 0px 0px 70px 0px rgba(35, 129, 180, 0);
    -moz-box-shadow: 0px 0px 60px 0px rgba(35, 129, 180, 0), 0px 0px 70px 0px rgba(35, 129, 180, 0);
    box-shadow: 0px 0px 60px 0px rgba(35, 129, 180, 0), 0px 0px 70px 0px rgba(35, 129, 180, 0);
    -webkit-transition: box-shadow 0.7s ease;
    -moz-transition: box-shadow 0.7s ease;
    -ms-transition: box-shadow 0.7s ease;
    -o-transition: box-shadow 0.7s ease;
    transition: box-shadow 0.7s ease;
}

/**************Footer************/

.fixedContact {
    display: none;
}

#totop {
    position: fixed;
    bottom: 55px;
    right: 15px;
    z-index: 9;
    line-height: 0
}

#totop:hover img {
    opacity: 0.8;
}

.f_btn01 {
    position: fixed;
    right: 18px;
    bottom: 157px;
    z-index: 9;
    text-align: center;
    line-height: 0;
    display: none
}

.f_btn01 a {
    text-decoration: none;
    display: inline-block;
    color: #fff;
    border-radius: 4px;
    padding: 10px;
    background: #FF8D3F;
    letter-spacing: 2px;
    font-weight: bold;
    text-align: center
}

.copyright {
    font-family: 'NotoSansCJKjp-Regular';
    text-align: center;
    line-height: 64px;
    font-size: 12px;
    margin-bottom: 0;
    background: #5e5e5e;
    padding: 3px 0;
    color: #fff;
}

.top_footer {
    padding: 45px 0 130px;
    background: url("../images/top_footer_bg.png") center bottom/auto 130px no-repeat;
}

.top_footer .box_intro {
    font-family: 'NotoSansCJKjp-Medium';
}

.footer_content {
    width: 1120px;
    margin: 0 auto;
}

.bot_footer {
    padding: 23px 0 40px;
    background: #f3f3f3;
}

.ft_logo {
    width: 309px;
    float: left;
}

.ft_logo img {
    max-width: 180%;
}

.ft_nav {
    float: right;
    margin-top: 15px;
}

.ft_nav li {
    display: inline-block;
    margin-left: 25px;
}

.ft_nav li:first-child {
    margin-left: 0;
}

.ft_nav li a {
    font-family: "NotoSansCJKjp-Medium";
    font-size: 15px;
    text-decoration: none;
}

.ft_nav li a:before {
    content: "";
    display: inline-block;
    margin-top: 4px;
    width: 12px;
    height: 10px;
    background: url("../images/fmenu_arrow.png") center no-repeat;
}

.ft_nav li .mnCurrent {
    color: #2481b3;
}

.ft_nav li a:hover {
    color: #2481b3;
}

.ft_txt {
    font-family: 'NotoSansCJKjp-Regular';
    clear: both;
    font-size: 11px;
    text-align: right;
    padding-top: 4px;
}

/**************pager************/

.pagi ul {
    margin-bottom: 20px
}

.pager {
    text-align: center;
    overflow: hidden;
    margin: 20px auto;
}

.pager li,
.pagi li {
    display: inline-block;
    margin: 1px;
    font-size: 13px
}

.pager li a,
.pagi li a {
    text-decoration: none;
    padding: 3px 13px;
    background: #FB8200;
    color: #fff;
    border-radius: 1px;
    display: inline-block;
}

.pager.green li a {
    background: #00843A;
}

.pager.green li.active a {
    background: #3CB671
}

.pager li a:hover,
.pagi li a:hover {
    opacity: 0.8
}

.pager li.active a {
    background: #FF9F28;
}

.pager li.disabled {
    display: none
}

/************btn-blog************/

.btn_blog {
    text-align: center;
}

.btn_blog a {
    color: #fff;
    padding: 10px 50px;
    background: #FF9F28;
    display: inline-block;
    text-decoration: none;
    transition: all ease 0.5s;
    -webkit-transition: all ease 0.5s;
    -moz-transition: all ease 0.5s;
    border-radius: 5px;
    font-weight: bold
}

.btn_blog a:hover {
    background: #E6922B
}

/***********topic-path*************/

.topic-path {
    display: block;
    overflow: hidden;
    width: 100%;
    margin-bottom: 35px;
}

.topic-path li {
    display: inline-block;
    font-size: 12px;
    position: relative
}

.topic-path li a {
    font-size: 12px;
    text-decoration: none;
    color: #2481b3;
    padding: 0 25px 0 0;
    position: relative
}

.topic-path li:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 8px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    transform: translateY(-50%) rotate(45deg);
}

.topic-path li:last-child:after {
    display: none
}

.topic-path li a:hover {
    text-decoration: underline;
}

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

/******************************Under********************************/

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

.under #main {
    background: url("../images/top_footer_bg.png") center bottom/auto 130px no-repeat;
    padding-bottom: 100px;
}

.under #mainvisual {
    height: 250px;
    background: url(../images/under_bg.jpg) no-repeat bottom left;
    background-size: cover
}

.under #content {
    padding: 60px 0;
    width: 900px;
    margin: 0 auto;
    overflow: hidden
}

.inner {
    width: 960px;
    margin: 0 auto;
}

.image_r {
    float: right;
    margin: 6px 0 10px 21px;
    line-height: 0;
}

.image_l {
    float: left;
    margin: 6px 21px 10px 0;
    line-height: 0;
}

.under section,
.under .section {
    margin-bottom: 50px;
    overflow: hidden;
}

.under section p:last-child,
.under .section p:last-child {
    margin-bottom: 0;
}

.under_tbl {
    overflow: hidden;
    color: #363636;
}

.under_tbl th,
.under_tbl td {
    line-height: 1.8em;
    border: 1px solid #fff;
    padding: 16px;
}

.under_tbl th {
    color: #fff;
    background: #2481b3;
}

.under_tbl td {
    background: #f1f1f1
}

.under_list li {
    position: relative;
    overflow: hidden;
    padding: 0 0 0 16px;
    margin-bottom: 10px;
    text-align: left;
    letter-spacing: .05em;
}

.under_list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    height: 8px;
    width: 8px;
    border-radius: 8px;
    background: #2481b3
}

.under_list li:last-child {
    margin-bottom: 0
}

.under_frame {
    border-radius: 10px;
    background: url(../images/frame_bg.jpg) repeat top left;
    background-size: cover;
    padding: 40px;
}

.under h2 {
    font-size: 35px;
    line-height: 1.6em;
    text-align: center;
    display: block;
    font-family: "NotoSansCJKjp-Black";
    color: #fff;
    position: relative;
    top: 45%;
    transform: translateY(-45%);
    letter-spacing: 1px
}

.under h3 {
    text-align: center;
    font-size: 27px;
    color: #e22727;
    letter-spacing: 2px;
    padding: 60px 0 0;
    background: url("../images/h3_bg.png") no-repeat center top;
    background-size: 40px;
    margin-bottom: 40px;
    font-family: "NotoSansCJKjp-Bold";
    line-height: 1.5em;
}

.under h4 {
    font-size: 23px;
    color: #2481b3;
    letter-spacing: 2px;
    margin-bottom: 30px;
    font-family: "NotoSansCJKjp-Medium";
    border-bottom: 2px solid #2481b3;
    padding-bottom: 10px;
    line-height: 1.5em;
}

.under h5 {
    font-size: 22px;
    color: #2481b3;
    letter-spacing: 2px;
    line-height: 1.5em;
    margin-bottom: 25px;
    font-family: "NotoSansCJKjp-Medium";
}

.under section p,
.under .section p {
    line-height: 1.9em;
    color: #363636;
}

.under_btn {
    width: 100px;
    padding: 30px;
    text-align: center;
    border: 2px solid #2481b3;
    border-radius: 5px;
}

.under_bnr {
    overflow: hidden;
    font-family: "NotoSansCJKjp-Bold";
    text-align: center;
    letter-spacing: 1px;
}

.under .bnr_p5 {
    background: url('../images/p5_bnr.jpg') center no-repeat;
    background-size: cover;
}

.under .bnr_p7 {
    background: url('../images/p7_bnr.png') center no-repeat;
    background-size: cover;
}

.under_bnr p {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}

.under_bnr p:last-child {
    margin-bottom: 0
}

.under_bnr a {
    text-decoration: none;
    display: block;
    color: #fff;
    padding: 40px;
    font-size: 22px;
    z-index: 0;
    position: relative;
    width: 100%;
    line-height: 1.6em;
}

.under_bnr p a:before {
    position: absolute;
    content: '';
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.under_bnr p a:after {
    position: absolute;
    content: '';
    width: calc(100% - 15px);
    height: calc(100% - 15px);
    top: 50%;
    left: 0;
    border: 1px double rgba(255, 255, 255, 0.5);
    transition: .9s ease;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%);
    z-index: -1;
}

.under_bnr p a:hover:after {
    background: rgba(0, 0, 0, 0.5);
}

.red {
    color: red;
}

.under .ul_number li {
    margin-left: 25px;
    list-style-type: decimal;
    letter-spacing: .05em;
}

.under .ul_square li {
    list-style-type: disc;
}

.step {
    margin-bottom: 80px;
    position: relative
}

.step:last-child:after {
    display: none
}

.step:last-child {
    margin-bottom: 0
}

.step:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 0;
    margin: 0 auto;
    bottom: -58px;
    border-top: 30px solid #2481b3;
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
}

.step dt {
    font-size: 20px;
    font-weight: bold;
    color: #2481b3;
    border-bottom: 3px double #2481b3;
    background: url(../images/step_ico.png) no-repeat left 0 top 0;
    background-size: 33px;
    padding: 0 0 5px 35px;
    line-height: 1.5em
}

.step dd {
    overflow: hidden;
    padding: 35px 30px 30px;
    background: #fef5f4 url(../images/step_bg.png) repeat-x top;
    background-size: 52%;
}

.step dd [class *='image_'] {
    margin-bottom: 0
}

.step_partner {
    position: relative;
    padding-bottom: 60px;
}

.step_partner:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 0;
    margin: 0 auto;
    border-top: 30px solid #2481b3;
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
}

.h_inf {
    width: 747px;
    float: left;
    display: flex;
    flex-flow: wrap;
    justify-content: left;
    margin-left: 2px;
}

.h_inf li {
    display: inline-flex;
    padding: 6px 32px;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    line-height: 1.4em;
    justify-content: center;
    align-items: center
}

.h_inf li:nth-child(2) {
    margin: 0 12px
}

.h_inf .green {
    background: #00843A
}

.h_inf .blue {
    background: #2481B3
}

.h_inf .red {
    background: #FF5467
}

#index h3 {
    color: #fff;
    position: relative;
    width: 90%;

}

#index h3:before,
#index h3:after {
    content: "";
    position: absolute;
    height: 80%;
    width: 70px;
    z-index: -1;
    bottom: -18px;
    background-size: 100% 100%;
}

#index h3.box_ttl03:before,
#index h3.box_ttl03:after {
    bottom: -28px;
    height: 80px;

}

#index h3.h3_three:before,
#index h3.h3_three:after {
    bottom: -29px;
}

#index h3:before {
    left: -46px;
}

#index h3:after {
    right: -45px;
}


.box_ttl01:before {
    background: url(../images/idx_h3.png) no-repeat right bottom;

}

.box_ttl01:after {
    background: url(../images/idx_h301.png) no-repeat left bottom;

}

.box_ttl02:before {
    background: url(../images/idx_h302.png) no-repeat right bottom;

}

.box_ttl02:after {
    background: url(../images/idx_h302_r.png) no-repeat left bottom;

}

.box_ttl03:before {
    background: url(../images/idx_h303.png) no-repeat right bottom;

}

.box_ttl03:after {
    background: url(../images/idx_h303_r.png) no-repeat left bottom;

}

.box_ttl05:before {
    background: url(../images/idx_h305.png) no-repeat right bottom;

}

.box_ttl05:after {
    background: url(../images/idx_h305_r.png) no-repeat left bottom;

}

.box_ttl06:before {
    background: url(../images/idx_h306.png) no-repeat right bottom;

}

.box_ttl06:after {
    background: url(../images/idx_h306_r.png) no-repeat left bottom;

}

.box_ttl07:before {
    background: url(../images/idx_h307.png) no-repeat right bottom;

}

.box_ttl07:after {
    background: url(../images/idx_h307_r.png) no-repeat left bottom;

}

.box_ttl08:before {
    background: url(../images/idx_h308.png) no-repeat right bottom;

}

.box_ttl08:after {
    background: url(../images/idx_h308_r.png) no-repeat left bottom;

}

.box_ttl03 {
    background: #2481b3;
    border: 1px solid #3996CF;

}

.box_ttl05 {
    background: #82b61f;
    border: 1px solid #90c629;

}

.top_footer h3 {
    letter-spacing: -1px
}

.box_ttl06 {
    background: #dfb800;
    border: 1px solid #eacb39;

}

.box_ttl07 {
    background: #2481b3;
    border: 1px solid #44a6db;

}

.box_ttl08 {
    background: #744f90;
    border: 1px solid #8b60ab;

}

.list_case {
    overflow: hidden;
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

.list_case li {
    width: 31%;
    float: left;
    display: inline-block;
    text-align: center;
    overflow: hidden;
    margin: 0 31px 0px 0;
}

.list_case li a {
    color: #333;
    text-decoration: none
}

.list_case li a:hover {
    color: #135eae
}

.list_case li:nth-child(3n) {
    margin-right: 0
}

.list_case .img {
    display: block;
    height: 92px;

    position: relative;
    background: #f1f1f1;
    overflow: hidden;
    line-height: 0;
    width: 100%;
    margin-bottom: 0;
}

.list_case .img img {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    max-width: 100%;
    max-height: 100%;
    transition: all 0.3s ease
}

.list_case .img:hover img {
    transform: translateY(-50%) scale(1.2);
}

.list_case .tit {
    line-height: 1.6em;
    text-align: left;
}

.list_case .img:hover a,
.list_case .tit a:hover,
.list_case li:hover a {
    text-decoration: underline;
    color: #2481B3
}

.list_case .tit a {
    text-decoration: none;
    color: #2481B3
}

.list_case .date {
    text-align: left;
    margin-bottom: 10px;
    font-weight: bold;
    color: #fff;
    display: inline-block;
    background: #2481B3;
    padding: 2px 10px;
    border-radius: 4px;
    float: left;
    font-size: 13px;
}




.p_date {
    text-align: right;
    font-weight: bold;
    color: #2481B3
}

.p_date span {
    display: inline-block;
    color: #fff;
    text-align: center;
    padding: 4px 20px;
    background: #2481B3;
    border-radius: 4px
}

.img_full {
    text-align: center;
    line-height: 0 !important;
    margin-bottom: 35px;
}

.img_full img {
    max-height: 400px;
}

.grp_txt {
    margin-bottom: 35px
}

.list_voice .item {
    overflow: hidden;
    margin-bottom: 35px;
    padding: 20px 20px 10px;
    border: 1px #99CEB0 solid;
    border-radius: 4px
}

.list_voice .item_l {
    width: 38%;
    float: left;
    text-align: center;
}

.list_voice .txt {
    float: left;
    width: 62%
}

.list_voice .item:last-child {
    margin-bottom: 0
}

.list_voice .image_l img {
    max-width: 300px;
    max-height: 400px
}

.list_voice .image_l {
    float: none
}

.list_voice .image_l img {
    margin: 0 auto
}

.list_voice .date {
    display: block;
    width: 300px;

    font-size: 14px;
    text-align: left;

    margin-bottom: 15px;
    font-weight: bold
}

.list_voice .tit {
    text-decoration: none;
    font-size: 16px;
    color: #00843A;
    line-height: 1.5em;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 10px;
}

.list_voice .txt {
    margin-bottom: 10px;
}

.voice .image_l img {
    max-width: 300px;
    max-height: 400px
}


.grp_left {
    float: left;
    overflow: hidden;
    width: 750px;
}

.navi {
    width: 220px;
    float: right
}

.list_infor .item {
    margin-bottom: 40px;
    overflow: hidden
}

.list_infor .image_l img {
    max-width: 300px;
    max-height: 400px
}

.list_infor .txt {
    font-size: 14px
}

.list_infor .tit {
    margin-bottom: 6px;
    overflow: hidden;
}

.list_infor .tit a {
    text-decoration: none;
    font-weight: bold;
    color: #363636;
    font-size: 15px;
    line-height: 1.5em;
    display: inline-block;
    color: #4AB8F5;
    margin-bottom: 12px
}

.list_infor .tit a:hover {
    text-decoration: underline;
}

.list_infor .date {
    display: block;
    font-size: 14px;
    margin-bottom: 12px;
    font-size: 13px
}

.n_bnr li {
    display: flex;
    background: #f1f1f1;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    height: 200px;
    align-items: center;
    justify-content: center;
}

.n_bnr li:last-child {
    margin-top: 20px;
}

.under.information #content {
    width: 1000px
}

.n_list {
    margin-top: 30px
}

.n_list dt {
    background: #2481B3;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: bold;
    margin-bottom: 24px
}

.n_list li {
    overflow: hidden;
    margin-bottom: 0px;
}

.n_list .image_l {
    margin: 4px 14px 10px 0
}

.n_list .image_l img {
    max-width: 75px;
    max-height: 100px;
}

.n_list .tit {
    margin-bottom: 1px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.n_list .tit a {
    font-size: 12px;
    text-decoration: none;
    line-height: 1.4em;
}

.n_list .tit a:hover {
    text-decoration: underline
}

.n_list .date {
    font-size: 10px
}

.list_voice .date span {
    color: #fff;
    padding: 4px 10px 3px;
    border-radius: 4px;
    background: #00843A
}

.o_case .txt {
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    color: #2481B3;
    font-weight: bold;
    text-overflow: ellipsis;
    width: 100%;
    font-size: 18px;
}

#index .list_case .date {
    margin-bottom: 7px
}

.grp {
    margin-bottom: 50px
}

.o_voice .tit {
    font-weight: bold;
    margin-top: 12px;
    line-height: 1.5em;
    text-align: center;
    font-size: 18px;
}

.o_voice .desc {
    text-align: left;
    font-size: 17px
}

.list_case.box_content .img {
    height: 230px
}

.list_case.box_content {
    margin-top: 40px
}

dl.mailform {
    position: relative
}

.ico_arrow:before {
    position: absolute;
    content: "";
    top: -7px;
    left: -58px;
    background: url(../images/error.png) no-repeat top;
    width: 55px;
    height: 49px;
    animation: error 1s linear infinite alternate;
    z-index: 2;
}

#fmail .ico_arrow select,
#fmail .ico_arrow input.fmail {
    border: 2px solid #FF3135 !important
}

@-webkit-keyframes error {
    0% {
        left: -35px;
    }
    50% {
        left: -45px
    }
    100% {
        left: -58px;
    }
}

@keyframes error {
    0% {
        left: -35px;
    }
    50% {
        left: -45px
    }
    100% {
        left: -58px;
    }
}

.partner_img02 img {
    margin: 0 auto;
    max-width: 450px
}

.indx_bnr {
    text-align: center;
    margin-bottom: 0px;
    line-height: 0;
    position: relative;
    padding-bottom: 60px;
    background: url(../images/main_top02.png) repeat-x center bottom;
    background-size: 101%;
    cursor: pointer
}

.indx_bnr:before {
    content: "";
    position: absolute;
    left: -20px;
    top: -49px;
    width: 199px;
    height: 199px;
    background: url(../images/idx_bnr1.png) no-repeat left top;
    background-size: contain;
}

.indx_bnr dt img {
    max-width: 656px
}

.indx_bnr a:hover img {
    opacity: 1
}

.indx_bnr dt {
    background: url(../images/indx_bnr_bg01.jpg) repeat-x;
    padding: 9px 10px 5px 20px;
    line-height: 0;
    vertical-align: middle;
    text-align: right;
}

.indx_bnr dd {
    padding: 22px 20px 0 20px;
    text-align: right;
}

.indx_bnr dd img {
    max-width: 666px;

}

.indx_bnr:hover dt {
    background: url(../images/indx_bnr_bg01_on.jpg) repeat-x;
}

input:invalid {
    box-shadow: none;
}

.box-top {
    padding: 90px 0 15px;
    text-align: center;
}

.box-top.left {
    text-align: left;
}

.box-top ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: center;

}

.box-top ul li {
    width: calc(100%/3 - 20px);
    margin-bottom: 30px;
    text-align: center;
}

.box-top li:nth-last-child(-n + 3) {
    margin-bottom: 0
}

.box-top ul li:nth-child(2),
.box-top ul li:nth-child(5) {
    margin: 0 20px;
}

.box-top li .img {
    margin-bottom: 7px;
    line-height: 0;
}

.box-top li .ttl {
    font-family: "NotoSansCJKjp-Black";
    font-size: 16px;
    color: #2580b4;
    margin-bottom: 0
}

.row-2 {
    letter-spacing: -2px;
    width: 310px;
    margin-left: -20px;
}

.grp_case.none {
    display: none;
}

.under_tbl .col-span2 {
    position: relative;
    width: 175px;
    z-index: -1;
}

.under_tbl .col-span2 span:first-child {
    position: absolute;
    top: 5px;
    right: 20px;
    z-index: 1;
}

.under_tbl .col-span2 span:last-child {
    position: absolute;
    bottom: 5px;
    left: 20px;
    z-index: 1;
}

.under_tbl .col-span2:after {
    position: absolute;
    content: '';
    bottom: 0;
    width: 0;
    height: 0;
    border-bottom: 57px solid #9acfee;
    border-right: 175px solid transparent;
    left: -1px;
}

.under_tbl .colr02 {
    background: #b7b7b7;
}

p.note {
    display: none;
}

.o_voice .wrap {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 9px
}

.o_voice .tit01 {
    margin-bottom: 4px
}

.list_case.o_voice .img {
    width: 140px;
    height: 96px;
    margin-right: 10px;
    text-align: center
}

.o_voice .wrap02 {
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    -webkit-align-items: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% - 160px);
}

.o_voice .tit02 {
    margin-bottom: 0
}

.o_voice .tit01,
.o_voice .tit02 {
    width: 100%;
    padding: 10px;

    background: #ddeac5;
    font-weight: bold;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

br.spp {
    display: none
}

.list_detail li {
    width: 31%;
    float: left;
    margin: 0 3.5% 0 0;
    overflow: hidden;
}

.list_detail li:nth-child(3) {
    margin: 0 0 0 0;
    float: right
}

.list_detail a {
    text-decoration: none
}

.list_detail .tit {
    margin-bottom: 14px;
    line-height: 1.5em;
    text-align: center
}

.list_detail .tit a {
    font-weight: bold;
    color: #2481b3
}

.list_detail .tit a:hover {
    text-decoration: underline
}

.list_detail .img {
    height: 160px;
    text-align: center;
    position: relative;
    line-height: 0;
    margin-bottom: 14px;
    overflow: hidden
}

.list_detail .img img {
    max-width: 100%;
    max-height: 100%
}

.grp_listbox {
    margin: 0 auto;
    width: 890px;
    background: #4AB8F5;
    border-radius: 10px;
    padding: 30px 10px 10px
}

.idx_list_infor {
    background: #fff;
    padding: 25px;
    margin: 0 auto;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px
}

.idx_list_infor > ul > li {
    width: 47.5%;
    display: inline-block;
    vertical-align: top;
    margin-right: 5%
}

.idx_list_infor > ul > li:nth-child(2n) {
    margin-right: 0
}

.idx_list_infor > ul {
    display: flex;
    flex-flow: wrap;
    justify-content: flex-start;
    margin-bottom: 22px
}

.idx_list_infor .img {
    height: 135px;
    background: #f1f1f1;
    text-align: center;
    overflow: hidden;
    margin-bottom: 16px;
    border-radius: 5px;
    line-height: 0
}

.idx_list_infor img {
    max-width: 100%;
    position: relative;
    top: 50%;
    transform: translateY(-50%) scale(1.1);
    max-height: 100%;
    transition: all 0.3s linear;
}

.idx_list_infor a:hover img {
    top: 50%;
    transform: translateY(-50%) scale(1.2);
    opacity: 1
}

.idx_list_infor .date span {
    display: inline-block;
    padding: 1px 12px;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    background: #4AB8F5
}

.idx_list_infor .tit a {
    text-decoration: none;
    color: #4AB8F5;
    font-weight: bold
}

.idx_list_infor .tit a:hover {
    text-decoration: underline
}

.grp_box01 {
    border: 3px solid #ddd;
    width: 1300px;
    margin: 0 auto 30px
}

.bld {
    color: #FDFD98
}

.hide {
    display: none!important;
}

#en1240790903,

#en1521121423 {
    visibility: visible !important
}

.list_inf {
    display: table;
    width: 100%
}

.list_inf li {
    display: table-cell;
    vertical-align: top;
    font-size: 17px
}
.list_inf .imgs{width: 45%}
.list_inf .txt{padding-left: 5%}
.list_inf .date{margin-bottom: 5px}


/*-追加分-*/

.omimai1 {
   border: #ff5467 5px solid; 
   width:65%; 
   color: #363636; 
   padding: 20px; 
   font-weight: bold; 
   margin: 0 auto 20px auto; 
   font-size: 12px; 
   line-height: 1.3;
}
