/*
Theme Name: Sousou
Author: 
Version: 1.0
*/
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic Medium'),     /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
	local('YuGothic-Regular');     /* 游ゴシックMediumが存在しないWindows8.1用 */
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic');          /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
body {
	font-family:
    MyYuGothicM, /* Windows調整用 */
	YuGothic,    /* Mac用 */
	sans-serif;
    color: #171717;
}
a {
    color: #50157e;
}
a:hover {
    text-decoration: none;
}
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
header .headertop {
    background: #f0e7f7;
    padding: 0.1rem;
}
header .headertop h1 {
    font-size: 12px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    margin-bottom: 0;
}
header .logo {
    padding: 1.5rem 0;
}
header .logo img {
    width: 252px;
}
.headermenu {
    margin: 0.5rem 0 0;
    padding-left: 0;
    list-style: none;
    text-align: right;
}
.headermenu li {
    display: inline-block;
}
.headermenu li:not(:last-child) {
    margin-right: 0.5rem;
}
.headermenu li a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-weight: 900;
    padding-left: 0.5rem;
}
.headerinquiry {
    background: #69abe8;
    font-size: 14px;
    color: #fff;
    padding: 0.1rem 1rem;
}
.headerinquiry:hover {
    background: rgba(105,171,232,0.7);
    color: #fff;
    text-decoration: none;
}
.headerlogin {
    background: #50157e;
    font-size: 14px;
    color: #fff;
    padding: 0.1rem 1rem;
}
.headerlogin:hover {
    background: rgba(80,21,126,0.7);
    color: #fff;
    text-decoration: none;
}
.table-header {
    float: right;
    text-align: center;
    margin: 0;
}
.table-header td {
    padding: 0 0.2rem;
}
.table-header .woman {
    vertical-align: bottom;
}
.table-header .woman img {
    width:67px; 
}
.table-header td h2 {
    color: #50157e;
    font-size: 38px;
	font-family: 'Noto Sans JP' ;
    font-weight: 700;
    position: relative;
    padding-left: 30px;
    letter-spacing: 1px;
}
.table-header td h2 small {
    font-size: 13px;
    font-weight: 400;
    display: block;
}
.table-header td h2::before {
    position: absolute;
    content: '';
    left: 0;
    bottom: 10px;
    background: url("../../../images/tel-icon.png") no-repeat;
    width: 26px;
    height: 26px;
    background-size: contain;
}
.headerinfo {
    border: 1px solid #3e98ec;
    border-radius: 5px;
    color: #3e98ec;
    font-size: 14px;
    padding: 0.4rem 0.4rem;
    line-height: 1.2;
    letter-spacing: 1px;
}
.headerinfo small {
    font-size: 10px;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .table-header {
        margin-top: 1rem;
    }
    .table-header .woman img {
        display: none;
    }
    .table-header td h2 {
        font-size: 28px;
        padding-left: 18px;
    }
    .table-header td h2 small {
        font-size: 10px;
    }
    .table-header td h2::before {
        bottom: 8px;
        width: 20px;
        height: 20px;
    }
    .headerinfo {
        font-size: 11px;
        padding: 0.4rem 0.4rem;
        line-height: 1.2;
        letter-spacing: 1px;
    }
}
@media (max-width: 767.98px) {
    .table-header {
        float: none;
        margin: 0 auto;
    }
    .table-header td h2 {
        font-size: 38px;
    }
    .table-header td h2 small {
        font-size: 12px;
    }
}
nav {
    background: #50157e;
    padding: 0.5rem 0;
    margin-top: -2px;
}
.g_nav {
    list-style: none;
    position: relative;
    text-align: center;
    padding-left: 0;
    margin-bottom: 0;
}
@media (max-width: 767.98px) {
    .g_nav {
        display: none;
    }
}
.g_nav > ul {
    margin:0 auto;
}
.g_nav > ul > li {
    color:#fff;
    display: inline-block;
    font-size: 16px;
    cursor: pointer;
}
.g_nav > ul > li a {
    color:#fff;
    font-size: 16px;
}
.g_nav > ul > li a:hover {
    color: #69abe8;
    text-decoration: none;
}
.g_nav > ul > li:not(:last-child) {
    margin-right: 1rem;
}
.g_nav > ul > li .hurry {
    background: #da3232;
    color: #f5eb3d;
    height: 28px;
    display: inline-block;
    border-radius: 14px;
    padding: 0 1rem;
    line-height: 1.7;
}
.g_nav > ul > li .hurry:hover {
    background: rgba(218,50,50,0.7);
    color: #fff;
}
.mdd_wrap {
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    z-index: 9999;
}
.mdd_wrap .mdd_inner {
    display:none;
    margin:0 auto;
    box-shadow:0px 0px 1px 2px rgba(0, 0, 0, 0.1) inset;
    border:1px solid rgba(0,0,0,0.2);
    text-align: left;
    padding: 1rem 0;
    background: #735789;
}
.mdd_wrap .mdd_inner h3 {
    font-size: 16px;
    font-weight: 900;
}
.mdd_wrap .mdd_inner h3::before {
    font-family: "Font Awesome 5 Free";
    content: "\f009";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-weight: 900;
    padding-right: 0.5rem;
}
.mdd_wrap .mdd_inner ul {
    padding-left: 0;
    list-style: none;
}

.mdd_wrap .mdd_inner li {
    display: inline-block;
}
.mdd_wrap .mdd_inner .mddul li {
    width: 15rem;
}
.mdd_wrap .mdd_inner ul li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-weight: 900;
    padding-right: 0.5rem;
    color: #69abe8;
}
.mdd_wrap .mdd_inner ul li.nav-item::before {
    content: none;
}
.mdd_wrap .mdd_inner .nav {
  display: block;
    text-align: center;
}
.nav-pills .nav-link {
    text-align: center;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: #69abe8;
    text-align: center;
}
.bg-primary {
    background: #69abe8 !important;
}
.mdd_wrap .mdd_inner .arealist li a {
    color: #69abe8;
}
.mdd_wrap .mdd_inner .arealist li a:hover {
    color: #50157e;
}
.mdd_wrap .mdd_inner .arealist li:not(:last-child) {
    margin-right: 2rem;
}
.headerblock {
    position: relative;
}
.image-box {
	width: 100%;
	height: 830px;
    overflow: hidden;
	position: relative;
    background: #000;
}
.s_image-box {
    background: url("../../../images/secondimage01.jpg") no-repeat center;
    background-size: cover;
    height: 292px;
}
.image-box p {
	height: 100%;
	width: 100%;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
}
.image-box p img {
	height: 100%;
	width: auto;
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}
.headercontents {
    position: absolute;
    top: 18rem;
    right: 0;
    left: 0;
    z-index: 1030;
}
.headercontents_2nd {
    position: absolute;
    top: 3.5rem;
    right: 0;
    left: 0;
    z-index: 1030;
}
.headertext {
    background: rgba(255,255,255,0.86);
    padding: 3rem 0;
    display: block;
}
.headertext_2nd {
    background: rgba(255,255,255,0.86);
    padding: 2.5rem 0;
    display: block;
}
.headertext h2 {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 25px;
}
.headertext h3 {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 15px;
}
.headertext_2nd h4 {
    font-size: 30px;
    color: #50157e;
    margin-bottom: 0;
}
.headerblock .ellipse {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    text-align: center;
}
@media (min-width: 1480px) and (max-width: 1849.98px) {
    .image-box {
	    height: 730px;
    }
    .headercontents {
        top: 15rem;
    }
}
@media (min-width: 1200px) and (max-width: 1479.98px) {
    .image-box {
	    height: 630px;
    }
    .headercontents {
        top: 13rem;
    }
    .headertext {
        padding: 2.5rem 0;
    }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
    .image-box {
	    height: 530px;
    }
    .headercontents {
        top: 11rem;
    }
    .headertext {
        padding: 2rem 0;
    }
}
@media (max-width: 575.98px) {
    .image-box {
	    height: 430px;
    }
    .headercontents {
        top: 10rem;
    }
    .headertext {
        padding: 1.5rem 0;
    }
    .headertext h2 {
        font-size: 16px;
    }
    .headertext h3 {
        font-size: 12px;
    }
}
.searchblock {
    text-align: center;
    padding: 3rem 0;
}
.searchblock h4 {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 25px;
    margin-bottom: 3rem;
}
.searchblock label {
    font-size: 20px;
}
.searchblock .form-control {
    border: 3px solid #50157e;
    height: 50px;
    width: 300px;
}
.searchblock input::placeholder {
    color: #9b9a9a;
}
.searchblock .btn-primary {
    background: #50157e;
    border: 1px solid #50157e;
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 1.7;
}
.searchblock .btn-primary:hover {
    background: rgba(80,21,126,0.8);
    border: 1px solid #50157e;
}
.searchblock .list-inline-item:not(:last-child) {
    margin-right: 0.5rem;
}
@media (max-width: 575.98px) {
    .searchblock .form-control {
        width: 200px;
    }
}
.h01 {
    background: #f0e7f7;
    padding: 1rem;
    text-align: center;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 25px;
}
.areablock {
    background: #fbfbe6;
    padding: 4rem 0;
}
.intentionblock {
    margin: 2rem auto;
}
@media (min-width: 992px) {
    .intentionblock {
        width: 670px;
    }
}
.voiceblock {
    background: url("../../../images/voicebg.png") center;
    background-size: cover;
    padding-bottom: 1.5rem;
    position: relative;
    border-left: 1rem solid #50157e;
    border-right: 1rem solid #50157e;
}
.voiceblock h2 {
    font-size: 25px;
    color: #50157e;
    border-bottom: 4px dotted #50157e;
    padding-bottom: 0.7rem;
    display: inline-block;
    margin-top: -0.7rem;
    line-height: 1.5;
}
.voiceblock h2 small {
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #171717;
    display: block;
}
.voiceblock h2 small::before {
    content: url("../../../images/bslash.png");
    padding-right: 0.4rem;
}
.voiceblock h2 small::after {
    content: url("../../../images/slash.png");
    padding-left: 0.4rem;
}
.img_slider {
    padding-left: 0;
    margin-top: 2rem;
}
.img_slider li a {
    color: #171717;
    width: 230px;
    display: block;
    margin: auto;
    text-align: center;
}
.img_slider li a:hover {
    color: #573473;
    text-decoration: none;
}
.sliderphoto {
    background: #fff !important;
    padding: 1rem;
}
.sliderphoto img {
	display: inline-block !important;
	max-height: 130px;
    margin-bottom: 0.5rem;
}
.sliderphoto h5 {
    border-bottom: 1px solid #50157e;
    text-align: left;
    padding-bottom: 0.5rem;
    font-size: 15px;
}
.sliderphoto p {
    text-align: left;
    font-size: 15px;
    margin-bottom: 0;
}
.voiceblock .btn-more {
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
    text-align: center;
}
.btn-more {
    text-align: center;
    width: 200px;
    height: 36px;
    border-radius: 18px;
    font-size: 16px;
    color: #fff;
    display: inline-block;
    background: #50157e;
    border: 3px solid #b79fc3;
    margin: auto;
    line-height: 1.8;
}
.btn-more:hover {
    background: rgba(80,21,126,0.8);
    text-decoration: none;
    color: #fff;
}
.slick-prev {
    left: -15px !important;
}
[dir="rtl"] .slick-prev {
    left: auto;
    right: 0 !important;
}
.slick-next {
    right: 0 !important;
}
[dir="rtl"] .slick-next {
    left: 0 !important;
    right: auto;
}
.slick-next {
  height: 50px !important;
}
.slick-prev {
  height: 50px !important;
}
.slick-prev::before,
.slick-next::before {
	content: none !important;
}
.dominantblock {
    background: url("../../../images/dominant_bg.jpg") no-repeat;
    background-size: cover;
    padding: 4rem 0 3rem;
    margin-top: 8rem;
}
.dominantblock h3 {
    font-size: 25px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    margin-bottom: 2rem;
}
.dominantblock p {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.dominantbadge {
    margin-top: 8rem;
}
@media (max-width: 767.98px) {
    .dominantbadge {
        margin-top: 2rem;
    }
}
.countblock {
    border-bottom: 15px solid #50157e;
}
.h02 {
    font-size: 25px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    margin: 1rem auto;
    text-align: center;
}
.howtoblock {
    background: #eff5fa;
    padding: 4rem 0;
    position: relative;
}
.howtoblock h5 {
    display: block;
    padding: 0.1rem 1rem 0.2rem;
    text-align: center;
    color: #fff;
    font-size: 15px;
}
.howtoblock p {
    font-size: 14px;
}
.howtoblock p span {
    display: block;
    margin-bottom: 0.3rem;
}
.howtoblock a p {
    color: #171717;
}
.howtoblock a {
    display: block;
}
.howtoblock a:hover {
    display: block;
    text-decoration: none;
}
.ca01 {
    background: #5db6df;
}
.ca02 {
    background: #2bb5a7;
}
.ca03 {
    background: #f39541;
}
.ca04 {
    background: #5db6df;
}
.howtoblock a p:hover {
    color: rgba(23,23,23,0.7);
    text-decoration: none !important;
}
.howtoblock a h5:hover {
    opacity: 0.7;
    text-decoration: none;
}
.howtoblock .btn-more {
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
    text-align: center;
    width: 200px;
    height: 36px;
    border-radius: 18px;
    font-size: 16px;
    color: #fff;
    display: inline-block;
    background: #4e8ccb;
    border: 3px solid #7fabe9;
    margin: auto;
    line-height: 1.8;
}
.howtoblock .btn-more:hover {
    background: rgba(78,140,203,0.8);
    text-decoration: none;
}
.staffblock {
    background: #eee;
    padding: 3rem 0 4rem;
}
.staffblock h3 {
    background: #fff;
    border-radius: 20px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 15px;
    color: #50157e;
    display: inline-block;
    padding: 0.5rem 2rem;
    margin: auto;
    position: relative;
}
.staffblock h3:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  border: 6px solid transparent;
  border-top: 12px solid #fff;
  width: 0;
  height: 0;
}
.staffblock h2 {
    font-size: 25px;
    color: #50157e;
    border-bottom: 4px dotted #50157e;
    padding-bottom: 0.7rem;
    display: inline-block;
    line-height: 1.5;
}
.staffblock p {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.popblock {
    background: #e8dbf2;
    padding: 0 0 0.5rem;
}
.popblock h3 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin-top: -2rem
}
.popblock h3::before {
    content: '';
    background: url("../../../images/pop01.png") no-repeat;
    display: inline-block;
    background-size: contain;
    width: 90px;
    height: 90px;
}
.contactblock {
    background: url("../../../images/contactbg.png");
    padding: 0;
    position: relative;
}
.woman03 {
    margin-top: -8rem;
    float: left;
}
.table-tel {
    margin-top: 1rem;
}
.table-tel h1 {
    font-size: 60px;
	font-family: 'Noto Sans JP' ;
    font-weight: 700;
    color: #fff;
}
.table-tel small {
    font-size: 15px;
    color: #fff;
}
.table-tel td {
    padding: 0;
}
.table-tel th {
    padding-right: 1rem;
}
.tel-icon {
    max-height: 47px;
    margin-top: -10px;
}
.line {
    margin-top: -13.5rem;
    float: right;
}
.line_s,
.table-tel_s,
.woman03_s,
.contacttext {
    display: none;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .popblock h3 {
        font-size: 24px;
    }
    .popblock h3::before {
        width: 72px;
        height: 72px;
    }
    .table-tel h1 {
        font-size: 42px;
    }
    .table-tel small {
        font-size: 12px;
    }
    .tel-icon {
        max-height: 38px;
    }
    .line {
        margin-top: -12.3rem;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .popblock {
        padding: 0 0 1.5rem;
    }
    .woman03,
    .line,
    .table-tel {
        display: none;
    }
    .line_s {
        display: block;
        text-align: center;
        margin-top: -1.5rem;
    }
    .woman03_s {
        display: block;
        float: left;
    }
    .table-tel_s {
        display: block;
        position: absolute;
        left: 12rem;
        margin-top: 1rem;
    }
    .table-tel_s h1 {
        font-size: 60px;
        font-weight: 700;
        color: #fff;
    }
    .table-tel_s td {
        padding: 0;
    }
    .table-tel_s th {
        padding-right: 1rem;
    }
    .contacttext {
        display: block;
        position: absolute;
        right: 0;
        bottom: 2rem;
        font-size: 21px;
        color: #fff;
        width: 50%;
        text-align: right;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .popblock {
        padding: 0 0 1.5rem;
    }
    .woman03,
    .line,
    .table-tel {
        display: none;
    }
    .line_s {
        display: block;
        text-align: center;
        margin-top: -1.5rem;
    }
    .woman03_s {
        display: block;
        float: left;
    }
    .woman03_s img {
        max-height: 180px;
    }
    .table-tel_s {
        display: block;
        position: absolute;
        left: 10rem;
        margin-top: 1rem;
    }
    .table-tel_s h1 {
        font-size: 43px;
        font-weight: 700;
        color: #fff;
    }
    .tel-icon {
        max-height: 37px;
    }
    .table-tel_s td {
        padding: 0;
    }
    .table-tel_s th {
        padding-right: 1rem;
    }
    .contacttext {
        display: block;
        position: absolute;
        right: 0;
        bottom: 1rem;
        font-size: 18px;
        color: #fff;
        width: 50%;
        text-align: right;
    }
}
@media (max-width: 575.98px) {
    .popblock h3 {
        font-size: 21px;
    }
    .popblock h3::before {
        width: 62px;
        height: 62px;
    }
    .popblock {
        padding: 0 0 0.5rem;
    }
    .woman03,
    .line,
    .table-tel {
        display: none;
    }
    .line_s {
        display: block;
        text-align: center;
        margin-top: -1rem;
    }
    .woman03_s {
        display: block;
        float: left;
    }
    .woman03_s img {
        max-height: 100px;
    }
    .table-tel_s {
        display: block;
        position: absolute;
        left: 6rem;
        margin-top: 0.3rem;
    }
    .table-tel_s h1 {
        font-size: 24px;
        font-weight: 700;
        color: #fff;
    }
    .tel-icon {
        max-height: 27px;
    }
    .table-tel_s td {
        padding: 0;
    }
    .table-tel_s th {
        padding-right: 1rem;
    }
    .contacttext {
        display: block;
        position: absolute;
        right: 0;
        bottom: 1rem;
        font-size: 13px;
        color: #fff;
        width: 50%;
        text-align: right;
    }
}
.img-qa {
    max-height: 92px;
}
.fmenublock {
    background: #f1f0f0;
    padding: 3rem 0 0;
}
.fmenublock h5 {
    font-size: 16px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    border-bottom: 1px solid #50157e;
    padding: 0 1rem 0.5rem;
    margin: 1rem 0;
}
.fmenu_sns {
    /*padding-left: 0;*/
    list-style: none;
}
.fmenu_sns li {
    display: inline-block;
}
.fmenu_sns li:not(:last-child) {
  margin-right: 1rem;
}
.fmenu {
    line-height: 1.5;
    margin-bottom: 2rem;
}
.fmenu {
    line-height: 1.5;
    margin-bottom: 2rem;
}
.fmenu::after {
  display: block;
  clear: both;
  content: "";
}
.fmenu dt {
    float: left;
    /*width: 10em;*/
    font-size: 18px;
}
.fmenu dt a {
    color: #171717;
}
.fmenu dt a:hover {
    color: #50157e;
    text-decoration: none;
}
.fmenu dd {
    margin-left: 10em;
}
.fmenu dd ul {
    padding-left: 0;
    list-style: none;
}
.fmenu dd ul li {
    display: inline-block;
}
.fmenu dd ul li:not(:last-child) {
  margin-right: 1rem;
}
.fmenu dd ul li::before {
    content: '▶︎'
}
.fmenu dd ul li a {
    font-size: 15px;
    color: #171717;
}
.fmenu dd ul li a:hover {
    color: #50157e;
    text-decoration: none;
}
.fmenu dd h4 {
    font-size: 15px;
}
#fmenu {
    display: none;
	list-style-type: none;
	padding-left: 0;
}
@media (max-width: 767.98px) {
    .fmenu {
        display: none;
    }
    #fmenu {
        display: block;
        border-top: 1px solid #50157e;
    }
}
#fmenu li {
    padding: 0.5rem 1.5rem;
    border-bottom: 1px solid #50157e;
}
#fmenu li a,
#fmenu .submenu {
	text-decoration: none;
	font-size: 15px;
	letter-spacing: 1px;
	display: block;
    color: #171717;
}
#fmenu li div {
	margin-left: 2rem;
}
#fmenu .submenu {
	cursor: pointer;
	position: relative;
}
#fmenu li.active a,
#fmenu li a:hover,
#fmenu .submenu:hover {
	color: #69abe8;
}
#fmenu .submenu::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f078" !important;
	/*display: inline-block;
	padding-left: 1rem;*/
    float: right;
    padding-right: 1rem;
    color: #50157e;
}
#fmenu .submenu.active::after {
	content: "\f077" !important;
}
#fmenu .nest ul {
	padding-left: 0;
}
#fmenu .nest ul li {
	margin: 0;
	list-style: none;
    line-height: 1.5;
    font-size: 15px;
    color: #171717;
    font-weight: 700;
    border-bottom: none;
}
#fmenu .nest ul li a {
	font-size:15px;
	font-weight: normal;
    padding-left: 1rem;
}
#fmenu .nest ul li:first-child {
    padding-top: 0.5rem;
}
#fmenu .nest ul li:last-child {
    padding-bottom: 0.5rem;
}
#fmenu li .hurry {
    background: #da3232;
    color: #f5eb3d;
    height: 28px;
    display: block;
    border-radius: 14px;
    padding: 0 1rem;
    line-height: 1.7;
    text-align: center;
}
#fmenu li .hurry:hover {
    background: rgba(218,50,50,0.7);
    color: #fff;
}
.bmenu {
    margin: 3rem auto 1rem;
    list-style: none;
    padding-left: 0;
    text-align: center;
}
.bmenu li {
    display: inline-block;
}
.bmenu li:not(:last-child) {
  margin-right: 1rem;
}
.bmenu-item::before {
    display: inline-block;
    padding-right: 1rem;
    color: #171717;
    content: "|";
    font-size: 12px;
}
.bmenu-item:first-child::before {
    content: '';
}
.bmenu-item a {
    color: #171717;
    font-size: 12px;
}
.bmenu-item a:hover {
    color: #50157e;
}
.h03 {
    font-size: 25px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
}
.p01 {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.h04 {
    background: #f0e7f7;
    padding: 1rem;
    text-align: center;
    font-size: 24px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.rate {
    position: relative;
    display: inline-block;
}
.rate:before,
.rate:after {
    content: '★★★★★';
}
.rate:before {
    color: #ccc;
}
.rate:after {
    position: absolute;
    left:0;
    top:0;
    color: #FFA500;
    overflow: hidden;
    height: 1.3em;
    display: flex;
}
.rate.rate0:after {
    width: 0;
}
.rate.rate0-5:after {
    width: 0.5em;
}
.rate.rate1:after {
    width: 1em;
}
.rate.rate1-5:after{
    width: 1.5em;
}
.rate.rate2:after{
    width: 2em;
}
.rate.rate2-5:after{
    width: 2.5em;
}
.rate.rate3:after{
    width: 3em;
}
.rate.rate3-5:after{
    width: 3.5em;
}
.rate.rate4:after{
    width: 4em;
}
.rate.rate4-5:after{
    width: 4.5em;
}
a .card-title,
a .card-text,
a .card-footer {
    color: #171717;
}
a:hover .card-title,
a:hover .card-text,
a:hover .card-footer {
    color: #573473;
}
a:hover .card {
  background-color: #fefefe;
  border: 3px solid rgba(87, 52, 115, 1);
}
.no-gutters .card-title {
    display: flex;
    flex-wrap: wrap;
}
.no-gutters .card-title small {
    background: #50157e;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 0.4rem 1rem;
    margin-left: 0.5rem;
    line-height: 1.4;
}
.attr-icon {
    list-style: none;
    padding-left: 0;
}
.attr-icon li {
    display: inline-block;
    border: 1px solid #50157e;
    text-align: center;
    color: #50157e;
}
.attr-icon li.disable {
    border: 1px solid #ddd;
    background: #ddd;
    color: #aaa;
}
.attr-icon li {
    padding: 0.5rem 0;
    width: 10.3rem;
    font-size: 13px;
    margin: 0.5rem 0;
}
/*.attr-icon li:not(:last-child) {
    margin-right: 0.5rem;
}*/
.no-gutters .attr-icon li {
    padding: 0.5rem 0;
    width: 6.3rem;
    font-size: 11px;
    margin: 0.2rem 0;
}
.no-gutters .attr-icon li:not(:last-child) {
    margin-right: 0.1rem;
}
.paginationblock {
    margin: 3rem auto;
}
.page-link {
    color: #50157e;
}
.h05 {
    font-size: 23px;
    color: #50157e;
    border-bottom: 1px solid rgba(80,21,126,0.3);
    padding: 0 0.5rem 0.5rem;
    margin: 2rem 0 1rem;
}
.area01 {
    margin-bottom: 0;
}
.area01 dt {
    float: left;
    font-size: 14px;
}
.area01 dd {
    margin-left: 9em;
}
@media (max-width: 575.98px) {
    .area01 dt {
        float: none;
    }
    .area01 dd {
        margin-left: 0;
    }
}
.amenu {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    display: flex;
}
.amenu li:not(:last-child) {
  margin-right: 1rem;
}
.amenu-item::before {
    padding-right: 1rem;
    color: #171717;
    content: "|";
    font-size: 14px;
    vertical-align: top;
}
.amenu-item:first-child::before {
    content: '';
}
.amenu-item a {
    color: #171717;
    font-size: 14px;
}
.amenu-item a:hover {
    color: #50157e;
}
.asubmenu {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.asubmenu li {
    display: inline-block;
    width: 10rem;
    margin-bottom: 1rem;
}
.asubmenu-item::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    padding-right: 0.3rem;
    vertical-align: middle;
    font-size: 10px;
}
.asubmenu-item a {
    color: #171717;
    font-size: 14px;
}
.asubmenu-item a:hover {
    color: #50157e;
}
.tel {
    font-weight: 700;
    color: #50157e;
    display: flex;
}
.tel::before {
    content: url("../../../images/tel-icon.png");
    padding-right: 0.5rem;
}
.sliderblock {
    margin: 2rem 0;
}
.prepblock {
    background: #fcedde;
    display: block;
    padding: 0 2rem;
    text-align: center;
    position: relative;
    margin: 1rem auto 2rem;
    border-radius: 1rem;
    max-width: 283px;
}
.prepblock .precontents {
    position: relative;
    top: -35px;
    left: 0;
    right: 0;
    margin: auto;
}
.prepblock h5 {
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    margin-bottom: 1rem
}
.prepblock h5 span {
    font-size: 45px;
}
.prepblock img {
    max-height: 135px;
}
.prepblock h4 {
    font-size: 23px;
    color: #50157e;
    margin-top: 1rem;
}
.prepblock p {
    line-height: 1.3;
    font-size: 14px;
}
.flowblock {
    margin: 2rem 0 4rem;
}
.flowblock p {
    line-height: 1.3;
    margin-top: 0.5rem;
}
.flowcontent {
    background: #fcedde;
    padding: 0 2rem 0.3rem;
    margin-top: 2rem;
    position: relative;
}
.flowcontent h3 {
    position: relative;
    top: -0.8rem;
    font-size: 18px;
    color: #50157e;
}
.flowcontent ul {
    list-style: none;
    padding-left: 0;
    line-height: 2;
}
.flowcontent ul li {
    display: flex;
    font-size: 15px;
}
.flowcontent ul li::before {
    content: '';
    background: url("../../../images/flow-icon.png") no-repeat;
    width: 22px;
    height: 24px;
    background-size: contain;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.h06 {
    position: relative;
    padding: 2rem;
    background: #f0e7f7;
    font-size: 25px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
}
.h06:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    border: 150px solid transparent;
    border-top: 40px solid #f0e7f7;
    width: 0;
    height: 0;
}
.h07 {
    background: #f0e7f7;
    padding: 0.1rem 0.5rem 0.5rem;
    text-align: center;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 25px;
    line-height: 1.2;
}
.h07 span {
    font-size: 40px;
}
.planblock {
    background: #c9f4fd;
    display: block;
    padding: 0 2rem;
    text-align: center;
    position: relative;
    margin: 1rem auto 2rem;
    border-radius: 1rem;
    max-width: 283px;
}
.planblock .plancontents {
    position: relative;
    top: -35px;
    left: 0;
    right: 0;
    margin: auto;
}
.planblock h5 {
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    margin-bottom: 1rem
}
.planblock h5 span {
    font-size: 45px;
}
.planblock img {
    max-height: 135px;
}
.planblock h4 {
    font-size: 23px;
    color: #50157e;
    margin-top: 1rem;
}
.planblock p {
    line-height: 1.3;
    font-size: 14px;
}
.reasonblock {
    background: #fcedde;
    padding: 3rem 0 2rem;
}
.reasonblock h3 {
    color: #c40b32;
    font-size: 23px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
    margin: auto;
}
.reasonblock h3::before {
    content: url("../../../images/r-title_li01.png");
    display: block;
    margin-bottom: 0.8rem;
}
.reasonblock h3::after {
    content: url("../../../images/r-title_li02.png");
    display: block;
}
.reasonblock .img-reason {
    max-height: 68px;
}
@media (max-width: 575.98px) {
    .reasonblock h3 {
        font-size: 18px;
    }
    .reasonblock h3::before {
        content: '';
        background: url("../../../images/r-title_li01.png") no-repeat center;
        width: auto;
        height: 5px;
        background-size: contain;
    }
    .reasonblock h3::after {
        content: '';
        background: url("../../../images/r-title_li02.png") no-repeat center;
        width: auto;
        height: 5px;
        background-size: contain;
        margin-top: 0.8rem;
    }
}
.img-contact {
    max-height: 188px;
}
.p-title {
    border-top: 3px dotted #41aac0;
    position: relative;
    margin: 6rem 0 3.5rem;
}
.p-title .img-point {
    position: absolute;
    left: 3rem;
    top: -4.5rem;
    padding: 0 1rem;
}
.p-title .img-point img {
    max-height: 131px;
}
.hrdot {
    border-top: 3px dotted #41aac0;
}
.flowblock2 {
    background: #fbf8f4;
    padding: 3rem 0;
}
.flowcontent2 {
    background: #fff;
    border: 1px solid #34a4bc;
    border-radius: 8px;
    padding: 3rem 2rem 3rem 4rem;
}
.flowcontent2 table {
    width: 100%;
}
.flowcontent2 table th {
    background: #d6e7eb;
    position: relative;
    left: 0.33rem;
    color: #50157e;
    font-size: 18px;
    padding: 1rem 1rem 1rem 4rem;
    border-left: 10px solid #90daea;
}
.flowcontent2 table th h5 {
    position: absolute;
    top: -0.8rem;
    left: -3.15rem;
}
.flowcontent2 table th h5 img {
    max-height: 82px;
}
.flowcontent2 table td {
    border-left: 10px solid #90daea;
    padding: 2rem 1rem 2rem 3rem;
}
@media (max-width: 575.98px) {
    .flowcontent2 {
        padding: 3rem 2rem 3rem 2rem;
    }
    .flowcontent2 table th {
        left: 0.2rem;
        font-size: 16px;
        padding: 1rem 1rem 1rem 2rem;
        border-left: 7px solid #90daea;
}
.flowcontent2 table th h5 {
        top: -0.8rem;
        left: -2.5rem;
    }
    .flowcontent2 table th h5 img {
        max-height: 62px;
    }
    .flowcontent2 table td {
        border-left: 7px solid #90daea;
        padding: 1rem 1rem 2rem 1rem;
    }
}
.notesblock {
    background: #e7f0f2;
    border: 1px solid #c40b32;
    border-radius: 8px;
    padding: 2.5rem 4rem;
    margin: 2rem 0;
}
.notesblock h3 {
    display: inline-block;
    background: #c40b32;
    padding: 0.5rem 2rem;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    margin: 0 auto 2rem;
}
.notesblock ul {
    list-style: none;
    padding-left: 0;
}
.notesblock ul li {
    font-size: 15px;
    color: #2c2c2c;
    text-indent: -2rem;
    padding-left: 2rem;
    margin: 1rem 0;
}
.notesblock ul li strong {
    font-size: 30px;
    padding-right: 0.5rem;
}
@media (max-width: 575.98px) {
    .notesblock {
        padding: 2rem 1rem;
    }
}
.companyblock {
    margin: 2rem 0;
}
.companyblock .card {
    border-radius: 8px;
    border: 1px solid #453a37;
}
.companyblock .card-header:first-child {
  border-radius: calc(8px - 1px) calc(8px - 1px) 0 0;
}
.companyblock .card-header {
    background: #716f6f;
    font-size: 18px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #fff;
    text-align: center;
}
.companyblock .card-body dl {
    margin: 1rem 0;
    padding: 0 1rem;
}
.companyblock .card-body dl dt {
    font-size: 20px;
    padding: 0 1rem;
    margin-bottom: 0.5rem;
}
.companyblock .card-body dl dd {
    border-bottom: 2px dotted #b3b3b3;
    padding: 0 1rem 1rem;
    margin-bottom: 2rem;
    font-size: 15px;
}
.btn-trance01 {
    background: rgba(52,164,188,1);
    max-width: 340px;
    height: 30px;
    border-radius: 15px;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
    color: #fff;
    display: block;
    line-height: 2;
    margin: 1rem auto;
}
.btn-trance01:hover {
    background: rgba(52,164,188,0.7);
    color: #fff;
}
.btn-trance02 {
    background: rgba(80,21,126,1);
    max-width: 340px;
    height: 30px;
    border-radius: 15px;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
    color: #fff;
    display: block;
    line-height: 2;
    margin: 1rem auto;
}
.btn-trance02:hover {
    background: rgba(80,21,126,0.7);
    color: #fff;
}
.btn-trance01::before,
.btn-trance02::before {
    content: '»';
    padding-right: 0.3rem;
    vertical-align: top;
    display: inline-block;
    margin-top: -0.05rem;
}
.h08 {
    display: inline-flex;
    background: #cae6ec;
    height: 36px;
    border-radius: 18px;
    padding: 0 2rem 0 0;
    color: #50157e;
    font-size: 23px;
    line-height: 1.5;
    min-width: 300px;
}
.h08 span {
    background: #34a4bc;
    border-radius: 18px;
    color: #fff;
    padding: 0 1rem;
    margin-right: 0.5rem
}
.caseblock {
    background: #fcedde;
    padding: 0 2rem 1rem;
    margin: 3rem auto;
    max-width: 295px;
}
.casecontents {
    position: relative;
    margin: auto;
    top: -15px;
    left: 0;
    right: 0;
    text-align: center;
}
.casecontents h3 {
    display: inline-block;
    background: #34a4bc;
    padding: 0.8rem 2rem;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 18px;
    text-align: center;
    color: #fff;
    margin: 0 auto 2rem;
}
.casecontents h4 {
    font-size: 18px;
    text-align: left;
    line-height: 1.5;
    margin-top: 2rem;
    font-weight: 700;
}
.casecontents p {
    font-size: 15px;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}
.priceblock {
    background: #faf7f4;
    border: 1px solid #34a4bc;
    border-radius: 5px;
    padding: 2rem 2rem 0.5rem;
    margin: 1rem auto 2rem;
}
.priceblock .table td {
    background: #fff;
}
.priceblock dl {
    border-bottom: 3px dotted #42aac1;
    padding: 1.5rem 2rem 1.5rem;
}
.priceblock dl:first-child {
    border-top: 3px dotted #42aac1;
}
.priceblock dl dt {
    width: 15em;
    float: left;
    display: flex;
}
.priceblock dl dd {
    margin-left: 15em;
}
.priceblock dl dt strong {
    font-size: 18px;
    font-weight: 700;
    width: 152px;
    border: 1px solid #50157e;
    padding: 0.5rem;
    text-align: center;
    display: inline-block;
}
.priceblock dl dt strong.line2 {
    margin-top: -1rem;
}
.priceblock dl dt::before {
    content: '+';
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    font-size: 30px;
    margin-right: 2rem;
}
@media (max-width: 575.98px) {
	.priceblock {
        padding: 2rem 1rem 0.5rem;
    }
    .priceblock dl dt {
        width: 100%;
        float: none;
        display: flex;
        margin-bottom: 1rem;
    }
    .priceblock dl dd {
        margin-left: 0;
    }
}
.stepblock {
    border-top: 3px dotted #42aac1;
    margin: 2rem auto;
}
.stepblock dl {
    border-bottom: 3px dotted #42aac1;
    padding: 2rem 1rem;
    vertical-align: middle;
    display: flex;
}
.stepblock dl dt {
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    display: inline-flex;
}
.stepblock dl dt span {
    font-size: 45px;
    margin-left: 0.2rem;
    display: contents;
}
.stepblock dl dd {
    margin-left: 3rem;
}
.tranqablock {
    background: #fcedde;
    position: relative;
    margin-bottom: 5rem;
}
.tranqacontents {
    border: 1px solid #42aac1;
    border-radius: 5px;
    margin: 2rem auto;
    padding: 2.5rem 2rem;
    background: #fff;
}
.tranqacontents dl {
    border-bottom: 3px dotted #42aac1;
    padding: 1.5rem 2rem 2rem;
    margin-bottom: 0;
}
.tranqacontents dl:first-child {
    border-top: 3px dotted #42aac1;
}
.tranqacontents dl dt {
    font-size: 15px;
    cursor: pointer;
}
.tranqacontents dl dt span,
.tranqacontents dl dd span {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    font-size: 30px;
    margin-right: 1rem;
}
.mustblock {
    background: #e7f0f2;
    padding: 1.5rem;
    margin: 0 auto 3rem;
}
.mustblock dl {
    display: inline-table;
    margin-bottom: 0;
}
.mustblock dl dt {
    background: #c40b32;
    padding: 0.5rem 2rem;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.mustblock dl dd {
    display: table-cell;
    vertical-align: middle;
    padding-left: 2rem;
}
@media (min-width: 1200px) {
    .priceblock,
    .stepblock,
    .tranqacontents,
    .mustblock {
        max-width: 1000px;
    }
}
footer {
    background: #50157e;
}
@media (max-width: 575.98px) {
    footer {
        margin-bottom: 60px;
    }
}
.footertop {
    background: #cfc9c9;
    padding: 2rem 0;
}
.footertop h2 {
    font-size: 21.5px;
}
.footertop p {
    font-size: 15px;
}
footer .copyright {
    text-align: center;
    color: #fff;
    font-size: 13px;
    padding: 0.3rem 0;
}
.bottom_menu {
    position: fixed;
    display: block;
    bottom: 0;
    z-index: 99;
    width: 100%;
    border-top: 1px solid #fff;
}
.fhurry {
    background: url("../../../images/fhurrybg.png");
    height: 60px;
    text-align: center;
    border-right: 1px solid #fff;
}
.fhurry a {
    font-size: 15px;
    color: #f5eb3d;
    line-height: 4;
}
.fhurry a:hover {
    color: #fff;
    text-decoration: none;
}
.ftel {
    background: url("../../../images/ftelbg.png");
    height: 60px;
    text-align: center;
    padding: 0.8rem 1rem;
}
.ftel img {
    max-height: 40px; 
}
#page-top {
	font-size: 0;
	position: fixed;
	bottom: 60px;
	right: 16px;
	opacity: 0;
}
#page-top.fade-in {
	color: #ddd;
	font-size: 30px;
	opacity: 0.6;
	transition: opacity 1s;
	cursor: pointer;
}
#page-top.fade-in:hover {
	color: #bdae7f;
}

.btn-primary {
    color: #fff;
    background-color: #50157e;
    border-color: #50157e;
}
.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}
.bg-primary,
.bg-dark {
    background: #50157e !important;
}
.table-plan {
    margin-bottom: 3rem;
}
.table-plan th,
.table-plan td {
    text-align: center;
    vertical-align: middle;
}
.table-plan td h2 {
    font-size: 48px;
    font-weight: 700;
    letter-spacing: -2px;
    color: #f00;
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding: 0 2rem 0.5rem;
    display: inline-block;
    margin-bottom: 1rem;
}
.table-plan td h2 small {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
}
.table-plan td h3 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -2px;
    color: #f60;
    margin-bottom: 0;
}
.table-plan td h3 span {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    color: #000;
    display: block;
}
.table-plan td h3 small {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
}
.no-gutters .btn-category {
    background: #50157e;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 0.4rem 1rem;
    margin-left: 0.5rem;
    line-height: 1.4;
}
.no-gutters .btn-category:hover {
    background: rgba(112,62,182,0.9);
    color: #fff;
    text-decoration: none;
}
.infoblock h2 {
    font-size: 23px;
    color: #50157e;
    border-bottom: 1px solid rgba(80,21,126,0.3);
    padding: 0 0.5rem 0.5rem;
    margin: 2rem 0 1rem;
}
.infoblock h3 {
    border-bottom: solid 2px #34a4bc;
    position: relative;
    font-size: 18px;
    padding: 0 0.5rem 0.3rem;
}
.infoblock h3:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #50157e;
    bottom: -2px;
    left: -0.5rem;
    width: 15%;
}
.infoblock ul {
    position: relative;
}
.infoblock ul li {
    line-height: 1;
    padding: 0.5em 0;
    list-style-type: none!important;
}
.infoblock ul li:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f138";
    position: absolute;
    left : 1em;
    color: #50157e;
}
.infoblock ol {
    counter-reset: item;
    list-style-type: none;
    padding-left: 1rem;
}
.infoblock ol li{
    text-indent: -1.3em;
    padding-left: 1.3em;
    line-height: 2;
}
.infoblock ol li:before {
    counter-increment: item;
    content: counter(item)'';
    margin-right: 0.5rem;
    font-weight: bold;
    font-size: small;
    color: #fff;
    background: #50157e;
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding: 0.05rem 0 0 1.3rem;
}
.wordsblock {
    background: #fcedde;
    margin-bottom: 2rem;
}
.wordscontents {
    border: 1px solid #42aac1;
    border-radius: 5px;
    margin: 2rem auto;
    padding: 2.5rem 2rem;
    background: #fff;
}
.table-words {
    width: 100%;
}
.table-words td {
    text-align: center;
    padding: 0.5rem;
}
.table-words td a {
    border: 1px solid #50157e;
    border-bottom: 3px solid #50157e;
    border-radius: 2px;
    color: #50157e;
    font-size: 18px;
    font-weight: bold;
    display: block;
    height: 48px;
    line-height: 2.5;
    padding-left: 2rem;
}
.table-words td a:hover {
    background: rgba(80,21,126,0.8);
    color: #fff;
}
.table-words .disable {
    border: 1px solid #aaa;
    border-bottom: 3px solid #aaa;
    border-radius: 2px;
    color: #aaa;
    font-size: 18px;
    font-weight: bold;
    display: block;
    height: 48px;
    line-height: 2.5;
}
.table-words td a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0a9";
    font-weight: 900;
    float: right;
    padding-right: 1rem;
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .table-words td {
        padding: 0.2rem;
    }
    .table-words td a {
        border-bottom: 2px solid #50157e;
        font-size: 14px;
        height: 36px;
        padding-left: 0;
    }
    .table-words .disable {
        border-bottom: 2px solid #aaa;
        font-size: 14px;
        height: 36px;
    }
    .table-words td a::after {
        padding-right: 0.5rem;
    }
}
@media (max-width: 575.98px) {
    .wordscontents {
        padding: 1.5rem 1rem;
    }
    .table-words td {
        padding: 0.2rem;
    }
    .table-words td a {
        border-bottom: 2px solid #50157e;
        font-size: 14px;
        height: 36px;
        padding-left: 0;
    }
    .table-words .disable {
        border-bottom: 2px solid #aaa;
        font-size: 14px;
        height: 36px;
    }
    .table-words td a::after {
        padding-right: 0.5rem;
    }
}
.wordscontents dl {
    border-bottom: 3px dotted #42aac1;
    padding: 1.5rem 2rem;
    margin-bottom: 0;
}
.wordscontents dl:first-child {
    border-top: 3px dotted #42aac1;
}
.wordscontents dl dt {
    font-size: 18px;
    cursor: pointer;
}
.wordscontents dl dd {
    font-size: 15px;
    margin-top: 1rem;
}
.infocontents {
    border: 1px solid #42aac1;
    border-radius: 5px;
    margin: 2rem auto;
    padding: 2.5rem 2rem;
    background: #fff;
}
.infocontents dl {
    border-bottom: 3px dotted #42aac1;
    padding: 1.5rem 2rem 1rem;
    margin-bottom: 0;
}
.infocontents dl:first-child {
    border-top: 3px dotted #42aac1;
}
.infocontents dl dt {
    float: left;
    width: 5em;
    font-size: 15px;
    color: #50157e;
}
.infocontents dl dd {
    margin-left: 5em;
}
.infocontents dl dd a {
    color: #000;
    font-size: 15px;
}
.infocontents dl dd a:hover {
    color: #50157e;
}
@media (max-width: 575.98px) {
    .infocontents {
        padding: 1.5rem 1rem;
    }
    .infocontents dl {
        padding: 1.5rem 1rem 1rem;
    }
    .infocontents dl dt {
        float: none;
        width: 100%;
    }
    .infocontents dl dd {
        margin-left: 0;
    }
}
.h09 {
    font-size: 25px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #c40b32;
}
.urgentdialblock {
    background: #f5f2f2;
    border: 2px solid #c40b32;
    border-radius: 0.6rem;
    position: relative;
    margin: 5rem auto;
}
@media (min-width: 1200px) {
    .urgentdialblock {
        max-width: 920px;
    }
}
.urgentdialblock .urgentdial-t {
    position: relative;
    top: -27px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}
.urgentdialblock .urgentdial-t h2 {
    display: inline-block;
    background: #c40b32;
    font-size: 23px;
    color: #fff;
    padding: 0.8rem 3rem;
}
.urgentdialblock table {
    border-bottom: 2px solid #c40b32;
    border-top: 2px solid #c40b32;
    text-align: center;
    margin: 1rem auto;
}
.urgentdialblock table td {
    padding: 1.5rem 0.5rem 1.5rem 2rem;
    background: #fff;
}
.urgentdialblock table th {
    padding: 1.5rem 2rem 1.5rem 0.5rem;
    background: #fff;
}
.urgentdialblock table th h2 {
    color: #c40b32;
    font-size: 60px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.urgentdialblock table th h2::before {
    content: '';
    background: url("../../../images/tel-icon03.png") no-repeat;
    width: 47px;
    height: 47px;
    background-size: contain;
    display: inline-block;
    margin-right: 15px;
}
.dialinfo {
    border: 1px solid #c40b32;
    border-radius: 5px;
    color: #c40b32;
    font-size: 14px;
    padding: 0.4rem 0.5rem;
    line-height: 1.2;
    letter-spacing: 1px;
    display: inline-block;
    margin-right: 0.5rem;
    background: #fff;
}
.dialinfo small {
    font-size: 10px;
}
.urgentdialcontent {
    max-width: 715px;
    margin: 2rem auto;
}
.urgentdialcontent::after {
  display: block;
  clear: both;
  content: "";
}
.urgentdialcontent .float-left {
    margin-right: 2rem;
}
.urgentdialcontent ul {
    list-style: none;
    padding-left: 0;
    padding-top: 1rem;
    /*line-height: 2.5;*/
}
.urgentdialcontent ul li {
    display: flex;
    font-size: 15px;
}
.urgentdialcontent ul li::before {
    content: '';
    background: url("../../../images/flow-icon.png") no-repeat;
    width: 22px;
    height: 24px;
    background-size: contain;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.urgentdialtext {
    max-width: 715px;
    margin: 2rem auto;
    background: #c40b32;
    border-radius: 10px;
    padding: 0.7rem 1rem;
    text-align: center;
    font-size: 15px;
    color: #fff;
}
.urgentdialcatch {
    background: #fff;
    text-align: center;
    margin: 3rem auto 2rem;
    position: relative;
    padding-bottom: 1.2rem;
}
.urgentdialcatch h2 {
    position: relative;
    top: -15px;
    font-size: 23px;
    font-weight: bold;
    color: #50157e;
    margin: 0 auto;
}
.img-dialcatch {
    max-height: 110px;
    margin-top: -0.5rem;
}
.urgentdialtext02 {
    max-width: 715px;
    margin: 2rem auto;
    padding-left: 0;
    list-style: none;
}
.urgentdialtext02 li {
    font-size: 15px;
    text-indent: -0.8em;
    padding-left: 0.8em;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .urgentdialblock table th h2 {
        font-size: 48px;
    }
    .urgentdialblock table th h2::before {
        width: 36px;
        height: 36px;
    }
    .urgentdialcontent {
        margin: 2rem 2rem;
    }
    .urgentdialcontent .float-left {
        margin-right: 1rem;
    }
    .urgentdialcontent ul {
        padding-top: 0rem;
        line-height: 1.5;
    }
    .urgentdialtext {
        padding: 0.7rem 1rem;
    }
    .urgentdialcatch {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .urgentdialtext02 {
        margin: 2rem;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .urgentdialblock table {
        margin: 1rem;
    }
    .urgentdialblock table td {
        padding: 1rem 0.5rem;
    }
    .urgentdialblock table th {
        padding: 1rem 0.5rem;
    }
    .urgentdialblock table th h2 {
        font-size: 35px;
        letter-spacing: 1px;
    }
    .urgentdialblock table th h2::before {
        width: 24px;
        height: 24px;
        margin-right: 10px;
    }
    .urgentdialcontent {
        margin: 2rem 1rem;
    }
    .urgentdialcontent .float-left {
        margin-right: 1rem;
    }
    .urgentdialcontent ul {
        padding-top: 0rem;
        line-height: 1.5;
}
    .urgentdialcontent ul li {
        font-size: 15px;
    }
    .urgentdialcontent ul li::before {
        width: 22px;
        height: 24px;
        margin-right: 0.5rem;
    }
    .urgentdialtext {
        margin: 2rem auto;
        padding: 0.7rem 1rem;
        font-size: 15px;
    }
    .urgentdialcatch {
        margin: 3rem auto 2rem;
        position: relative;
        padding-bottom: 1.2rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .urgentdialcatch h2 {
        top: -15px;
        font-size: 18px;
        margin: 0 auto;
    }
    .img-dialcatch {
        margin-top: -0.5rem;
    }
    .urgentdialtext02 {
        margin: 2rem;
    }
    .urgentdialtext02 li {
        font-size: 15px;
        text-indent: -0.8em;
        padding-left: 0.8em;
    }
}
@media (max-width: 575.98px) {
    .urgentdialblock .urgentdial-t h2 {
        font-size: 18px;
        padding: 0.8rem 2rem;
        margin-bottom: 0;
    }
    .urgentdialblock table {
        margin: 0 0 1rem;
        width: 100%
    }
    .urgentdialblock table td {
        display: none;
    }
    .urgentdialblock table th {
        padding: 1rem 0.5rem;
    }
    .urgentdialblock table th h2 {
        font-size: 28px;
        letter-spacing: 1px;
    }
    .urgentdialblock table th h2::before {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    .urgentdialcontent {
        margin: 2rem 1rem;
    }
    .urgentdialcontent .float-left {
        float: none!important;
        margin-right: 0;
        margin-bottom: 1rem;
    }
    .urgentdialcontent ul {
        padding-top: 0rem;
        line-height: 1.5;
}
    .urgentdialcontent ul li {
        font-size: 15px;
    }
    .urgentdialcontent ul li::before {
        width: 22px;
        height: 24px;
        margin-right: 0.5rem;
    }
    .urgentdialtext {
        margin: 1rem auto;
        padding: 0.7rem 1rem;
        font-size: 15px;
    }
    .urgentdialcatch {
        margin: 3rem auto 2rem;
        position: relative;
        padding-bottom: 1.2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .urgentdialcatch h2 {
        top: -15px;
        font-size: 18px;
        margin: 0 auto;
    }
    .img-dialcatch {
        margin-top: -0.5rem;
    }
    .urgentdialtext02 {
        margin: 1rem 1rem 2rem;
    }
    .urgentdialtext02 li {
        font-size: 15px;
        text-indent: -0.8em;
        padding-left: 0.8em;
    }
}
.urgentstepblock {
    background: #eff5fa;
    padding: 2rem 0;
    margin-bottom: 5rem;
}
.urgentstepcontent {
    background: #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    -webkit-filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    padding: 4rem 2rem 3rem;
    margin: auto;
}
@media (min-width: 1200px) {
    .urgentstepcontent {
        max-width: 1000px;
    }
}
.urgentstep {
    position: relative;
    padding: 0 2rem 1.2rem;
    background: #fcedde;
    margin-bottom: 4.5rem;
    border-radius: 1rem;
}
.urgentstep:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    border: 80px solid transparent;
    border-top: 30px solid #fcedde;
    width: 0;
    height: 0;
}
.urgentstep h3 {
    position: relative;
    top: -2.2rem;
    font-size: 30px;
    color: #50157e;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    margin-bottom: 0;
}
.urgentstep h3 strong {
    font-size: 45px;
    font-weight: normal;
    padding-left: 0.2rem;
}
.urgentstep h3 small {
    font-size: 23px;
    font-family:
    MyYuGothicM, /* Windows調整用 */
	YuGothic,    /* Mac用 */
	sans-serif;
    font-weight: 700;
    padding-left: 2rem;
}
.urgentstep p {
    line-height: 1.4;
    margin-left: 1rem;
    margin-top: -0.9rem;
}
.urgentstep table {
    text-align: center;
    margin: 1rem 0 0;
}
.urgentstep table td {
    padding: 0 0.5rem 0 1rem;
}
.urgentstep table th {
    padding: 0 2rem 0 0.5rem;
}
.urgentstep table th h2 {
    color: #c40b32;
    font-size: 60px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.urgentstep table th h2::before {
    content: '';
    background: url("../../../images/tel-icon03.png") no-repeat;
    width: 47px;
    height: 47px;
    background-size: contain;
    display: inline-block;
    margin-right: 15px;
}
.woman04 {
    position: absolute;
    bottom: 0;
    right: 2rem;
}
.woman04 img {
    max-height: 237px;
}
.urgentstep h4 {
    font-size: 30px;
    font-weight: 700;
    color: #c40b32;
}
.h10 {
    font-size: 20px;
    color: #50157e;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    border-left: 5px solid #50157e;
    padding-left: 0.5rem;
}
.urgentstep .col-md-4 img {
    display: block;
    margin-bottom: 0.5rem;
}
.urgentstep span {
    display: block;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 14px;
}
.urgentdo {
    background: #fcc388;
    padding: 1rem;
    font-size: 30px;
    font-weight: 700;
    color: #c40b32;
    text-align: center;
    display: block;
    border-radius: 1rem;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .urgentstep p {
        margin-left: 0rem;
    }
    .urgentstep table td {
        padding: 0 0.5rem 0 0;
    }
    .urgentstep table th {
        padding: 0 0 0 0.5rem;
    }
    .urgentstep table th h2 {
        font-size: 52px;
    }
    .urgentstep table th h2::before {
        width: 42px;
        height: 42px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .urgentstep p {
        margin-left: 0rem;
    }
    .urgentstep table td {
        padding: 0 0.5rem 0 0;
    }
    .urgentstep table th {
        padding: 0 0 0 0.5rem;
    }
    .urgentstep table th h2 {
        font-size: 42px;
    }
    .urgentstep table th h2::before {
        width: 32px;
        height: 32px;
        margin-right: 10px;
    }
    .woman04 {
        display: none;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .urgentstep h3 {
        font-size: 28px;
    }
    .urgentstep h3 strong {
        font-size: 42px;
    }
    .urgentstep h3 small {
        font-size: 21px;
        padding-left: 1rem;
    }
    .urgentstep p {
        margin-left: 0rem;
    }
    .urgentstep table {
        width: 100%;
    }
    .urgentstep table td {
        display: none;
    }
    .urgentstep table th {
        padding: 0 0 0 0.5rem;
    }
    .urgentstep table th h2 {
        font-size: 46px;
    }
    .urgentstep table th h2::before {
        width: 34px;
        height: 34px;
        margin-right: 15px;
    }
    .woman04 {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .urgentstepcontent {
        padding: 4rem 1rem 2rem;
    }
    .urgentstep {
        padding: 0 1rem 1.2rem;
    }
    .urgentstep h3 {
        position: relative;
        top: -1.35rem;
        font-size: 18px;
    }
    .urgentstep h3 strong {
        font-size: 28px;
    }
    .urgentstep h3 small {
        font-size: 16px;
        padding-left: 1rem;
    }
    .urgentstep p {
        font-size: 13px;
        margin-left: 0rem;
    }
    .urgentstep table {
        width: 100%;
    }
    .urgentstep table td {
        display: none;
    }
    .urgentstep table th {
        padding: 0 0 0 0.5rem;
    }
    .urgentstep table th h2 {
        font-size: 28px;
    }
    .urgentstep table th h2::before {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    .woman04 {
        display: none;
    }
    .urgentstep h4 {
        font-size: 24px;
    }
}
.img-request {
    max-height: 116px;
}
.btn-payment {
    display: inline-block;
    margin: 0.5rem 0.2rem;
    background: rgba(52,164,188,1.0);
    padding: 0.55rem 1rem;
    color: #fff;
    text-align: center;
    font-size: 15px;
    width: 12.5rem;
}
.btn-payment.disable {
    display: inline-block;
    margin: 0.5rem 0.2rem;
    background: #50157e;
    padding: 0.55rem 1rem;
    color: #fff;
    text-align: center;
    font-size: 15px;
    width: 12.5rem;
    pointer-events: none;
}
.btn-payment:hover {
    background: rgba(52,164,188,0.8);
    color: #fff;
}
.btn-payment span,
.btn-payment strong {
    display: block;
    margin: 0 1.5rem
}
.btn-payment hr {
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
  border: 0;
  border-top: 1px solid rgba(255,255,255,1.0);
}
.paymentblock {
    background: #faf7f4;
    padding: 2rem;
    border: 1px solid #34a4bc;
    border-radius: 1rem;
    margin: 3rem auto;
}
@media (min-width: 1200px) {
    .paymentblock {
        max-width: 1020px;
    }
}
.title-payment {
    display: block;
    margin-bottom: 1.2rem;
    background: rgba(52,164,188,1.0);
    padding: 0.7rem 1.7rem;
    color: #fff;
    text-align: center;
    font-size: 15px;
}
.title-payment hr {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
  border: 0;
  border-top: 1px solid rgba(255,255,255,1.0);
}
.paymentblock p {
    border-top: 2px dotted #34a4bc;
    padding: 1.8rem;
    margin-bottom: 0;
}
.paymentblock ul {
    border-top: 2px dotted #34a4bc;
    border-bottom: 2px dotted #34a4bc;
    list-style: none;
    padding: 1.8rem 2rem 0.8rem;
}
.paymentblock ul li {
    display: flex;
    font-size: 15px;
    margin-bottom: 1.3rem;
}
.paymentblock ul li::before {
    content: '';
    background: url("images/flow-icon.png") no-repeat;
    width: 22px;
    height: 24px;
    background-size: contain;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.paymentmore {
    position: absolute;
    bottom: 0;
    width: 96%;
}
.btn-paymentmore {
    display: block;
    background: rgba(80,21,126,1.0);
    border-radius: 1rem;
    padding: 0.3rem;
    text-align: center;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #fff;
    font-size: 15px;
}
.btn-paymentmore:hover {
    background: rgba(80,21,126,0.8);
    color: #fff;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .paymentmore {
        position: static;
         width: auto;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .paymentblock p {
        padding: 1.8rem 1rem;
        margin-top: 2rem;
    }
    .paymentmore {
        position: static;
        width: auto;
    }
}
@media (max-width: 575.98px) {
    .paymentblock {
        padding: 2rem 1rem;
    }
    .paymentblock p {
        margin-top: 2rem;
    }
    .paymentblock ul {
        padding: 1.8rem 1rem 0.8rem;
    }
    .paymentmore {
        position: static;
         width: auto;
    }
}
@media (min-width: 1200px) {
    .benefitblock {
        max-width: 1020px;
        margin: auto;
    }
}
.benefitcontent {
    background: #fcedde;
    padding: 1.2rem 3rem;
    position: relative;
    margin: 4rem auto 2rem;
}
.benefitcontent-t {
    position: absolute;
    top: -1.7rem;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}
.benefitcontent-t h2 {
    background: #34a4bc;
    margin: 0 3.5rem;
    display: block;
    padding: 0.8rem 1rem;
    color: #fff;
    font-size: 18px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.benefitcontent h3 {
    font-size: 25px;
    margin: 2rem auto;
    text-align: center;
}
.benefitcontent p {
    margin-bottom: 3rem;
}
.benefitcontent .benefitmore {
    position: absolute;
    bottom: 1.2rem;
    width: 82%;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .benefitcontent {
        padding: 1.2rem 2rem;
    }
}
@media (max-width: 575.98px) { 
    .benefitcontent {
        padding: 1.2rem 2rem;
        margin: 2rem auto 1rem;
    }
}
.plancablock {
    background: #fcedde;
    padding: 3rem;
    margin: 4rem auto;
}
@media (min-width: 1200px) {
    .plancablock {
        width: 1020px;
    }
}
.plancablock h2 {
    background: #50157e;
    text-align: center;
    color: #fff;
    padding: 0.8rem 1rem;
    font-size: 15px;
    font-weight: 700;
    display: block;
    border-radius: 1.6rem;
    margin-bottom: 2rem;
}
.plancablock h1 {
    color: #50157e;
    font-size: 30px;
    font-weight: 700;
}
.plancablock h3 {
    font-size: 75px;
    font-weight: 700;
    margin-bottom: 1rem;
}
.plancablock h3 span {
    font-size: 40px;
}
.plancablock h3 small {
    font-size: 20px;
    font-weight: 400;
}
.plancablock p {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
@media (max-width: 575.98px) {
    .plancablock {
        padding: 3rem 1rem;
    }
}
.planpointblock {
    display: block;
    padding: 0 1.5rem 1rem;
    text-align: center;
    position: relative;
    margin: 1rem auto 2rem;
    border: 2px solid #50157e;
    border-radius: 1rem;
    max-width: 283px;
}
.planpointblock .planpoint-t {
    position: relative;
    top: -40px;
    left: 0;
    right: 0;
    margin: 0 auto -1.5rem;
}
.planpointblock .planpoint-t h5 {
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    background: #fff;
    padding: 0 0.5rem;
    display: inline-block;
}
.planpointblock .planpoint-t h5 span {
    font-size: 45px;
    margin-left: 0.2rem;
}
.planpointblock img {
    
    max-height: 135px;
}
.planpointblock h4 {
    font-size: 23px;
    font-weight: 700;
    color: #50157e;
    margin-top: 1rem;
}
.planpointblock p {
    line-height: 1.3;
    font-size: 14px;
	text-align: left;
}
.plansecondblock {
    background: #fcedde;
    text-align: center;
    padding: 3rem 0;
}
.plansecondblock h3 {
    font-size: 23px;
    font-weight: 700;
    color: #50157e;
}
.plansecondblock h3 strong {
    font-size: 38px;
}
.btn-more02 {
    text-align: center;
    border-radius: 1rem;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #fff;
    display: inline-block;
    background: #50157e;
    margin: auto;
    padding: 0.3rem 3rem;
}
.btn-more02:hover {
    background: rgba(80,21,126,0.8);
    text-decoration: none;
    color: #fff;
}
@media (max-width: 575.98px) {
    .btn-more02 {
        font-size: 13px;
        padding: 0.3rem 1rem;
    }
}
.plancontent {
    background: #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    -webkit-filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    padding: 4rem 0 3rem;
    margin: 3rem auto;
    position: relative;
}
.plancontent h3 {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
}
.plancontent ul {
    background: #f6dae0;
    padding: 1.5rem;
    list-style: none;
    text-align: center;
    margin: auto;
}
.plancontent ul li {
    font-size: 20px;
    font-weight: 700;
    color: #c40b32;
    display: inline-block;
    margin: 0 0.5rem;
}
.plancontent ul li a {
    border: 1px solid #c40b32;
    padding: 1rem;
    color: #c40b32;
    font-weight: 400;
    background: #fff;
}
.plancontent ul li a:hover {
    background: rgba(255,255,255,0.7);
}
.plancontent ul li a::after {
    content: '▶︎';
    font-size: 15px;
    margin-left: 0.5rem;
    vertical-align: top;
    line-height: 2.1;
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .plancontent ul li {
        margin: 1rem 0.5rem;
    }
}
@media (max-width: 575.98px) {
    .plancontent h3 {
        top: -20px;
        font-size: 21px;
    }
    .plancontent ul li {
        margin: 1rem 0.5rem;
    }
}
.planoverviewblock {
    background: #fcedde;
    padding: 2rem 0;
}
.planoverviewblock .table-plan {
    box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    -webkit-filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    width: 100%;
}
.planoverviewblock .table-plan th,
.planoverviewblock .table-plan td {
    text-align: center;
    vertical-align: middle;
}
.planoverviewblock .table-plan th {
    width: 20%;
}
.planoverviewblock .table-plan td {
    background: #fff;
}
.planoverviewblock .table-plan td h2 {
    font-size: 48px;
    font-weight: 700;
    letter-spacing: -2px;
    color: #f00;
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding: 0 2rem 0.5rem;
    display: inline-block;
    margin-bottom: 1rem;
}
.planoverviewblock .table-plan td h2 small {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
}
.planoverviewblock .table-plan td h3 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -2px;
    color: #f60;
    margin-bottom: 0;
}
.planoverviewblock .table-plan td h3 span {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    color: #000;
    display: block;
}
.planoverviewblock .table-plan td h3 small {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
}
.table-title {
    width: 100%;
    margin-bottom: 0;
}
.table-title th {
    width: 20%;
}
.table-title h3 {
    background: #34a4bc;
    padding: 1.5rem;
    text-align: center;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    border-radius: 0.5rem 0.5rem 0 0;
    margin-bottom: 0;
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .planoverviewblock .table-plan th {
        width: 30%;
    }
    .table-title th {
        width: 30%;
    }
}
@media (max-width: 575.98px) {
    .planoverviewblock .table-plan td h2 {
        font-size: 36px;
        padding: 0 2rem 0.5rem;
        margin-bottom: 1rem;
    }
    .planoverviewblock .table-plan td h2 small {
        font-size: 18px;
    }
    .planoverviewblock .table-plan td h3 {
        font-size: 24px;
    }
    .planoverviewblock .table-plan td h3 span {
        font-size: 14px;
    }
    .planoverviewblock .table-plan td h3 small {
        font-size: 14px;
    }
    .table-title h3 {
        padding: 1rem 1.5rem;
        font-size: 18px;
    }
}
.paymenttypeblock {
    background: #faf7f4;
    padding: 2.7rem 0 2rem;
    border: 1px solid #34a4bc;
    border-radius: 0.5rem;
    margin: auto;
}
@media (min-width: 1200px) {
    .paymenttypeblock {
        width: 1020px;
    }
}
.paymenttypeblock h2 {
    color: #50157e;
    background: #f0e7f7;
    border: 1px solid #50157e;
    padding: 0.6rem 0 0.35rem;
    display: block;
    margin: 0 5rem;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    border-radius: 0.5rem;
}
.paymenttypeblock h5 {
    margin: 1rem 3rem;
    font-size: 16px;
    line-height: 1.6;
}
.paymenttypeblock small {
    background: #eee;
    padding: 0.5rem 1rem;
    font-size: 13px;
    display: block;
}
.credittype {
    padding-left: 0;
    list-style: none;
    margin: 0 auto;
    text-align: center;
}
.credittype li {
    display: inline-block;
    margin: 0 0.5rem;
    vertical-align: top;
}
.credittype li img {
    max-height: 72px;
}
.credittype li p {
    font-size: 12px;
    line-height: 1;
    margin-top: 0.5rem;
}
.meritcontent {
    background: #fff;
    position: relative;
    padding: 2rem 2rem 1rem;
    margin: 2rem 0 1.5rem;
}
.meritcontent h3 {
    position: absolute;
    top: -0.8rem;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 23px;
    font-weight: 700;
    color: #50157e;
}
.meritcontent ul {
    padding-left: 0;
    list-style: none;
    text-align: center;
    margin: auto;
}
.meritcontent ul li {
    font-size: 15px;
    margin: 0.8rem 0;
}
.meritcontent ul li::before {
    content: '';
    background: url("../../../images/flow-icon.png") no-repeat;
    width: 22px;
    height: 24px;
    background-size: contain;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: top;
}
.paymenttypetext {
    padding-left: 0;
    list-style: none;
    margin: 0 3rem;
}
.paymenttypetext li {
    text-indent: -1em;
    padding-left: 1em;
    color: #c40b32;
    font-size: 15px;
    line-height: 1.2;
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .paymenttypeblock h2 {
        margin: 0 2rem;
        font-size: 25px;
    }
    .credittype li img {
        max-height: 52px;
    }
    .paymenttypetext {
        margin: 0 2rem;
    }
}
@media (max-width: 575.98px) {
    .paymenttypeblock h2 {
        margin: 0 1rem;
        font-size: 21px;
    }
    .credittype li img {
        max-height: 42px;
    }
    .meritcontent {
        padding: 2rem 1rem 1rem;
    }
    .meritcontent h3 {
        top: -0.8rem;
        font-size: 18px;
        margin: 0 0.8rem;
    }
    .meritcontent ul li {
        display: flex;
        text-align: left;
    }
    .paymenttypetext {
        margin: 0 1rem;
    }
}
.table-step {
    margin: 1rem 0 0;
    width: auto !important;
}
.table-step td {
    border-left: hidden !important;
    padding: 0 0.2rem !important;
}
.table-step .dialinfo {
    border: 1px solid #50157e;
    color: #50157e;
    text-align: center;
}
.table-step th {
    padding: 0 0.2rem !important;
    background: none !important;
    position: static !important;
    border-left: hidden !important;
}
.table-step th h2 {
    color: #50157e;
    font-size: 40px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.table-step th h2::before {
    content: '';
    background: url("../../../images/tel-icon.png") no-repeat;
    width: 26px;
    height: 26px;
    background-size: contain;
    display: inline-block;
    margin-right: 5px;
}
@media (max-width: 991.98px) {
    .table-step td {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .table-step th h2 {
        font-size: 24px;
    }
    .table-step th h2::before {
        width: 16px;
        height: 16px;
    }
}
.reasonblock .btn-more02 {
    display: block;
    width: 340px;
    padding: 0.3rem 1rem;
}

@media (max-width: 575.98px) {
    .reasonblock .btn-more02 {
        width: 220px;
        font-size: 13px;
    }
}
.flowcontent2 h4 {
    position: relative;
    padding: 1rem;
    background: #d6e7eb;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 3rem;
    text-align: center;
}
.flowcontent2 h4:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    border: 15px solid transparent;
    border-top: 15px solid #d6e7eb;
    width: 0;
    height: 0;
}
.h11 {
    font-size: 18px;
    font-weight: 700;
    border-left: 5px solid #50157e;
    padding-left: 0.5rem;
}
.flowcontent2 .table {
    margin: 1rem 0 0;
    width: auto !important;
    text-align: center;
    width: 100% !important;
}
.flowcontent2 .table td {
    border-left: 1px solid #ddd !important;
    padding: 0.75rem !important;
}
.flowcontent2 .table th {
    padding: 0.75rem !important;
    background: #eee !important;
    position: static !important;
    border-left: 1px solid #ddd !important;
    font-size: 16px;
    color: #000;
}
.mt-6 {
    margin-top: 5.5rem;
}
.mt-8 {
    margin-top: 6.5rem;
}
.planincludeblock {
    position: relative;
    padding: 2rem 0;
    background: #eff5fa;
    margin: 3rem auto 6.5rem;
}
.planincludeblock::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    border: 280px solid transparent;
    border-top: 60px solid #eff5fa;
    width: 0;
    height: 0;
}
@media (max-width: 767.98px) {
    .planincludeblock {
        margin: 3rem auto 3rem;
    }
    .planincludeblock::after {
        border: 140px solid transparent;
        border-top: 30px solid #eff5fa;
    }
}
.planincludecontent {
    background: #faf7f4;
    border: 1px solid #34a4bc;
    border-radius: 0.4rem;
    padding: 3rem 3rem 2.5rem;
    margin: 1rem auto 2rem;
}
@media (min-width: 1200px) {
    .planincludecontent {
        width: 950px;
    }
}
.planincludecontent ul {
    padding-left: 0;
    list-style: none;
    text-align: center;
    margin-bottom: 2rem
}
.planincludecontent ul li {
    display: inline-block;
    margin: 0 0.85rem;
}
.planincludecontent ul li p {
    margin-top: 0.5rem;
    font-weight: 700;
}
.planincludecontent ul li img {
    max-height: 110px;
}
.planincludecontent dt {
    background: #34a4bc;
    padding: 0.2rem 0.5rem 0.1rem;
    color: #fff;
    font-size: 15px;
}
.planincludecontent dd {
    background: #fff;
    padding: 1rem 0.5rem;
    border-left: 2px dotted #34a4bc;
    border-right: 2px dotted #34a4bc;
    border-bottom: 2px dotted #34a4bc;
}
.planincludecontent dd h3 {
    font-size: 15px;
    font-weight: 700;
    padding: 0 0.8rem 0.5rem;
    border-bottom: 2px dotted #34a4bc;
}
.planincludecontent dd h3 small {
    font-size: 13px;
    font-weight: 400;
}
.planincludecontent dd p {
    padding: 0 0.8rem;
    margin-bottom: 0;
}
@media (max-width: 575.98px) {
    .planincludecontent {
        padding: 3rem 1rem 2.5rem;
    }
}
.plancablock02 {
    background: #fff;
    padding: 3rem;
    margin: 4rem auto 1rem;
}
@media (min-width: 1200px) {
    .plancablock02 {
        width: 1020px;
    }
}
.plancablock02 h2 {
    background: #50157e;
    text-align: center;
    color: #fff;
    padding: 0.8rem 1rem;
    font-size: 15px;
    font-weight: 700;
    display: block;
    border-radius: 1.6rem;
    margin-bottom: 2rem;
}
.plancablock02 h1 {
    color: #50157e;
    font-size: 30px;
    font-weight: 700;
}
.plancablock02 h3 {
    font-size: 75px;
    font-weight: 700;
    margin-bottom: 1rem;
}
.plancablock h3 span {
    font-size: 40px;
}
.plancablock02 h3 small {
    font-size: 20px;
    font-weight: 400;
}
.plancablock02 p {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
@media (max-width: 575.98px) {
    .plancablock02 {
        padding: 3rem 1rem;
    }
    .plancablock02 h1 {
        font-size: 24px;
    }
    .plancablock02 h3 {
        font-size: 55px;
    }
    .plancablock02 h3 span {
        font-size: 20px;
    }
    .plancablock02 h3 small {
        font-size: 13px;
    }
}
.h12 {
    font-size: 30px;
    font-weight: 700;
    color: #c40b32;
    text-align: center;
}
.h12 strong {
    font-size: 23px;
    background: #c40b32;
    height: 90px;
    width: 90px;
    border-radius: 50%;
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    line-height: 3.8;
    margin-right: 1rem
}
.btn-plan01 {
    background: rgba(52,164,188,1);
    max-width: 420px;
    border-radius: 15px;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
    color: #f5fe00;
    display: block;
    padding: 0.2rem 1rem;
    margin: 1rem auto;
}
.btn-plan01:hover {
    background: rgba(52,164,188,0.7);
    color: #fff;
}
.btn-plan02 {
    background: rgba(80,21,126,1);
    max-width: 420px;
    border-radius: 15px;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    text-align: center;
    color: #f5fe00;
    display: block;
    padding: 0.2rem 1rem;
    margin: 1rem auto;
}
.btn-plan02:hover {
    background: rgba(80,21,126,0.7);
    color: #fff;
}
.btn-plan01::before,
.btn-plan02::before {
    content: '»';
    padding-right: 0.3rem;
    vertical-align: top;
    display: inline-block;
    margin-top: -0.05rem;
}
.planincludecontent02 {
    background: #faf7f4;
    border: 1px solid #34a4bc;
    border-radius: 0.4rem;
    padding: 1.5rem 2rem;
    margin: auto;
}
@media (min-width: 1200px) {
    .planincludecontent02 {
        width: 950px;
    }
}
.planstepcontent {
    background: #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    -webkit-filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    filter: drop-shadow(0px 0px 0px 1px rgba(0,0,0,0.3));
    padding: 1rem;
    margin: auto;
}
@media (min-width: 1200px) {
    .planstepcontent {
        max-width: 1000px;
    }
}
.planstepblock01 {
    background: #f0e7f7;
    padding: 1.3rem;
}
.planstepblock01 h6 {
    background: #b698cd;
    padding: 0.4rem 0.5rem 0.2rem;
    display: block;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4.5rem;
}
.planstepblock02 {
    background: #d6edd6;
    padding: 1.3rem;
}
.planstepblock02 h6 {
    background: #688b68;
    padding: 0.4rem 0.5rem 0.2rem;
    display: block;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4.5rem;
}
.planstep {
    position: relative;
    padding: 0 2rem 1.2rem;
    background: #faf7f4;
    margin-bottom: 4.5rem;
    border-radius: 1rem;
}
.planstep:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    border: 80px solid transparent;
    border-top: 30px solid #faf7f4;
    width: 0;
    height: 0;
}
.planstep h3 {
    position: relative;
    top: -2.2rem;
    font-size: 30px;
    color: #50157e;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    margin-bottom: 0;
}
.planstep h3 strong {
    font-size: 45px;
    font-weight: normal;
    padding-left: 0.2rem;
}
.planstep h3 small {
    font-size: 23px;
    font-family:
    MyYuGothicM, /* Windows調整用 */
	YuGothic,    /* Mac用 */
	sans-serif;
    font-weight: 700;
    padding-left: 2rem;
}
.planstep p {
    line-height: 1.4;
    margin-left: 1rem;
    margin-top: -0.9rem;
}
.planstep table {
    text-align: center;
    margin: 1rem 0 0;
}
.planstep table td {
    padding: 0 0.5rem 0 1rem;
}
.planstep table th {
    padding: 0 2rem 0 0.5rem;
}
.planstep table th h2 {
    color: #50157e;
    font-size: 60px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.planstep table th h2::before {
    content: '';
    background: url("../../../images/tel-icon.png") no-repeat;
    width: 47px;
    height: 47px;
    background-size: contain;
    display: inline-block;
    margin-right: 15px;
}
.woman05 {
    position: absolute;
    top: -1rem;
    right: 2rem;
}
.woman05 img {
    max-height: 218px;
}
.planstep dl {
    margin-top: 1.37rem;
}
.planstep dl dt {
    display: block;
    background: #50157e;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 0.3rem 1rem;
}
.planstep dl dd {
    background: #fff;
    border: 1px solid #50157e;
    padding: 2rem;
}
.planstep h4 {
    display: inline-flex;
    border: 1px solid #64bf97;
    border-radius: 0.3rem;
    font-size: 15px;
    line-height: 2.5;
    margin: 1rem auto 1.5rem;
    cursor: pointer;
    width: 355px;
}
.planstep h4 span {
    color: #169d5c;
    background: #fff;
    width: 280px;
    border-radius: 0.3rem;
    text-align: center;
}
.planstep h4 small {
    background: #64bf97;
    font-size: 15px;
    color: #fff;
    padding: 0;
    width: 75px
}
.planstep h4 span:hover {
    color: rgba(100,191,151,0.8);
}
.planstep h4 small:hover {
    background: rgba(100,191,151,0.8);
}
.planstep h4 small::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-weight: 900;
    padding-right: 0.5rem;
}
.planmore {
    text-align: center;
}
.morecontents {
    padding-top: 1rem;
    text-align: left;
}
.moreincludecontent {
    background: #faf7f4;
    border: 1px solid #34a4bc;
    border-radius: 0 0 0.4rem 0.4rem;
    padding: 3rem 1rem 2.5rem;
    margin: 0 auto 2rem;
}
.moreincludecontent ul {
    padding-left: 0;
    list-style: none;
    text-align: center;
    margin-bottom: 2rem
}
.moreincludecontent ul li {
    display: inline-block;
    margin: 0 0.85rem;
}
.moreincludecontent ul li p {
    margin-top: 0.5rem;
    font-weight: 700;
}
.moreincludecontent ul li img {
    max-height: 110px;
}
.moreincludecontent dt {
    background: #34a4bc;
    padding: 0.2rem 0.5rem 0.1rem;
    color: #fff;
    font-size: 15px;
}
.moreincludecontent dd {
    background: #fff;
    padding: 1rem 0.5rem;
    border-left: 2px dotted #34a4bc;
    border-right: 2px dotted #34a4bc;
    border-bottom: 2px dotted #34a4bc;
}
.moreincludecontent dd h3 {
    font-size: 15px;
    font-weight: 700;
    padding: 0 0.8rem 0.5rem;
    border-bottom: 2px dotted #34a4bc;
}
.moreincludecontent dd h3 small {
    font-size: 13px;
    font-weight: 400;
}
.moreincludecontent dd p {
    padding: 0 0.8rem;
    margin-bottom: 0;
}
@media (max-width: 575.98px) {
    .moreincludecontent {
        padding: 3rem 1rem 2.5rem;
    }
}
.planstep ul {
    padding-left: 0;
    list-style: none;
    margin: 0 1rem 1rem 1.5rem !important;
}
.planstep ul li {
    font-size: 15px !important;
    margin: 0.8rem 0;
}
.planstep ul li::before {
    content: '';
    background: url("../../../images/flow-icon.png") no-repeat;
    width: 22px;
    height: 24px;
    background-size: contain;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: top;
}
.p02 {
    background: #50157e;
    padding: 0.3rem 2rem;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    margin: 1rem 1.5rem 0.5rem !important;
}
.p03 {
    font-size: 15px;
    margin: 1.5rem !important;
}
.h13 {
    background: #fff;
    text-align: center;
    border: 1px solid #50157e;
    border-radius: 1.5rem;
    color: #c40b32;
    font-size: 20px;
    font-weight: 700;
    padding: 1.6rem 1rem;
    margin-bottom: 3rem
}
.h14 {
    font-size: 20px;
    font-weight: 700;
    color: #50157e;
}
.planmoreall span {
    display: block;
    text-align: center;
    background: #34a4bc;
    padding: 0.3rem;
    font-size: 20px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #fff;
    cursor: pointer;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .planstep p {
        margin-left: 0rem;
    }
    .planstep table td {
        padding: 0 0.5rem 0 0;
    }
    .planstep table th {
        padding: 0 0 0 0.5rem;
    }
    .planstep table th h2 {
        font-size: 52px;
    }
    .planstep table th h2::before {
        width: 42px;
        height: 42px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .planstep p {
        margin-left: 0rem;
    }
    .planstep table td {
        padding: 0 0.5rem 0 0;
    }
    .planstep table th {
        padding: 0 0 0 0.5rem;
    }
    .planstep table th h2 {
        font-size: 60px;
    }
    .planstep table th h2::before {
        width: 47px;
        height: 47px;
        margin-right: 10px;
    }
    .woman05 {
        display: none;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .planstep h3 {
        font-size: 28px;
    }
    .planstep h3 strong {
        font-size: 42px;
    }
    .planstep h3 small {
        font-size: 21px;
        padding-left: 1rem;
    }
    .planstep p {
        margin-left: 0rem;
    }
    .planstep table {
        width: 100%;
    }
    .planstep table td {
        display: none;
    }
    .planstep table th {
        padding: 0 0 0 0.5rem;
    }
    .planstep table th h2 {
        font-size: 42px;
    }
    .planstep table th h2::before {
        width: 32px;
        height: 32px;
        margin-right: 15px;
    }
    .woman05 {
        display: none;
    }
    .planstep h4 {
        font-size: 13px;
        width: 320px;
    }
    .planstep h4 span {
        width: 250px
    }
    .planstep h4 small {
        font-size: 13px;
        width: 70px;
    }
}
@media (max-width: 575.98px) {
    .planstepblock01,
    .planstepblock02 {
        padding: 1.3rem 0.3rem;
    }
    .planstepblock01 h6,
    .planstepblock02 h6 {
        font-size: 18px;
        margin-bottom: 2.5rem;
    }
    .planstep {
        padding: 0 0.3rem 1.2rem;
    }
    .planstep h3 {
        position: relative;
        top: -1.35rem;
        font-size: 18px;
    }
    .planstep h3 strong {
        font-size: 28px;
    }
    .planstep h3 small {
        font-size: 16px;
        padding-left: 1rem;
    }
    .planstep p {
        font-size: 13px;
        margin-left: 0rem;
    }
    .urgentstep table {
        width: 100%;
    }
    .planstep table td {
        display: none;
    }
    .planstep table th {
        padding: 0 0 0 0.5rem;
    }
    .planstep table th h2 {
        font-size: 28px;
    }
    .planstep table th h2::before {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    .woman05 {
        display: none;
    }
    .planstep h4 {
        font-size: 11px;
        width: 250px;
    }
    .planstep h4 span {
        width: 190px
    }
    .planstep h4 small {
        font-size: 11px;
        width: 60px;
    }
}
.s_searchblock {
    background: #c9f4fd;
    padding: 0.5rem;
    border-radius: 0.5rem;
}
.s_searchblock select.form-control {
    border: 2px solid #068eab;
}
.s_searchblock .btn-info {
    background: -moz-linear-gradient(top, #20a7c4, #078fac);
    background: -webkit-linear-gradient(top, #20a7c4, #078fac);
    background: linear-gradient(to bottom, #20a7c4, #078fac);
}
@media (max-width: 767.98px) {
    .areablock {
        background: #fff;
        padding: 1.5rem 0.5rem;
    }
}
.form-control-plaintext {
    font-size: 14px;
    width: 20rem;
}
.nav-link2 {
    color: #69abe8 !important;
}
.nav-link2:hover {
    color: #50157e !important;
}
.nav-pills .nav-link2.active,
.nav-pills .show > .nav-link2 {
    color: #fff !important;
    background-color: #69abe8 !important;
    text-align: center;
}
.reduceblock {
    background: #fcedde;
    position: relative;
    margin: auto;
}
@media (min-width: 992px) {
    .reduceblock {
        width: 924px;
    }
}
.reduce-mark {
    position: relative;
    top: -75px;
    margin: 7rem auto 0;
    text-align: center;
}
.reduce-mark img {
    max-height: 150px;
}
.r01 {
    font-size: 30px;
    font-weight: 700;
    color: #c40b32;
    margin: -2rem auto 0;
    text-align: center;
}
.r02 {
    background: #c40b32;
    padding: 0.9rem;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    display: block;
    margin: 1rem 6rem;
    text-align: center;
    border-radius: 0.5rem
}
.table-reduce01 {
    margin: 0 6rem 1rem;
    text-align: center;
}
.table-reduce01 td {
    padding: 1rem;
    vertical-align: middle;
}
.table-reduce01 td p {
    font-size: 23px;
    font-weight: 700;
    color: #c40b32;
    margin-bottom: 0;
    line-height: 1.2;
}
.table-reduce01 td h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 75px;
    color: #c40b32;
}
.table-reduce01 td h2 span {
    font-size: 40px;
}
.table-reduce01 td h3 {
    background: #c40b32;
    font-size: 37px;
    font-weight: 700;
    color: #fff;
    padding: 1.2rem;
    line-height: 1.2;
}
.reducecontent01 {
    background: #fff;
    margin: 3rem 2rem 1rem;
    position: relative;
    padding: 2rem 3rem 0.5rem;
}
.reducecontent01 h2 {
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 23px;
    font-weight: 700;
    color: #50157e;
}
.reducecontent01 h3 {
    display: table-cell;
    vertical-align: middle;
    width: 142px;
    height: 142px;
    border-radius: 50%;
    border: 2px solid #50157e;
    font-size: 15px;
    color: #50157e;
}
.reducecontent01 h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 1.5rem;
}
.reducecontent01 h4 span {
    background: #f0e7f7;
    padding: 2rem 1.5rem 1rem;
    font-size: 30px;
    font-weight: 700;
    color: #50157e;
}
.reducecontent01 h4 span strong {
    font-size: 50px;
}
.reduceblock .remarks01 {
    margin: 2rem 3rem;
    list-style: none;
}
.reduceblock .remarks01 li {
    text-indent: -1em;
    padding-left: 1em;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .r02 {
        margin: 1rem 1rem;
    }
    .table-reduce01 {
        margin: 0 1rem 1rem;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .r02 {
        margin: 1rem 0;
    }
    .table-reduce01 {
        margin: 0 0 1rem;
    }
    .table-reduce01 td {
        padding: 1rem;
    }
    .table-reduce01 td p {
        font-size: 18px;
        line-height: 1.2;
    }
    .table-reduce01 td h2 {
        font-size: 48px;
    }
    .table-reduce01 td h2 span {
        font-size: 24px;
    }
    .table-reduce01 td h3 {
        font-size: 31px;
        padding: 0.8rem 1.2rem;
        line-height: 1.2;
    }
    .reducecontent01 {
        margin: 3rem 1rem 1rem;
        padding: 2rem 1rem 0.5rem;
    }
    .reducecontent01 h3 {
        width: 142px;
        height: 142px;
        font-size: 15px;
    }
    .reducecontent01 h4 {
        font-size: 14px;
        margin-bottom: 1.5rem;
    }
    .reducecontent01 h4 span {
        padding: 1.5rem 0.5rem 1rem;
        font-size: 18px;
    }
    .reducecontent01 h4 span strong {
        font-size: 24px;
    }
    .reduceblock .remarks01 {
        margin: 2rem 1rem 2rem 0;
    }
}
@media (max-width: 575.98px) {
    .reduce-mark {
        top: -38px;
        margin: 4rem auto 0;
    }
    .reduce-mark img {
        max-height: 75px;
    }
    .r01 {
        font-size: 18px;
        margin: -1rem auto 0;
    }
    .r02 {
        margin: 1rem 0;
    }
    .table-reduce01 {
        margin: 0 0 1rem;
    }
    .table-reduce01 td {
        padding: 0.5rem;
    }
    .table-reduce01 td p {
        font-size: 13px;
        line-height: 1.2;
    }
    .table-reduce01 td h2 {
        font-size: 24px;
    }
    .table-reduce01 td h2 span {
        font-size: 14px;
    }
    .table-reduce01 td h3 {
        font-size: 16px;
        padding: 0.5rem 0.5rem;
        line-height: 1.2;
    }
    .reducecontent01 {
        margin: 3rem 0rem 1rem;
        padding: 1rem 1rem 0.5rem;
    }
     .reducecontent01 h2 {
         font-size: 16px;
    }
    .reducecontent01 h3 {
        display: inline-block;
        width: 142px;
        height: 142px;
        font-size: 15px;
        padding-top: 2.5rem;
        margin-bottom: 2rem;
    }
    .reducecontent01 h4 {
        font-size: 14px;
        margin-bottom: 1.5rem;
    }
    .reducecontent01 h4 span {
        padding: 1rem 0.5rem 0.5rem;
        font-size: 14px;
    }
    .reducecontent01 h4 span strong {
        font-size: 18px;
    }
    .reducecontent01 p {
        font-size: 13px;
    }
    .reduceblock .remarks01 {
        margin: 2rem 0 2rem 0;
        padding-left: 0;
    }
    .reduceblock .remarks01 li {
        font-size: 13px;
    }
}
.img-remark {
    max-height: 119px !important;
}
.r03 {
    position: relative;
    background: url("../../../images/triangle.png") no-repeat;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    width: 156px;
    height: 110px;
    padding: 0.5rem 0.8rem;
    letter-spacing: -1px;
}
.r04 {
    position: absolute;
    top: 3rem;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 35px;
    font-weight: 700;
    color: #50157e;
}
.r04::before {
    content: '';
    background: url("../../../images/reduce-mark.png") no-repeat;
    background-size: contain;
    display: inline-block;
    width: 156px;
    height: 93px;
    vertical-align: middle;
    margin-right: 1rem;
}
.table-reduce02 {
    border-bottom: 2px solid #c40b32;
    border-top: 2px solid #c40b32;
    text-align: center;
    margin: auto;
}
@media (min-width: 768px) {
    .table-reduce02 {
        width: 82%;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .table-reduce02 {
        width: 92%;
    }
}
.table-reduce02 td {
    padding: 1.5rem 0.5rem 1rem 2rem;
    background: #fff;
}
.table-reduce02 .reduce-order01 {
    padding: 2.5rem 1.7rem 2rem 3rem;
}
.table-reduce02 p {
    font-size: 20px;
    font-weight: 700;
    color: #50157e;
    margin-top: 0.5rem;
}
.btn-reduce01 {
    font-size: 22px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-weight: normal;
    background: #34a4bc;
    display: inline-block;
    padding: 0.3rem 2rem;
    color: #fff;
    text-align: center;
    border-radius: 1.5rem;
}
.btn-reduce01:hover {
    background: rgba(52,164,188,0.7);
    color: #fff;
}
.btn-reduce01::before {
    content: '»';
    margin-right: 0.3rem;
}
.table-reduce02 th {
    padding: 1.5rem 2rem 1rem 0.5rem;
    background: #fff;
    color: #50157e;
}
.table-reduce02 th h2 {
    color: #50157e;
    font-size: 60px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.table-reduce02 th h2::before {
    content: '';
    background: url("../../../images/tel-icon.png") no-repeat;
    width: 47px;
    height: 47px;
    background-size: contain;
    display: inline-block;
    margin-right: 15px;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .r04 {
        font-size: 28px;
    }
    .r04::before {
        width: 126px;
        height: 63px;
        margin-right: 0.5rem;
    }
    .table-reduce02 th {
        font-size: 12px;
    }
    .table-reduce02 th h2 {
        font-size: 48px;
    }
    .table-reduce02 th h2::before {
        width: 36px;
        height: 36px;
    }
    .table-reduce02 p {
        font-size: 16px;
    }
    .btn-reduce01 {
        font-size: 16px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .r04 {
        font-size: 21px;
    }
    .r04::before {
        width: 106px;
        height: 43px;
        margin-right: 0.5rem;
    }
    .table-reduce02 {
        margin: 1rem !important;
    }
    .table-reduce02 td {
        padding: 1rem 0.5rem;
    }
    .table-reduce02 th {
        font-size: 12px;
        padding: 1rem 0.5rem;
    }
    .table-reduce02 .reduce-order01 {
        padding: 2.5rem 1rem 2rem 1rem;
    }
    .table-reduce02 th h2 {
        font-size: 35px;
        letter-spacing: 1px;
    }
    .table-reduce02 th h2::before {
        width: 24px;
        height: 24px;
        margin-right: 10px;
    }
    .table-reduce02 p {
        font-size: 16px;
        margin-top: 0;
    }
}
@media (max-width: 575.98px) {
    .r03 {
        font-size: 16px;
        width: 106px;
        height: 60px;
        background-size: contain;
        display: inline-block;
        padding: 0.5rem 0.3rem;
    }
    .r04 {
        position: static;
        font-size: 16px;
    }
    .r04::before {
        width: 76px;
        height: 33px;
        margin-right: 0;
    }
    .table-reduce02 {
        margin: 0 0 1rem;
        width: 100%
    }
    .table-reduce02 td {
        display: none;
    }
    .table-reduce02 th {
        padding: 1rem 0.5rem;
    }
    .table-reduce02 .reduce-order01 {
        padding: 2.5rem 1rem 2rem 1rem;
    }
    .table-reduce02 th h2 {
        font-size: 28px;
        letter-spacing: 1px;
    }
    .table-reduce02 th h2::before {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    .table-reduce02 p {
        font-size: 16px;
        margin-top: 0;
    }
    .btn-reduce01 {
        font-size: 16px;
    }
}
.priceblock .reduceul01 {
    padding-left: 0;
    list-style: none;
    margin-bottom: 2rem;
}
.priceblock .reduceul01 li {
    border-bottom: 2px dotted #34a4bc;
    padding: 1.5rem 2rem;
}
.priceblock .reduceul01 li:first-child {
    border-top: 2px dotted #34a4bc;
}
.priceblock .reduceul01 li h3 {
    font-size: 18px;
    color: #50157e;
}
.r05 {
    font-size: 30px;
    font-weight: 700;
    color: #c40b32;
    margin: auto;
    text-align: center;
}
.reducestepblock {
    display: block;
    padding: 0 1.5rem 1.5rem;
    text-align: center;
    position: relative;
    margin: 4rem auto 2rem;
    background: #fcedde;
    border-radius: 1rem;
    max-width: 283px;
}
.reducestepblock .planpoint-t {
    position: relative;
    top: -35px;
    left: 0;
    right: 0;
    margin: 0 auto -1rem;
}
.reducestepblock .planpoint-t h5 {
    font-size: 30px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    color: #50157e;
    padding: 0 0.5rem;
    display: inline-block;
}
.reducestepblock .planpoint-t h5 span {
    font-size: 45px;
    margin-left: 0.2rem;
}
.reducestepblock img {
    
    max-height: 135px;
}
.reducestepblock h4 {
    font-size: 23px;
    font-weight: 700;
    color: #50157e;
    margin-top: 1rem;
}
.reducestepblock p {
    line-height: 1.3;
    font-size: 14px;
}
.table-reduce03 {
    text-align: center;
    margin: auto;
    width: 100%
}
.table-reduce03 td {
    padding: 1.5rem 0.5rem 1rem 2rem;
    background: #fff;
}
.table-reduce03 p {
    font-size: 20px;
    font-weight: 700;
    color: #50157e;
    margin-top: 0.5rem;
}
.table-reduce03 th {
    padding: 1.5rem 2rem 1rem 0.5rem;
    background: #fff;
    color: #50157e;
}
.table-reduce03 th h2 {
    color: #50157e;
    font-size: 60px;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    letter-spacing: 1px;
}
.table-reduce03 th h2::before {
    content: '';
    background: url("../../../images/tel-icon.png") no-repeat;
    width: 47px;
    height: 47px;
    background-size: contain;
    display: inline-block;
    margin-right: 15px;
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .table-reduce03 th {
        font-size: 12px;
    }
    .table-reduce03 th h2 {
        font-size: 48px;
    }
    .table-reduce03 th h2::before {
        width: 36px;
        height: 36px;
    }
    .table-reduce03 p {
        font-size: 16px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .table-reduce03 {
        margin: 1rem !important;
    }
    .table-reduce03 td {
        padding: 1rem 0.5rem;
    }
    .table-reduce03 th {
        font-size: 12px;
        padding: 1rem 0.5rem;
    }
    .table-reduce03 th h2 {
        font-size: 35px;
        letter-spacing: 1px;
    }
    .table-reduce03 th h2::before {
        width: 24px;
        height: 24px;
        margin-right: 10px;
    }
    .table-reduce03 p {
        font-size: 13px;
        margin-top: 0;
    }
}
@media (max-width: 575.98px) {
    .table-reduce03 {
        margin: 0 0 1rem;
    }
    .table-reduce03 td {
        display: none;
    }
    .table-reduce03 th {
        padding: 1rem 0.5rem;
    }
    .table-reduce03 th h2 {
        font-size: 28px;
        letter-spacing: 1px;
    }
    .table-reduce03 th h2::before {
        width: 18px;
        height: 18px;
        margin-right: 10px;
    }
    .table-reduce03 p {
        font-size: 16px;
        margin-top: 0;
    }
}
.notesblock {
    background: #e7f0f2;
    border: 1px solid #c40b32;
    border-radius: 1rem;
    padding: 2.5rem 1.8rem 1rem;
    margin: 4rem auto;
}
@media (min-width: 1200px) {
    .notesblock {
        max-width: 925px;
    }
}
.notesblock h4 {
    background: #c40b32;
    font-size: 18px;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    display: inline-block;
    padding: 0.5rem 2.5rem;
    color: #fff;
}
.notesblock dl {
    background: #fff;
    padding: 1.8rem;
    height: 254px;
    overflow: auto;
    margin-top: 1rem;
}
.notesblock dl dd {
    padding: 0.8rem 0.3rem;
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
}
.table-soushiki th {
    width: 30%;
}
.table-soushiki td {
    vertical-align: middle;
}
.satisfy-mark {
    background: #50157e;
    height: 150px;
    width: 150px;
    border-radius: 50%;
    display: table;
    margin: 1rem auto;
}
.satisfy-mark h5 {
    font-size: 23px;
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    line-height: 1.8;
}
.satisfy-icon {
    list-style: none;
    padding-left: 0;
    text-align: center;
}
.satisfy-icon li {
    display: inline-block;
    border: 1px solid #50157e;
    text-align: center;
    color: #50157e;
    padding: 0.5rem 1rem;
    font-size: 13px;
    margin: 0.5rem 0;
}
.satisfy-icon li.disable {
    border: 1px solid #ddd;
    background: #ddd;
    color: #aaa;
}
.interviewblock {
    background: url("../../../images/interviewbg.png") center;
    padding: 2rem 0;
}
.interviewcontents {
    background: #f9f3fd;
    padding: 2rem 2rem 2.5rem;
    margin: 0 auto 3rem;
}
@media (min-width: 1200px) {
    .interviewcontents {
        max-width: 1000px;
    }
}
.refineblock {
    background: #fff;
    padding: 2rem 3rem 1.5rem;
    text-align: center;
    margin-bottom: 1.5rem;
}
.refineblock h4 {
    font-size: 23px;
    color: #50157e;
    margin-bottom: 1.5rem;
}
.btn-refine {
    display: block;
    color: #fff;
    padding: 0.5rem 0;
    font-size: 18px;
}
.btn-refine:hover {
    color: #fff;
}
.refine01 {
    background: #50157e;
}
.refine02 {
    background: #4e84c6;
}
.refine03 {
    background: #34a4bc;
}
.refine04 {
    background: #169d5c;
}
.refine05 {
    background: #ffd700;
}
.refine06 {
    background: #ffa500;
}
.refine01:hover {
    background: rgba(80,21,126,0.7);
}
.refine02:hover {
    background: rgba(78,132,198,0.7);
}
.refine03:hover {
    background: rgba(52,164,188,0.7);
}
.refine04:hover {
    background: rgba(22,157,92,0.7);
}
.refine05:hover {
    background: rgba(255,215,0,0.7);
}
.refine06:hover {
    background: rgba(255,165,0,0.7);
}
.interviewphoto {
    background: #fff !important;
    padding: 1.7rem;
    position: relative;
    margin-bottom: 3.5rem;
}
.interviewphoto img {
    margin-bottom: 0.5rem;
}
.interviewphoto h5 {
    border-bottom: 1px solid #50157e;
    text-align: left;
    padding-bottom: 0.5rem;
    font-size: 15px;
}
.interviewphoto p {
    text-align: left;
    font-size: 15px;
    margin-bottom: 0;
}
.interviewphoto p a {
    color: #000;
}
.interviewphoto p a:hover {
    color: #50157e;
}
.plan {
    position: absolute;
    bottom: -12.5px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    width: 184px;
    height: 25px;
    display: inline-block;
    border-radius: 12.5px;
    font-size: 16px;
    color: #fff;
}
.plan:hover {
    color: #fff;
}
.plan01 {
    background: #4e84c6;
}
.plan02 {
    background: #34a4bc;
}
.plan03 {
    background: #169d5c;
}
.plan04 {
    background: #ffd700;
}
.plan05 {
    background: #ffa500;
}
.plan01:hover {
    background: rgba(78,132,198,0.7);
}
.plan02:hover {
    background: rgba(52,164,188,0.7);
}
.plan03:hover {
    background: rgba(22,157,92,0.7);
}
.plan04:hover {
    background: rgba(255,215,0,0.7);
}
.plan05:hover {
    background: rgba(255,165,0,0.7);
}
.list-paging {
    padding-left: 0;
    list-style: none;
    text-align: center;
}
.list-paging li {
    margin: 0 0.3rem;
    display: inline-block;
}
.list-paging li a {
    background: #50157e;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    text-align: center;
    font-size: 23px;
    font-weight: 700;
    display: inline-block;
    color: #fff;
}
.list-paging li a:hover,
.list-paging li a.active {
    background: rgba(80,21,126,0.7);
}
.list-paging li a.nexttext {
    background: none;
    width: auto;
    height: auto;
    font-size: 15px;
    font-weight: 700;
    color: #50157e;
}
.list-paging li a.nexttext:hover {
    color: rgba(80,21,126,0.7);
}
.list-paging li a.nexttext.disable {
    color: #000;
    pointer-events: none;
}
.planname {
    text-align: center;
    display: inline-block;
    border-radius: 3px;
    font-size: 16px;
    color: #fff;
    padding: 0.8rem 1rem;
    margin-bottom: 1rem;
}
#map {
	margin: 2rem 0;
	height: 600px;
	width: 100%;
}
.mapcontent {
    width: 320px;
}
.mapcontent h3 {
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding: 0 0.5rem 0.3rem;
    margin-bottom: 0.5rem;
    font-size: 18px;
}
.mapcontent p {
    margin-bottom: 0.5rem;
}
.mapcontent a h3,
.mapcontent a p {
    color: #000;
}
.mapcontent img {
    max-height: 80px;
}
.mapcontent .mapmore {
    display: block;
    text-align: right;
    font-size: 12px;
}
.attr-icon02 {
    list-style: none;
    padding-left: 0;
}
.attr-icon02 li {
    display: inline-block;
    border: 1px solid #50157e;
    border-radius: 2px;
    text-align: center;
    color: #50157e;
}
.attr-icon02 li.disable {
    border: 1px solid #ddd;
    background: #ddd;
    color: #aaa;
}
.attr-icon02 li {
    padding: 0.08rem 0.1rem 0.05rem;
    font-size: 10px;
    margin: 0.1rem;
}
.gm-ui-hover-effect {
    position: relative;
}
.gm-ui-hover-effect img {
    display: none !important;
}
.gm-ui-hover-effect::before {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    font-family: "Font Awesome 5 Free";
    content: "\f057";
    display: inline-block;
    font-weight: 900;
    font-size: 24px;
    z-index: 99999999;
}
.sp-thumbnail-image {
    max-width: 180px
}
.table-light th,
.table-light td {
    vertical-align: middle;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #ddd;
}
@media (max-width: 767.98px) {
    .table-light th,
    .table-light td {
        font-size: 80%;
    }
    .table-light th h1 {
        font-size: 16px;
    }
    .table-light th h4 {
        font-size: 14px;
    }
}
.table-tran {
    width: 100%;
}
.table-tran th,
.table-tran td {
    font-size: 12px;
    text-align: left;
    vertical-align: middle !important;
    padding: 0.2rem 0;
}
.table-tran h5 {
    text-align: right !important;
    font-size: 14px;
    font-weight: 700;
}
.tr-tran {
    border-bottom: 1px solid rgba(0,0,0,0.3);
}
.card-footer p {
    margin-bottom: 0.5rem;
}
.card-footer h5 {
    font-weight: 700;
}
.card-footer h5 span {
    font-size: 13px;
}
.card-footer h5 span small {
    font-size: 11px;
}
.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db !important;
}
.list-indent {
    list-style: none;
    padding-left: 0;
}
.list-indent li {
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.5;
    font-size: 12px;
}
.list-indent li.font15 {
    line-height: 1.5;
    font-size: 15px;
}
@media (max-width: 575.98px) {
    .priceblock .table td,
    .priceblock .table th {
        font-size: 12px;
    }
}
@media (min-width: 992px) {
    .matcharea .card {
        display: table;
        width: 100%;
    }
    .matcharea .card-header {
        display: table-cell;
        vertical-align: middle;
    }
}
.beforeplan {
    border-radius: 5px;
    padding: 1.5rem 1rem 1rem;
}
.beforeplan h4 {
    font-size: 16px;
    font-weight: 700;
    color: #50157e;
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding-bottom: 0.3rem;
}
.beforeplan h3 {
    font-family :
	YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-size: 28px;
}
.beforeplan h2 {
    color: #d00;
    font-size:42px;
    font-weight: 700;
    margin-bottom: 0;
}
.beforeplan h2 span {
    font-size: 24px;
}
.beforeplan h2 small {
    font-size: 14px;
}
.beforeplan table {
    height: 125px;
    margin-bottom: 0;
}
.beforeplan table td,
.beforeplan table th {
    text-align: center;
    vertical-align: middle;
}
.beforeplan table td {
    background: #fff;
}
.beforeplan table th {
    background: #eee;
    line-height: 1.2;
}
.beforeplan01 {
    background: #f5f5f5;
}
.beforeplan02 {
    background: #fffafa;
}
.table-bordered th,
.table-bordered td {
    vertical-align: middle;
}
.img-urgent {
    max-height: 137px;
}
.box-plan01 {
    background: #f9f6ec;
    border: #f5e1c6 solid 3px;
    padding: 0.5rem 0.5rem;
}
.box-plan02 {
    background: #f6f9f2;
    border: #deead4 solid 3px;
    padding: 0.5rem 0.5rem;
}
.box-plan03 {
    background: #f9f4f8;
    border: #efe2e9 solid 3px;
    padding: 0.5rem 0.5rem;
}
.box-plan04 {
    background: #eff4fa;
    border: #ccdcf2 solid 3px;
    padding: 0.5rem 0.5rem;
}
.table-plan {
    float: right;
    font-size: 10px;
    color: #fff;
    text-align: center;
    margin: 0 auto 0.5rem;
}
.table-plan td {
    padding: 0.3rem 0.5rem;
}
.td-plan01 {
    background: #d38b29;
}
.td-plan02 {
    background: #2f9802;
}
.td-plan03 {
    background: #9e2161;
}
.td-plan04 {
    background: #013564;
}
.table-plan td.disabled {
    opacity: 0.3;
    color: rgba(255,255,255,0.6);
}
@media (max-width: 767.98px) {
    .table-plan {
        float: none;
    }
}
.btn-table {
    display: table;
}
.btn-plan {
    background: #f8f4e8;
    border: 3px solid #ccc;
    padding: 1rem;
    display: table-cell;
    vertical-align: middle;
}
.btn-plan:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.col-sm-6 > .planpointblock {
    max-width: 100%;
}
.table-confer th {
    width: 35%;
}
.infoblock p img {
    margin: auto;
    text-align: center;
    display: block;
    width: 100%;
	height: auto;
}
@media (min-width: 992px) {
    .infoblock p img {
        width: 80%;
    }
}
.infoblock table {
    width: 100%;
	margin-bottom: 1rem;
}
/*@media (min-width: 992px) and (max-width: 1199.98px) {
    .infoblock table {
        width: 80%;
    }
}
@media (min-width: 1200px) {
    .infoblock table {
        width: 80%;
    }
}*/
.infoblock table td {
    border: solid 1px #7b6b62;
    padding: 8px;
    font-size: 13px;
}
.urgent-t {
    font-size: 24px;
    color: #f00;
}
.urgent-t::before {
    content: url("../../../images/heading_point_balloon.png");
}


/*200626 黒澤追加*/
div#ez-toc-container {margin: 0 auto 16px;}
#ez-toc-container nav {
background-color: transparent !important;
}
#ez-toc-container nav ul li::before {display: none;}


