/* ## comm parts ## */

/* Marketoフォームデザイン調整用 */
.comm_mktoFormWrapper {
    text-align: center;
}
.mktoForm {
    display: inline-block!important;
    width: auto!important;
    font-size: 16px!important;
}
.mktoForm .mktoLabel { padding-bottom: 0.3em; }
.mktoForm div, .mktoForm span, .mktoForm label, .mktoForm p { line-height: 1.5; }
.mktoButtonRow { width: 100%; }
.mktoButtonWrap.mktoSimple { margin: auto!important; display: block; text-align: center; }
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
    background: #002C6A!important;
    border: none!important;
    border-radius: 4px!important;
    padding: 0.4em 2em!important;
}

/* 基本 */
img {
    max-width: 100%;
}

.comm_sub_cont {
    padding-top: 60px;
    padding-bottom: 60px;
}
.comm_sub_cont-gray {
    background: #f0f0f0;
}
.comm_sub_cont_nobottompadding {
    padding-bottom: 0;
}
@media screen and (min-width: 768px) {
    .comm_forSP { display: none!important; }
}
@media screen and (max-width: 767px) {
    .comm_forPC { display: none!important; }
}
@media screen and (min-width: 768px) {
    .comm_btn + .comm_btn {
        margin-left: 1em;
    }
    .comm_box_btns .comm_btn { margin: 0.5em 1em 0.5em 0; }
}
@media screen and (max-width: 767px) {
    .comm_btn + .comm_btn {
        margin-top: 1em;
    }
    .comm_box_btns .comm_btn { margin: 0.5em 1em 0.5em 0; }
}

.comm_lableForBtn {
    display: inline-block;
    padding: 0.75em 0;
}
.comm_underline {
    text-decoration: underline;
}
.comm_splitblock {
    display: inline-block;
}

/* btn追加 */
.btn_wrapinline {
    display: block;
    padding-top: 0.5em;
}

/* ## form関連 ## */
.comm_form_wrap { margin: 0 -15px; }
.comm_form_inputs { padding: 1em 0.5em; }
.comm_form_inputs-submit { text-align: center; }
.comm_form_col2 { display: flex; align-items: flex-start; }
.comm_form_col2 > .comm_form_inputs { width: 50%; }

.comm_form_inputs input[type="text"],
.comm_form_inputs input[type="password"],
.comm_form_inputs input[type="tel"],
.comm_form_inputs input[type="email"],
.comm_form_inputs textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: #ccc 1px solid;
    background: #ffffff;
    border-radius: 3px;
    padding: 0.5em;
    vertical-align: middle;
    line-height: 1.5;
    width: 100%;
}
.comm_form_inputs input[type="submit"] {
    -moz-appearance: none;
    appearance: none;
    color: #ffffff;
    background: #002C6A;
    border: none;
    border-radius: 3px;
    padding: 0.5em 3em;
    font-weight: bold;
    vertical-align: middle;
    line-height: 1.5;
    cursor: pointer;
	transition: opacity 300ms 0s ease;
    font-size: 14px;
}
.comm_form_inputs a.comm_form_back {
    display: inline-block;
    border: 1px solid #002C6A;
    border-radius: 3px;
    padding: 0.5em 3em;
    font-weight: bold;
    vertical-align: middle;
    line-height: 1.5;
    cursor: pointer;
	transition: opacity 300ms 0s ease;
    margin-right: 1em;
    font-size: 14px;
}
.comm_form_inputs input[type="submit"]:hover,
.comm_form_inputs a.comm_form_back:hover {
    opacity: 0.7!important;
}
.comm_form_inputs select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: #ccc 1px solid;
    background: #ffffff;
    border-radius: 3px;
    padding: 0.5em 2em 0.5em 0.5em;
    vertical-align: middle;
    line-height: 1.5;
}

.comm_form_inputs small.comm_form_req {
    background-color: #f2859d;
    font-size: 0.75em;
    padding: 0.2em 0.5em;
    color: #fff;
}

.comm_form_label {
    display: block;
    padding: 0.25em 0;
}
.comm_form_label small {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 0.9em;
    color: #999;
}
.comm_form_label small.comm_form_req {
    background-color: #f2859d;
    font-size: 0.75em;
    padding: 0.2em 0.5em;
    color: #fff;
}
.comm_form_choiceWrap { padding-right: 1em;}
.comm_form_inputs input[type="checkbox"],
.comm_form_inputs input[type="radio"] { display: none; }
.comm_form_inputs input[type="checkbox"] + span,
.comm_form_inputs input[type="radio"] + span {
    display: inline-block;
    padding-left: 1.5em;
    position: relative;
}
.comm_form_inputs input[type="checkbox"] + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #999;
    border-radius: 3px;
    background-color: #FFFFFF;
}
.comm_form_inputs input[type="checkbox"]:checked + span:after {
    content: "";
    display: block;
    position: absolute;
    top: 0.1em;
    left: 0.35em;
    width: 0.6em;
    height: 0.8em;
    transform: rotate(40deg);
    border-bottom: 3px solid #002C6A;
    border-right: 3px solid #002C6A;
}
.comm_form_inputs input[type="radio"] + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #999;
    border-radius: 50%;
    background-color: #FFFFFF;
}
.comm_form_inputs input[type="radio"]:checked + span:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #002C6A;
}

.comm_form_selectWrap {
    position: relative;
    display: inline-block;
}
.comm_form_selectWrap:after {
    content: "";
    display: block;
    position: absolute;
    top: 0.75em;
    right: 0.7em;
    width: 0.6em;
    height: 0.6em;
    transform: rotate(40deg);
    border-bottom: 3px solid #002C6A;
    border-right: 3px solid #002C6A;
    pointer-events: none;
}
.comm_form_inputnote {
    background: #eeeeee;
    margin-top: 0.25em;
    font-size: 0.85;
    padding: 0.75em 1em;
}
.comm_form_cf {
    margin-top: 1em;
    padding: 1.5em;
    background: #f3f3f3;
    border: 1px solid #eeeeee;
}
.comm_form_cf strong {
    display: block;
    margin-bottom: 0.75em;
    font-size: 1.15em;
    text-align: center;
}
.comm_form_cf table {
    margin: 1em 0;
}
.comm_form_cf table:last-child {
    margin-bottom: 0;
}
.comm_form_cf table th,
.comm_form_cf table td {
    padding: 0.5em;
    border: 1px solid #cccccc;
}


/* エラー用 */
.comm_formerrorlead {
    background-color: #f2859d;
    padding: 0.75em 1em;
    color: #fff;
    font-size: 0.85;
}
.comm_formerrornote {
    background-color: #f2859d;
    color: #fff;
    margin-top: 0.25em;
    font-size: 0.85;
    padding: 0.75em 1em;
}

/* 確認用 */
.comm_form_confbox {
    border: #eee 1px solid;
    background: #f0f0f0;
    color: #444;
    border-radius: 3px;
    padding: 0.5em;
    vertical-align: middle;
    line-height: 1.5;
    width: 100%;
}


/* ## youtubeblock ## */
.comm_youtube {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}
.comm_youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

/* ## comm_anctarget ## */
.comm_anctarget {
    margin-top: -1em!important;
    padding-top: 1em!important;
}

/* ## 段組み ## */
/* 基本 */
.comm_columnWrap {
    display: flex;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 1.5rem;
    align-items: flex-start;
    flex-wrap: wrap;
}
.comm_columnWrap-col {
    flex-direction: column;
}
.comm_columnWrap-isolated {
    margin-bottom: 3rem;
}
.comm_columnWrap-narrow {
    margin-left: -5px;
    margin-right: -5px;
}
.comm_columnWrap-stretch {
    align-items: stretch;
}
.comm_columnWrap-rev-l {
    flex-direction: row-reverse;
}
.comm_columnWrap-thumbList 
.comm_columnWrap:last-child {
    margin-bottom: 0;
}
.comm_columnWrap-multiline {
    flex-wrap: wrap;
    margin-bottom: 0;
}
.comm_columnWrap-center {
    justify-content: center;
}
.comm_col {
    flex: 1;
    padding: 0 20px;
    margin-bottom: 1.5em;
}
.comm_columnWrap-narrow .comm_col {
    padding: 0 5px;
}
.comm_columnWrap-multiline .comm_col {
    padding-bottom: 1.5rem;
}
.comm_columnWrap-thumbList.comm_columnWrap-multiline .comm_col {
    padding-bottom: 3rem;
}
.comm_col_x2 {
    flex: 2;
}
.comm_col_1-1 { flex: 0 1 auto; width: 100%; }
.comm_col_1-2 { flex: 0 1 auto; width: 50%; }
.comm_col_1-3 { flex: 0 1 auto; width: calc(100%/3); }
.comm_col_2-3 { flex: 0 1 auto; width: calc(2*100%/3); }
.comm_col_1-4 { flex: 0 1 auto; width: 25%; }
.comm_col_2-4 { flex: 0 1 auto; width: 50%; }
.comm_col_3-4 { flex: 0 1 auto; width: 75%; }
.comm_col_1-5 { flex: 0 1 auto; width: 20%; }
.comm_col_2-5 { flex: 0 1 auto; width: 40%; }
.comm_col_3-5 { flex: 0 1 auto; width: 60%; }
.comm_col_4-5 { flex: 0 1 auto; width: 80%; }

.comm_col img {
    max-width: 100%;
    margin: auto;
    display: block; 
}
.comm_imgCaption {
    display: block;
    padding-top: 0.75em;
}
.comm_imgCaption-center {
    text-align: center;
}

.comm_col img.comm_printthumb {
    border: 1px solid #e0e0e0;
}

.comm_witharrow .comm_col {
    position: relative;
}
.comm_witharrow .comm_col:first-child:after {
    content: "";
    width: 3em;
    height: 3em;
    border: 1.5em solid transparent;
    border-left: 1em #5279b0 solid;
    border-right-width: 2em;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -2.5em;
}


/* 特殊段組み：サブメニュー */
.comm_col_wsub_main {
    flex: 1;
    padding: 0 20px;
}
.comm_col_wsub_menu {
    width: 250px;
    max-width: 30%;
    padding: 0 20px;
}

/* サブメニュー */
.comm_submenu_links {
    display: block;
    border-bottom: 1px solid #ffffff;
}
.comm_submneu_children_links {
    display: block;
    border-bottom: 1px solid #cccccc;
}
.comm_submenu_links a {
    display: block;
    padding: 1em 1.5em;
}
.comm_submenu_links>a {
    background: #446492;
    font-weight: bold;
    color: #ffffff;
}
.comm_submneu_children_links>a {
    background: #eeeeee;
    padding-left: 2em;
}
.comm_submenu_links>a.comm_submenu-active {
    background: #002c69;
    pointer-events: none;
}
.comm_submneu_children_links>a.comm_submenu-active {
    background: #dddddd;
    pointer-events: none;
}

/* ## comm_featicon ## */
.comm_featiconbox {
    display: flex;
}
.comm_featicon_pct {
    width: 25%;
    max-width: 120px;
    text-align: center;
}
.comm_featicon_pct-l {
    width: 35%;
}
.comm_featicon_pct img { max-width: 100%; }
.comm_featicon_txt  {
    flex: 1;
    padding-left: 20px;
}
.comm_featicon_txt strong {
    display: block;
    font-size: 1.25rem;
}
.comm_featicon_txt_strong {
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.75rem!important;
}

.comm_featiconbox-center {
    align-items:center;
}
.comm_featiconbox-bule {
    background: #002c6a;
    color: #ffffff;
}
.comm_featiconbox-bule .comm_featicon_txt {
    padding-right: 1em;
}
.comm_featiconbox-bulewhite { color: inherit; }
.comm_featiconbox-bulewhite .comm_featicon_pct { background: #002c6a; }
.comm_featiconbox-bulelightgray { color: inherit; background: #f0f0f0; }
.comm_featiconbox-bulelightgray .comm_featicon_pct { background: #002c6a; }
.comm_featiconbox-bulelightgray .comm_featicon_txt { padding-right: 0.5em; }

/* ## cf ## */
.comm_cfblock {
    display: flex;
    max-width: 900px;
    margin: auto;
    background: #eeeeee;
    padding: 1em;
}
.comm_cfblock + .comm_cfblock { margin-top: 0.75em; }
.comm_cfblock_img {
    padding: 0.5em 1em;
    width: calc(100%/3);
}
.comm_cfblock_txt {
    padding: 0.5em 1em;
    width: calc(2*100%/3);
}
.comm_cfblock_txt-full {
    padding: 1.5em 2em;
    width: 100%;
    height: 100%;
    display: block;
}

/* ## フロートサブメニュー ## */
#comm_sub_floatingSubMenus{
	background-color: #444444;
	text-align: center;
	width: 100%;
	z-index: 999;
}
#comm_sub_floatingSubMenus.btns_fixed{
	position: fixed;
	top: 0px;
	left: 0px;
}
#comm_sub_floatingSubMenus .comm_sub_tab{
	display: flex;
	justify-content: center;
	z-index: 200;
}
#comm_sub_floatingSubMenus .comm_sub_tab li{
}
#comm_sub_floatingSubMenus .comm_sub_tab li a,
#comm_sub_floatingSubMenus .comm_sub_tab li span{
	color: #FFFFFF;
	padding: 1.2em 2em;
	display: block;
	position: relative;
	margin-bottom: 0px;
	cursor: pointer;
}
#comm_sub_floatingSubMenus .comm_sub_tab li.active_tab a:after,
#comm_sub_floatingSubMenus .comm_sub_tab li.active_tab span:after{
	content: "";
	width: 2em;
	height: 2px;
	background-color: #92c3fe;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.2em;
	position: absolute;
	left: 0px;
	right: 0px;
}
#comm_sub_floatingSubMenus.tabs_fixed {
    position: fixed;
    left: 0;
    top: 0;
}

#comm_sub_floatingSubMenus .comm_sub_select_box{
	display: none;
}

/* ## footerサブメニュー ## */
.comm_footer_subMenu {
    border-top: 1px solid #cccccc;
    margin-top: 3rem;
    padding-top: 1rem;
}
.comm_footer_subMenubox {
    display: flex;
}
.comm_footer_subMenubox a {
    display: inline-block;
    position: relative;
    line-height: 2.6em;
    margin: 0.2em 0;
}
.comm_footer_subMenubox dt a {
    background: #eeeeee;
    padding: 0 2em 0 1.5em;
    border-radius: 4px;
    white-space: nowrap;
}
.comm_footer_subMenubox dt a:after {
    content: "";
    width: 0.8em;
    height: 0.8em;
    display: inline-block;
    background-image: url(/_solo_assets_CCC/img/com_arr_blue.svg);
    background-repeat: no-repeat;
    position: absolute;
    right: 1em;
    top: 0px;
    margin: auto;
    bottom: 0px;
    background-size: auto 100%;
    background-position: center center;
}
.comm_footer_subMenubox dd {
    padding-left: 1.5rem;
}
.comm_footer_subMenubox dd a {
    border-left: 1px solid #eeeeee;
    padding-left: 1.5rem;
    margin-right: 1.5rem;
}

/* ## infoboxセット ## */
.comm_infobox {
    line-height: 1.7;
}
.comm_infobox_name {
    font-size: 1.3rem;
    font-weight: bold;
}
.comm_infobox_tel,
.comm_infobox_mail,
.comm_infobox_fax {
    display: inline-block;
    position: relative;
    padding-left: 4.5em;
    margin-top: 0.25em;
    padding-right: 1em;
}
.comm_infobox_tel:before,
.comm_infobox_mail:before,
.comm_infobox_fax:before {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 1.7rem;
    width: 4em;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
    background: #9cadc8;
}
.comm_infobox_tel:before { content: "TEL"; }
.comm_infobox_mail:before { content: "MAIL"; }
.comm_infobox_fax:before { content: "FAX"; }

/* ## imagebox ## */
.comm_imagebox {
    display: block;
    width: 100%;
    height: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.comm_imagebox-46 {
    padding-top: 46%;
}
.comm_imagebox-56_25 {
    padding-top: 56.25%;
}
.comm_cptbox {
    padding: 1em 0;
}
.comm_cptbox strong {
    font-size: 1.25rem;
    display: block;
    color: #000000;
}
.comm_cptbox strong small {
    font-size: 65%;
    font-weight: bold;
    letter-spacing: 0;
}
.comm_cptlink {
    color: #ffffff;
    font-size:1.25rem;
    padding: 0.5em 2em 0.5em 1em;
    position: relative;
    background: #002C6A;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 4px 4px;
}
.comm_cptlink:after{
	content: "";
	width: 1em;
	height: 1em;
	display: inline-block;
	background-image: url(/_solo_assets_CCC/img/com_arr_white.svg);
	background-repeat: no-repeat;
	position: absolute;
	right: 1em;
	top: 0px;
	margin: auto;
	bottom: 0px;
	background-size: auto 100%;
	background-position: center center;
}

/* ## タイトル系 ## */
/* 下位ページメインタイトル */
.comm_subTtlWrap {
    width: 100%;
    background-color: #324158;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.comm_subTtlBox {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40vw;
    max-height: 300px;
}
.comm_subTtl-high {
    max-height: 360px;
}
.comm_subTtl-low {
    height: 25vw;
    max-height: 180px;
}
.comm_subTtl {
    color: #ffffff;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
}
.comm_subTtl.comm_subTtl-dark {
    color: #555555;
}
.comm_subTtl-en {
    font-family: 'Oswald', sans-serif;
    font-size: 4rem;
    font-weight: normal;
}
.comm_subTtl small {
    display: block;
    font-size: 1rem;
    text-align: center;
}

.comm_bodyTtl {
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    padding-bottom: 1rem;
}

/* ## 下線付きタイトル ## */
.comm_underlinedTtl-big {
    font-size: 37.5px;
    font-weight: bold;
    border-bottom: 1px #d2d7df solid;
    padding:0 0 0.5em 0;
    margin:0 0 1em 0;
}
.comm_underlinedTtl {
    font-size: 30px;
    font-weight: bold;
    border-bottom: 1px #d2d7df solid;
    padding:0 0 0.5em 0;
    margin:0 0 1em 0;
}

/* ## 帯付きタイトル ## */
.comm_secTtl {
    font-size: 20px;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.3em;
    padding: 0.65em 1.5em;
    margin: 0 -1.5em 1.5em -1.5em;
    background: #5279b0;
}
.comm_sectTxt {
    padding: 0 1em;
}

/* ## 下線付き小タイトル ## */
.comm_secSubTtl {
    font-size: 17px;
    font-weight: bold;
    border-bottom: 1px #d2d7df solid;
    padding: 0 0.5em 0.5em 0.5em;
    margin: 0 -0.5em 1em -0.5em;
}

/* ## 本文内シンプルタイトル ## */
.comm_simpleTtl {
    font-size: 18px;
    font-weight: bold;
    color: #5279b0;
}

/* ## ワンポイントタイトル ## */
.comm_onepointttl {
    background: #002C6A;
    color: #ffffff;
    padding: 0.25em 0.5em;
    display: inline-block;
    margin-bottom: 0.25em;
}

/* ## 汎用コンテンツボックス ## */
.comm_contentBlock + .comm_contentBlock {
    padding-top: 4.5em;
}
.comm_simpleTtl + .comm_paragraph {
    padding-top: 0.75em;
}
.comm_paragraph + .comm_paragraph {
    padding-top: 1.5em;
}
.comm_contentBlock-noPT { padding-top: 0!important; }
.comm_paragraph-right { text-align: right; }
.comm_paragraph-center { text-align: center; }

.comm_noticebox {
    background: #f0f0f1;
    padding: 1.5em;
    margin-left: -1.5em;
    margin-right: -1.5em;
}
.comm_col .comm_noticebox {
    margin-left: 0;
    margin-right: 0;
}
.comm_noticebox_point {
    background: #dfdfe2;
    padding: 1rem;
    margin: 0.5rem 0;
}
.comm_strong {
    font-weight: bold;
    font-size: 1.25em;
}

.comm_graybox {
    border: 1px solid #e0e0e0;
    background: #f0f0f0;
    padding: 1em;
}

/* ## リンク系 ## */
.comm_bbox-inline {
    padding: 0.5em 0;
}
.link-icon {
    display: inline-block;
    padding:0.25em 1.5em 0.25em 2.5em;
    background: 1em center no-repeat;
    background-size: 1.25em;
    border:1px solid #002c6a;
    border-radius: 4px;
}
.link-map {
    background-image: url("/_solo_assets_CCC/img/icon_map.svg");
}

/* ## リスト系 ## */
/* 項目ごと余白あり */
.comm_listSplit {
    
}
.comm_listSplit_line {
    margin: 0;
    padding: 0.75em 0;
}

/* 日付付き */
.comm_listInner_wdate {
    display: flex;
}
.comm_listInner_wdate_date {
    width: 8em;
}
.comm_listInner_wdate_body {
    flex: 1;
    color: #002c69;
    font-weight: bold;
}
.comm_listInner_wdate_body a {
    color: #002c69;
    font-weight: bold;
}

/* スタイル付きリスト */
.comm_style_dl-withMT,
.comm_style_ol-withMT,
.comm_style_ul-withMT {
    margin-top: 1em;
}

.comm_style-topm { margin-top: 0.75em; }
.comm_style_dl {
    display: block;
    padding-bottom: 1.25em;
}
.comm_style_dl:last-child { padding-bottom: 0; }
.comm_style_dl dt {
    display: block;
    font-weight: bold;
    padding:0 0 0.25em 0;
    position: relative;
}
.comm_style_dl dd {
    display: block;
    padding: 0 0 0.5em 1.15em;
}
.comm_style_dl dd:last-child {
    padding-bottom: 0;
}
.comm_style_dl-header dt{
    padding-left: 1.15em;
}
.comm_style_dl-header dt:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
}
.comm_style_dl-dot dt:before { content: "・"; }
.comm_style_dl-square dt:before { content: "■"; }
.comm_style_dl-circle dt:before { content: "●"; }

.comm_style_ol,
.comm_style_ul {
    display: block;
}
.comm_style_ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}
.comm_style_ol > li {
    padding-bottom: 0.5em;
    position: relative;
}
.comm_style_ol-paren {
	list-style-type: none;
}
.comm_style_ol-paren > li {
	list-style-type: none;
	counter-increment: cnt;
}
.comm_style_ol-paren > li:before {
    content: "(" counter(cnt) ") ";
}

.comm_style_ul > li {
    display: block;
    padding: 0 0 0.5em 1.15em;
    position: relative;
}
.comm_style_ul > li:last-child { padding-bottom: 0; }
.comm_style_ul > li:before {
    content: "・";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.comm_style_ul-square > li:before { content: "■"; }
.comm_style_ul-circle > li:before { content: "●"; }


/* ## pager ## */
.comm_pager {
    border-top: #cccccc 1px solid;
    margin-top: 2em;
    padding-top: 1em;
}
.comm_pager_list{
	display: block;
	overflow: hidden;
	padding-bottom: 1em;
}
.comm_pager_list li{
	float: left;
	border-right: 1px solid #CCCCCC;
}
.comm_pager_list li:last-child{
	border-right-style: none;
}
.comm_pager_list li span,
.comm_pager_list li a{
	padding-left: 0.5em;
	padding-right: 0.5em;
	display: block;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}
.comm_pager_list li a{
	text-decoration: underline;
	color: #002C6A;
}


/* ##### responsive ##### */
@media screen and (max-width: 1199px) {
    .comm_col_1-2-m { width: 50%; }
}
@media screen and (max-width: 899px) {
    .comm_col_1-2-ms { width: 50%; }
}
@media screen and (max-width: 767px) {

    /* ## form関連 ## */
    .comm_form_inputs,
    .comm_formlead,
    .comm_formerrorlead { font-size: 14px; }

    /* ## comm parts ## */
    /* 基本 */
    .comm_sub_cont {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    br.comm_sub_nobr-sp {
        display: none;
    }
    

    /* ## comm_anctarget ## */
    .comm_anctarget {
        margin-top: -70px!important;
        padding-top: 70px!important;
    }
    
    /* ## 段組み ## */
    /* 基本 */
    .comm_columnWrap {
        margin-left: -6px;
        margin-right: -6px;
        padding: 0;
        flex-direction: column;
    }
    .comm_col { padding: 0 6px; flex: 0 1 auto; width: 100%; }
    .comm_col + .comm_col { padding-top: 3em; }
    .comm_columnWrap-close .comm_col + .comm_col { padding-top: 0; }

    .comm_col_1-2-s { flex: 0 1 auto; width: 50%; }
    .comm_col_1-3-s { flex: 0 1 auto; width: calc(100%/3); }
    .comm_col_2-3-s { flex: 0 1 auto; width: calc(2*100%/3); }
    .comm_col_1-4-s { flex: 0 1 auto; width: 25%; }
    .comm_col_2-4-s { flex: 0 1 auto; width: 50%; }
    .comm_col_3-4-s { flex: 0 1 auto; width: 75%; }
    .comm_columnWrap-s {
        flex-direction: row;
    }
    .comm_columnWrap-s .comm_col + .comm_col { padding-top: 0; }

    .comm_witharrow .comm_col:first-child:after {
        width: 5em;
        height: 5em;
        border: 2.5em solid transparent;
        border-top: 1.5em #5279b0 solid;
        border-bottom-width: 3.5em;
        display: block;
        position: absolute;
        top: auto;
        right: 0;
        left: 0;
        margin: auto;
        bottom: -6.5em;
    }

    /* 特殊段組み：サブメニュー */
    .comm_col_wsub_main,
    .comm_col_wsub_menu {
        width: 100%;
        max-width: 100%;
        flex: 1;
        padding: 0 6px;
    }
    .comm_col_wsub_menu { padding-top: 3em; }
    .comm_col img.max50-s { max-width: 50%; }

    /* ## cf ## */
    .comm_cfblock {
        padding: 1em 0;
    }
    
    /* ## フロートサブメニュー ## */
    #comm_sub_floatingSubMenus .comm_sub_tab{
        display: none;
    }
    #comm_sub_floatingSubMenus{
        
    }

    #comm_sub_floatingSubMenus.btns_fixed{
        top: 13.3333vw;
        margin-top: 0;
    }

    #comm_sub_floatingSubMenus .comm_sub_select_box{
        display: block;
        padding-top: 1em;
        padding-bottom: 1em;
    }
    #comm_sub_floatingSubMenus .comm_sub_select_box .select_itemname{
        color: #FFFFFF;
        font-weight: bold;
        font-size: 1.33rem;
        margin-bottom: 0.4em;
    }
    #comm_sub_floatingSubMenus .comm_sub_select_box select {
        background-color: #444444;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: 1px solid #636363;
        color: #FFFFFF;
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        background-image: url(/_solo_assets_CCC/img/com_arr_white-down.svg);
        background-repeat: no-repeat;
        background-position: right 0.5em center;
        background-size: auto 30%;
        padding-top: 0.4em;
        padding-right: 2em;
        padding-left: 1em;
        border-radius: 4px;
        padding-bottom: 0.4em;
    }
    #comm_sub_floatingSubMenus.tabs_fixed {
        position: fixed;
        left: 0;
        top: 13.3333vw;
        margin-top: 0;
    }

    /* ## footerサブメニュー ## */
    .comm_footer_subMenubox {
        flex-direction: column;
    }
    .comm_footer_subMenubox dt,
    .comm_footer_subMenubox dd {
        width: 100%;
        padding: 0;
        margin: 0;
    }
    .comm_footer_subMenubox a {
        display: block;
        width: 100%;
        line-height: 3em;
        border-left: none!important;
        border-bottom: 1px solid #eeeeee;
    }
    .comm_footer_subMenubox a:after {
        content: "";
        width: 0.8em;
        height: 0.8em;
        display: inline-block;
        background-image: url(/_solo_assets_CCC/img/com_arr_blue.svg);
        background-repeat: no-repeat;
        position: absolute;
        right: 1em;
        top: 0px;
        margin: auto;
        bottom: 0px;
        background-size: auto 100%;
        background-position: center center;
    }
    /* ## comm_featicon ## */
    .comm_featiconbox {
        margin-top: -3em;
    }
    .comm_col:first-child .comm_featiconbox {
        margin-top: 0;
    }

    /* ## タイトル系 ## */
    /* 下位ページメインタイトル */
    .comm_subTtl {
        font-size: 2.5rem;
    }
    .comm_subTtl-en {
        font-size: 3.5rem;
    }
    .comm_subTtl small {
        font-size: 1.25rem;
    }

    .comm_bodyTtl {
        font-size: 2rem;
    }
    /* ## 下線付きタイトル ## */
    .comm_underlinedTtl-big {
        font-size: 2rem;
    }
    .comm_underlinedTtl {
        font-size: 1.5rem;
    }
    /* ## 帯付きタイトル ## */
    .comm_secTtl {
        font-size: 1.3rem;
    }
    /* ## 下線付き小タイトル ## */
    .comm_secSubTtl {
        font-size: 1.3rem;
        padding: 0 0 0.5em 0;
        margin: 0 0 0.5em 0;
    }
    /* ## 本文内シンプルタイトル ## */
    .comm_simpleTtl {
        font-size: 1.25rem;
    }

    /* ##汎用コンテンツボックス ## */
    .comm_noticebox {
        margin-left: 0;
        margin-right: 0;
        padding: 1em;
    }

    /* ## imagebox ## */
    .comm_imagebox {
        padding-top: 80%;
    }
    .comm_imagebox-56_25-s {
        padding-top: 56.25%;
    }
    .comm_imagebox-100-s {
        padding-top: 100%;
    }
    .comm_imagebox-46-s {
        padding-top: 46%;
    }

    /* ## リスト系 ## */
    /* 日付付き */
    .comm_listInner_wdate {
        flex-direction: column;
    }
    /* pager */
    .comm_pager {
        text-align: center;
    }
    .comm_pager_list {
        display: inline-block;
    }



}

