@charset "UTF-8";
.frameTitle,
h2 {
    font-size: 18px
}
.artArea h2,
h2 {
    font-weight: 700
}
.artArea h2:after,
.mainArea::after,
.subMainArea::after {
    content: ""
}
.artArea h2,
.subMainTitle,
p strong {
    letter-spacing: 0.1em
}
.normalH2{margin-bottom: 1.5em;}
.frame,
.frameIn,
.row {
    overflow: hidden
}
.inner {
    width: 900px;
    margin: 0 auto
}
.cont {
    padding: 40px 0
}
.cont .cont {
    padding: 0
}
.cont .cont+.cont {
    margin-top: 40px
}
.contBackImg {
    background: url('../img/backImg.png'), #ffe6f1
}
.mainArea {
    position: relative;
    background: url('../img/backImg.png'), #fedae9
}
.mainArea::after {
    position: absolute;
    width: 100%;
    height: 16px;
    bottom: 0;
    left: 0;
    background: rgba(230, 29, 100, 0.5)
}
.webp .mainArea .inner {
    position: relative;
    background: url('../img/mainImg.webp') right center no-repeat;
    background-size: 670px auto;
    height: 340px
}
.no-webp .mainArea .inner {
    position: relative;
    background: url('../img/mainImg.png') right center no-repeat;
    background-size: 670px auto;
    height: 340px
}
.mainArea .inner .mainTitle {
    position: absolute;
    left: -20px;
    bottom: -90px;
    width: 950px;
    z-index: 2
}
.mainArea .inner .en {
    position: absolute;
    left: -60px;
    top: 0;
    width: 300px;
    height: 300px;
    z-index: 1
}
.frameTop {
    position: relative;
    padding: 40px;
    border: 2px solid #e61d64;
    border-radius: 10px;
    background: #fff;
    background: url('../img/deco01.png'), url('../img/deco02.png') #fff;
    background-position: left top, bottom left;
    background-repeat: no-repeat;
    background-size: 46px 62px
}
.frameTitle,
.frameTop p {
    text-align: left;
    padding-right: 200px
}
.table,
.table tr {
    border-top: 1px solid #ccc
}
.frameTitle {
    margin-bottom: 16px;
    padding-bottom: 16px;
    color: #e61d64;
    border-bottom: solid 1px #CCC
}
.subMainTitle,
aside h2 {
    margin-bottom: 24px;
    border-radius: 40px
}
.frameTop img {
    position: absolute;
    top: 22px;
    right: -20px;
    width: 229px;
    height: 458px
}
aside h2 {
    background: #FE4395;
    padding: 10px 0;
    font-size: 16px;
    color: #FFF
}
.subMainArea {
    background: url('../img/backImg.png'), #fedae9;
    position: relative
}
.subMainArea::after {
    position: absolute;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
    background: rgba(230, 29, 100, 0.5)
}
.artArea {
    padding: 40px 0;
    background: #ffeff6
}
.artArea h2 {
    padding-top: 110px;
    font-size: 24px;
    color: #FE4395;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative
}
.artArea h2:after {
    position: absolute;
    left: 50%;
    bottom: 60px;
    margin-left: -40px;
    width: 80px;
    height: 2px;
    background: #FE4395
}
.artArea h2+p {
    margin-top: 20px;
    font-weight: 500x
}
.artIcon01 {
    background: url('../img/areaIcon_01.png');
    background-size: auto 70px
}
.artIcon02 {
    background: url('../img/areaIcon_02.png');
    background-size: auto 70px
}
.artIcon03 {
    background: url('../img/areaIcon_03.png');
    background-size: auto 70px
}
.artIcon04 {
    background: url('../img/areaIcon_04.png');
    background-size: auto 70px
}
.artIcon05 {
    background: url('../img/areaIcon_05.png');
    background-size: auto 70px
}
.artIcon06 {
    background: url('../img/areaIcon_06.png');
    background-size: auto 70px
}
.artArea+.btnBase {
    margin-top: 40px
}
.row.num3 .box:nth-child(n + 4),
.table+label {
    margin-top: 24px
}
.subMainTitle {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 10px 0;
    color: #fff;
    background: -webkit-gradient(linear,left top,left bottom,color-stop(1,#e61d64),color-stop(0,#ea6198));
    background: -webkit-linear-gradient(#ea6198,#e61d64);
    background: -moz-linear-gradient(#ea6198,#e61d64);
    background: -o-linear-gradient(#ea6198,#e61d64);
    background: -ms-linear-gradient(#ea6198,#e61d64);
    background: linear-gradient(#ea6198,#e61d64)
}
.frame,
.frameLine {
    border-radius: 8px
}
.subMainTitle+p {
    text-align: left
}
.box,
.row {
    text-align: center
}
p strong {
    font-size: 18px;
    color: #FE4395
}
.table {
    width: 100%;
    border-bottom: 1px solid #ccc;
    background: #fff
}
.table th {
    width: 30%;
    padding: 8px 24px;
    font-weight: 500;
    background: #ffe5ee;
    vertical-align: middle
}
.table td {
    width: 70%;
    padding: 8px 24px
}
.table+label {
    display: block
}
.box p,
.customTitle,
.frame p {
    text-align: left
}
.row.num3 .box {
    width: 30%;
    margin-right: 5%;
    float: left
}
.row.num3 .box:nth-child(3n) {
    margin-right: 0
}
.row.num2 .box {
    width: 45%;
    float: left;
    margin-bottom: 40px
}
.row.num2 .box:nth-child(2n) {
    margin-left: 10%
}
.row.num2 .box:nth-child(n + 3) {
    margin-top: 32px
}
.table+p,
p+.table,
p+p {
    margin-top: 24px
}
.frame {
    padding: 8px;
    background: #ccc;
    background: url('../img/line.png'), #fbdfe9
}
.frameLine {
    padding: 32px;
    background: #fff
}
.frameIn {
    padding: 32px;
    border: 1px solid #CCC;
    border-radius: 8px
}
.frameIn+.frameIn {
    margin-top: 40px
}
.frame+.btnBase {
    margin-top: 16px
}
.customTitle {
    font-size: 18px;
    color: #fff;
    font-weight: 700;
    padding: 6px 16px;
    margin-bottom: 16px;
    border-radius: 4px
}
.customTitleS {
    font-size: 14px;
    color: #fff;
    font-weight: 700;
    padding: 6px 16px;
    margin-bottom: 16px;
    border-radius: 4px
}
.tc_pink {
    background: #e61d64
}
.tc_blue {
    background: #0085ca
}
.tc_orange {
    background: #f80
}
.tc_gray {
    background: #999
}
p+.frame {
    margin-top: 24px
}
.cont+.btnBase {
    margin: 32px 0
}
.cont_r h4{
    padding: 20px 0;
    font-size:1.1em;
    font-weight: bold;
    text-align: left;
}
.cont_r p + h4{
    padding: 40px 0 20px;
}