@charset "utf-8";

html{ height: 100%;}
body { margin: 0; padding: 0; font-size: 81.25%; font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em; color: #444; height: 100%; position: relative; letter-spacing: 0.1em;overflow-wrap: break-word;word-wrap: break-word;}
header,main,article,section,nav,footer { display: block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; font-size: 100%;}
input {font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em; color: #444; position: relative; letter-spacing: 0.1em;overflow-wrap: break-word;word-wrap: break-word;}
table {	border-collapse: collapse; border-spacing: 0;}
fieldset,img { border: 0;}
address,caption,cite,code,dfn,th,var { font-style: normal; font-weight: normal;}
em { font-style: normal; font-weight: 500;}
ol,ul { list-style: none;}
caption{ text-align: left;}
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal;}
q:before,q:after { content:'';}
abbr,acronym { border:0;}
/* ↑ここまでリセットcss */

/* フォーム入力欄 */
::-webkit-input-placeholder { color: #ccc;}
::-moz-placeholder { color: #ccc; opacity: 1;}
:-ms-input-placeholder { color: #ccc;}
input:focus::-webkit-input-placeholder { color:transparent;}
input:focus:-moz-placeholder { color:transparent;}
input:focus::-moz-placeholder { color:transparent;}

.cf:after {
    content: "";
    clear: both;
    display: block;
}
#content_wrap a { color:#065FBF; text-decoration: underline;}
#content_wrap a:visited { color: #9b2d98;}
#content_wrap a:hover { text-decoration: none;}
#content_wrap a.non[target="_blank"] {
    background: none;
    padding-left: 0;
}

#nojs {
    width: 940px;
    background: #fff;
    color: #f00;
    padding: 25px;
    border: 5px solid #F00;
    text-align: center;
    margin: 20px auto;
}
#header_wrap{
    position:relative;
    padding-top:28px;
    border-bottom:1px solid #ccc;
}
#header_area{
    max-width:1000px;
    margin:auto;
    padding:0 10px;
}
#header_area:after {
    content: "";
    clear: both;
    display: block;
}
#logo{
    float:left;
    padding:12px 0;
    display: flex;
    align-items: baseline;
    position: absolute;
    bottom: 0;
}
#logo a,#logo img{
    display:block;
    height:auto;
    max-width:100%;
    min-width: 87px;
}

#logo_baitoru {
    width: 130px;
}

#logo_tour {
    text-decoration: none;
    color: #000000;
    margin: 0 1em;
    font-size: 14px;
    font-family: 'Noto Sans JP';
    font-weight: bolder;
    letter-spacing: initial;
}

#toggle { display: none;}
.mbox {	display: none; z-index: 10000;}
.mbox_open { display: block;}

#menu{
    float:right;
}
#menu:after {
    content: "";
    clear: both;
    display: block;
}

.close_marker {
    display: none;
}

nav {
    font-size: 13px!important;
}

#header_link{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    background:#F44040;
}
#header_link_in{
    max-width:1000px;
    margin:auto;
    padding:3px 10px;
    overflow:hidden;
}
#header_link_in ul{
    float:right;
    overflow:hidden;
}
#header_link_in ul li{
    float:left;
    margin-left:20px;
    font-size:92.3%;
}
#header_link_in ul li a{
    display:block;
    color:#fff;
    text-decoration:none;
    padding-left:20px;
}
#header_link_in ul li:nth-child(1) a{background:url(../images/common/icon_search.svg) 0 center no-repeat;}
#header_link_in ul li:nth-child(2) a{background:url(../images/common/icon_about.svg) 0 center no-repeat;}
#header_link_in ul li a:hover{text-decoration:underline;}

#header_menu{
    overflow:hidden;
    position:relative;
}
#header_menu::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:52px;
    background:#ccc;
    margin-top:-26px;
}
#header_menu li{
    float:left;
    position:relative;
}
#header_menu li::before{
    content:'';
    position:absolute;
    right:0;
    top:50%;
    width:1px;
    height:52px;
    background:#ccc;
    margin-top:-26px;
}
#header_menu li a{
    display:block;
    color:#333;
    text-decoration:none;
    text-align:center;
    padding:5px;
    font-size:92.3%;
    transition:background 0.3s;
}
#header_menu li a span{
    display:block;
    border-radius:5px;
    line-height: 1.8;
    overflow:hidden;
    width:110px;
    box-sizing:border-box;
    padding:35px 8px 0;
    transition:background 0.3s;
}
#header_menu li:nth-child(1) a span{background:#fff url(../images/common/tour_list.png) center 5px no-repeat;background-size: 25px;}
#header_menu li:nth-child(2) a span{background:#fff url(../images/common/end_tour.png) center 8px no-repeat;background-size: 25px;}
#header_menu li:nth-child(3) a span{background:#fff url(../images/common/contact.png) center 8px no-repeat;background-size: 25px;}
#header_menu li:nth-child(1) a:hover span{background:#FDF3D4 url(../images/common/tour_list.png) center 5px no-repeat;background-size: 25px;}
#header_menu li:nth-child(2) a:hover span{background:#FDF3D4 url(../images/common/end_tour.png) center 8px no-repeat;background-size: 25px;}
#header_menu li:nth-child(3) a:hover span{background:#FDF3D4 url(../images/common/contact.png) center 8px no-repeat;background-size: 25px;}

#return{
    position:relative;
    text-align: center;
    display: flex;
    width: 100%;
    bottom: 0;
    z-index: 10;
}

#return a.btn_return {
    position:fixed;
    bottom:20px;
    right:20px;
    display:block;
    background:#F44040 url(../images/common/arrow_t_white.svg) center no-repeat;
    width:50px;
    height:50px;
    /*transition:background 0.3s;*/
}
#return a.btn_return:hover {background:#E30D0D url(../images/common/arrow_t_white.svg) center no-repeat;}
#return a.btn_return span {display:none;}


#footer_wrap{
    clear:both;
}
.footer_box{
    clear:both;
    overflow:hidden;
    max-width:1000px;
    margin:auto;
    padding:0 10px;
}

.footer_box ul li {
    line-height: 2;
}

#index_footer{
    background:#F44040;
    color:#fff;
    padding:20px;
    text-align: center;
}
#index_footer a{
    color:#fff;
    text-decoration:none;
}
#index_footer a:hover{text-decoration:underline;}
#index_footer h2{
    font-size:123.07%;
    line-height:1.5;
    margin:20px 0 10px;
    font-weight:bold;
}
#index_list ul{
    overflow:hidden;
}
#index_list ul li{
    font-size:92.3%;
    padding: 10px;
    width: 33%;
    display: inline-block;
    vertical-align: top;
}

#index_list ul li::before{
    content:'';
    display:block;
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:12px;
    background:#fff;
    margin-top:-6px;
}

@media print {
    body {
        width: 1200px;
        transform: scale(1);
        -moz-transform: scale(1);
        -webkit-transform: scale(1);
        transform-origin: 0 0;
        zoom: 0.91;
        margin: auto;
    }
    @media all and (-ms-high-contrast: none) { /* ハイコントラストモードが「オフ」の場合 */
        body { width:1200px;}
    }
    @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
        body { width:1200px;}
    }
    @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
        body {
            width: 1200px;
            transform: scale(0.8);
            -moz-transform: scale(0.8);
            -webkit-transform: scale(0.8);
            transform-origin: 0 0;
            margin: auto;
        }
    }
}

@media screen and (max-width: 768px) {
    #header_wrap {
        padding-top: 0;
    }
    #logo_baitoru {
        width: 20vw;
    }
    #logo_tour {
        font-size: calc(11px + ((1vw - 3.2px) * 0.875));
        margin-left: 0.5em;
    }

    #menu-box {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 30;
    }
    .sp_menu_back {
        background: rgba(0,0,0,0.5);
    }

    #box-close-area {
        position: fixed;
        top: 0;
        left: 0;
        width: 30%;
        height: 100%;
        pointer-events: auto;
    }

    #menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 70%;
        height: 100vh;
        transition: all 0.3s;
        pointer-events: auto;
    }

    .close_marker {
        display: block;
        float: right;
        padding: 5px;
        font-size: 17px;
    }

    #header_link {
        position: relative;
        background: #fff;
    }
    #header_link_in {
        padding: 0;
    }
    #header_link_in ul {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    #header_link ul li {
        margin: 10px 0;
        text-align: center;
    }
    #header_link ul li a {
        padding: 5px;
        color: #333;
    }
    #header_link ul li a span {
        display: block;
        border-radius: 5px;
        overflow: hidden;
        box-sizing: border-box;
        padding: 45px 0 0;
        transition: background-color 0.3s;
    }
    #header_link_in ul li:nth-child(1) a,
    #header_link_in ul li:nth-child(2) a {
        background: none;
    }

    #header_link_in ul li a:hover {
        text-decoration: none;
    }

    #header_link_in ul li:nth-child(1) a span{
        background:url(../images/common/icon_search.svg) center 0px no-repeat;
        background-size: 35px;
    }
    #header_link_in ul li:nth-child(2) a span{
        background:url(../images/common/icon_about.svg) center 0px no-repeat;
        background-size: 35px;
    }
    #header_link_in ul li:nth-child(1) a:hover span{
        background:#FDF3D4 url(../images/common/icon_search.svg) center 0px no-repeat;
        background-size: 35px;
    }
    #header_link_in ul li:nth-child(2) a:hover span{
        background:#FDF3D4 url(../images/common/icon_about.svg) center 0px no-repeat;
        background-size: 35px;
    }
    #header_menu {
        display: flex;
        flex-direction: column;
    }
    #header_menu li {
        margin: 10px 0;
    }
    #header_menu li a span {
        width: 100%;
    }
    #header_menu::before {
        background: #fff;
    }
    #header_menu li::before {
        background: #fff;
    }
    #menu-box i {
        font-size: 200%;
        color: #fff;
    }
    #index_list ul li {
        width: 100%;
    }

    header {
        position: relative;
    }
    #menu-box {
        overflow: auto;
        float: none;
        padding: 0;
        pointer-events: none;
    }
    #toggle {
        display: block;
        float: right;
        pointer-events: auto;
        margin-top: 12px;
        margin-bottom: 12px;
        width: 9%
    }

    #toggle a {
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-transition: all 0.3s;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }
    #toggle a img {
        width: 100%;
        height: auto;
        min-width: 35px;
    }

    #toggle a.open { background: #F44040;}
    #menu { display: block; clear: both; background: #fff;}
    .menu_dis {
        right: -100% !important;
        width: 0 !important;
    }
    .menu_mbox { display: block !important;}
}

/*20200622 CSS追加*/
@charset "UTF-8";
main * {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    outline: none;
    font-family: sans-serif;
}

a {
    color:#404040;
    text-decoration: none;
}

#wrap {
    overflow:hidden;
}

#contents {
    position: relative;
    width: 100%;
    z-index: 5;

}

.logo {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: baseline;
    padding: 20px 30px 15px 30px;
}

.logo p {margin-left: 30px;}

.top_Inquiry {
    margin: 20px 30px;
    opacity: 1;
    transition: all 0.3s;
}

.top_Inquiry:hover {
    opacity: 0.7;
}

.boshu_line {
    display: block;
    vertical-align: middle;
    width: 100%;
    background: #85C2BA;
    padding: 2em 0;
}

.boshu_line_end {
    display: block;
    vertical-align: middle;
    width: 100%;
    background: #999;
    padding: 2em 0;
}

.boshu_line p,
.boshu_line h1 {
    display: table;
    margin: 0 auto;
    font-size: 26.46px;
    letter-spacing: 2px;
    font-weight: bold;
    color: #fff;
}

.boshu_line p span {
    font-size: 22.68px;
    font-weight: normal;
}

.boshu_line_end p {
    display: table;
    margin: 0 auto;
    font-size: 26.46px;
    letter-spacing: 2px;
    font-weight: bold;
    color: #fff;
}

.boshu_line_end p span {
    font-size: 22.68px;
    font-weight: normal;
}

#header_pc {
    position: relative;
    width: 100%;
    height: 520px;
    z-index: 5;
    overflow: hidden;
}

#slick_container {
    width: 1920px;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    margin-left: -950px;
    z-index: 9;
}

.slider_hide .slick-slide:not(.slick-center) {
    -webkit-filter: opacity(50%);
    -moz-filter: opacity(50%);
    -o-filter: opacity(50%);
    -ms-filter: opacity(50%);
    filter: opacity(50%);
    transition: 0.3s linear;
}

.bosyu_top {
    position: absolute;
    top: 411px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 15;
}

#main_cont {
    clear: both;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}

#open_cont {
    padding: 0 30px;
}

.cont_box_area {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.cont_box {
    position: relative;
    width: 50%;
    padding: 0 30px;
    margin-bottom: 120px;
    text-align: center;
    opacity: 1;
    transition: all 0.3s;
}

.cont_box a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 477px;
    z-index: 20;
}

.cont_box:hover {
    opacity: 0.7;
}

.cont_title {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 1px;
    text-align: center;
    font-weight: bold;
}

.date_box {
    display: inline-block;
    margin-bottom: 10px;
    text-align: left;
}

.cont_date,.cont_closing,.cont_location,.cont_comment,.cont_starting,.cont_seminar,.cont_seminarlocation {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 0px;
}

.cont_closing span {
    font-size: 20px;
    font-weight: bold;
    color: #ef8100;
}

.cont_flag {
    width: 100%;
    margin-bottom: 8px;
    text-align: right;
}

.notice_cont_flag {
    width: 290px;
    margin-bottom: 8px;
    text-align: right;
}

.cont_banner {
    position: relative;
}

.cont_banner img {
    width: 100%;
}

.notice_cont_banner {
    position: relative;
    float: left;
}

.btn_indetail {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: auto;
    width: 152px;
    height: 38px;
    padding: 5px 5px 7px;
    color: #fff;
    border-radius: 6px;
    font-weight: 700;
    border: solid 1px #4ba82f;
    background: -webkit-linear-gradient(#66cf5a 0%, #48ae3a 100%);
    background: linear-gradient(#66cf5a 0%, #48ae3a 100%);
    -webkit-box-shadow: 0 -1px 0 #478d36 inset;
    box-shadow: 0 -1px 0 #478d36 inset;
    font-size: 115%;
    line-height: 26px;
}

.btn_indetail:after {
    position: absolute;
    width: 10px;
    height: 16px;
    top: 50%;
    right: 3px;
    margin-top: -7px;
    content: "";
    display: block;
    background: url(../images/common/bt_003a.png) 0 -25px no-repeat;
    -webki-background-size: 8px auto;
    background-size: 8px auto;
}

.dot {
    display: block;
    width: 11px;
    height: 47px;
    margin: 0 auto 20px;
}

.more_btn {
    display: block;
    width: 500px;
    margin: 0 auto;
    opacity: 1;
    transition: all 0.3s;
}


.more_btn:hover {
    opacity: 0.7;
}

.notice_cont {
    width: 100%;
    overflow: hidden;
}

.caution {
    margin-top: 10px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: underline;
    text-align: center;
    letter-spacing: 1px;

}
.caution_bottom {
    margin-top: 10px;
    font-size: 12px;
    text-align: center;
    letter-spacing: 1px;

}

.noticecont_box {
    width: 450px;
    height: 150px;
    margin: 40px 20px;
    float: left;
}

.notice_date_box {
    margin-left: 230px;
}

.closing_cont {
    padding: 100px 30px 100px;
    background: url(../images/common/back.png);
    background-repeat: repeat;
}

.btn_end_cont {
    width: 500px;
    height: 71px;
    margin: 80px auto;
    opacity: 1;
    transition: all 0.3s;
}

.enq_bnr_area {
    width: 500px;
    margin: 0px auto 0px auto;
    opacity: 1;
    transition: all 0.3s;
}

.enq_bnr_area2 {
    width: 500px;
    margin: 0px auto 0px auto;
    opacity: 1;
    transition: all 0.3s;
}


.btn_end_cont:hover {
    opacity: 0.7;
}

.enq_bnr_area:hover {
    opacity: 0.7;
}

.enq_bnr_area2:hover {
    opacity: 0.7;
}

.space_m50 {
    margin-top: 50px;
    clear: both;
}

.space_m80 {
    margin-top: 80px;
    clear: both;
}
.space_m100 {
    margin-top: 100px;
    clear: both;
}

#page-top {
    position: fixed;
    bottom: 40px;
    margin-left: 890px;
}
#page-top a {
    background: #5F5F5F;
    text-decoration: none;
    color: #fff;
    padding: 15px;
    text-align: center;
    display: block;
    border-radius: 100px;
    transition: all 0.2s;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}

#page-top a img {
    width: 50px;
}

@media screen and (max-width: 999px) {
    #main_cont {
        padding: 0;
    }

    #header_pc {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 5;
        overflow: hidden;
    }

    .bosyu_top {
        position: absolute;
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        z-index: 15;
    }

    #slick_container {
        width: 100%;
        margin: 0 auto;
        position: relative;
        left: 0;
        margin-left: 0px;
        z-index: 9;
    }

    #slick_container .slider img {
        width: 100%;
    }

    .slick-slider {
        margin-bottom: 0!important;
    }

    .slider_hide .slick-slide:not(.slick-center) {
        -webkit-filter: opacity(100%);
        -moz-filter: opacity(100%);
        -o-filter: opacity(100%);
        -ms-filter: opacity(100%);
        filter: opacity(100%);
        transition: 0;
    }

/*
    .slick-prev {
        left: 1vw!important;
    }

    .slick-next {
        right: 1vw!important;
    }
*/
	
}

@media screen and (max-width:768px) {

    .logo {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        padding: 2vw;
    }

    .logo img {
        width: 20vw;
    }

    .logo p {
        margin-left: 3vw;
        font-size: 3.0vw;
    }

    .top_Inquiry {
        margin: 2vw;
        opacity: 1;
        transition: all 0.3s;
    }

    .top_Inquiry img {
        width: 30vw;
    }


    .bosyu_top {
        width: 80%;
    }

    .boshu_line p,
    .boshu_line h1,
    .boshu_line_end p{
        font-size: calc(16px + ((1vw - 3.2px) * 1.584));
    }

    .boshu_line p span {
        font-size: calc(14px + ((1vw - 3.2px) * 1.315));
        display: block;
        text-align: center;
    }

    #main_cont {
        width: 100%;
    }

    #open_cont {
        padding: 0 0 8vw;
    }

    .cont_box_area {
        width: 100%;
        display: block;
        padding: 0;
        margin: 0;
    }

    .cont_box {
        width: 100%;
        position: relative;
        margin: 0 auto 10vw;
    }

    .cont_box a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 20;
    }

    .cont_flag {
        width: 100%;
        margin-bottom: 2vw;
        text-align: right;
    }

    .notice_cont_flag {
        margin-bottom: 2vw;
        margin-left: 170px;
        text-align: left;
    }

    .notice_cont_box_area {
        width: 100%;
        display: block;
        padding: 0;
        margin: 0;
    }

    .caution {
        font-size: calc(12px + ((1vw - 3.2px) * 1.212));
        margin: 20px 0;
        line-height: 25px;
    }

    .noticecont_box {
        width: 100%;
        position: relative;
        margin: 0 auto 5vw;
    }

    .notice_cont_banner img {
        width: 160px;
    }

    .notice_date_box {
        margin-left: 170px;
    }

    .btn_indetail {
        top: auto;
        left: 0;
        right: 0;
        bottom: -4.5vw;
        margin: auto;
    }

    .cont_banner img:nth-child(2) {
        width: 100%;
    }

    .sp_line {
        width: 110%;
        height: 1.5vw;
        margin: 20vw 0 15vw -5vw ;
        border: 1px solid #000;
    }

    .dot {
        display: block;
        width: 2vw;
        height: auto;
        margin: 0vw auto 4vw;
    }

    .more_btn {
        display: block;
        width: 90vw;
        margin: 0 auto;
        opacity: 1;
        transition: all 0.3s;
    }

    .more_btn img {
        width: 100%;
    }

    .closing_cont {
        padding: 25vw 0;
    }

    .btn_end_cont {
        width: 100%;
        height: auto;
        margin: 10vw auto 0;
        padding: 0 5px;
    }

    .enq_bnr_area  {
        width: 90vw;
        height: auto;
        margin: 20vw auto 10vw;
    }

    .enq_bnr_area2  {
        width: 90vw;
        height: auto;
        margin: 0px auto 0px auto;
    }

    .btn_end_cont img {
        width: 100%;
    }

    .enq_bnr_area img {
        width: 100%;
    }

    .enq_bnr_area2 img {
        width: 100%;
    }

    .space_m80 {
        margin-top: 8.16vw;
    }
    .space_m100 {
        margin-top: 10.20vw;  }

    #page-top {
        position: fixed;
        bottom: 40px;
        right: 10px;
        z-index: 50;
    }
    #page-top a {
        background: #5F5F5F;
        text-decoration: none;
        color: #fff;
        padding: 15px;
        text-align: center;
        display: block;
        border-radius: 100px;
        transition: all 0s;
    }
    #page-top a:hover {
        text-decoration: none;
        background: #5F5F5F;
    }

    #page-top a img {
        width: 50px;
    }

}


@media screen and (max-width: 320px) {
    .boshu_line p,
    .boshu_line h1 {
        font-size: 16px;
    }

    .caution {
        font-size: 12px;
    }
}


/**************************
よくあるご質問ページ
***************************/
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.cp_qa dt {
    position: relative;
    margin: 0 0 1.5em 0;
}
.cp_qa dd {
    position: relative;
    margin: 0 0 2em 0;
    padding: 0 0 1.5em 2em;
    border-bottom: 1px dotted #0097a7;
}
.cp_qa dt::before, .cp_qa dd::before {
    font-size: 1.2em;
    margin: 0 0.5em 0 0;
    color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    line-height: 1.2em;
}
.cp_qa dt::before {
    padding: 0.1em 0.3em;
    content: '\f128';
    background: #f57c00;
}
.cp_qa dd::before {
    padding: 0.12em 0.45em;
    content: '\f12a';
    background: #0097a7;
}
.cp_qa dt::after, .cp_qa dd::after {
    position: absolute;
    top: 0.5em;
    display: inline-block;
    width: 0;
    height: 0;
    content: '';
    border-width: 5px 0 5px 5px;
    border-style: solid;
}
.cp_qa dt::after {
    left: 1.5em;
    border-color: transparent transparent transparent #f57c00;
}
.cp_qa dd::after {
    left: 3.5em;
    border-color: transparent transparent transparent #0097a7;
}


.btn-flat-border {
    display: table;
    margin-left:auto;
    margin-right:auto;
    margin-top:30px;
    margin-bottom:20px;
    width: 250px;
    padding: 0.5em 1em;
    text-decoration: none;
    text-align:center;
    color: #67c5ff;
    border: solid 2px #67c5ff;
    border-radius: 3px;
    transition: .4s;
}

.btn-flat-border:hover {
    background: #67c5ff;
    color: white;
}


.mail-info {
    border: 10px solid #e8e8e8;
    padding: 20px 30px 30px;
    box-sizing: border-box;
    margin: 62px auto 30px;
    width:100%;
}

.mail-info h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.cp_qa td{
    border:solid 1px #aaaaaa;
    vertical-align:middle;
}