@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Quicksand&display=swap');

/*-- FJ CORPORATION module.css --*/

/* common, layout */

.mod_left {
    text-align: left;
}
.mod_center {
    text-align: center;
}
.mod_right {
    text-align: right;
}
.mod_hr {
    margin: 100px 0;
    color: #fff;
    border-color: #fff;
}
.mod_mb {
    margin-bottom: 100px!important;
}

@media screen and (max-width: 1060px){
    .mod_hr {
        margin: 10vw 0;
    }
    .mod_mb {
        margin-bottom: 10vw!important;
    }
}
@media screen and (max-width: 767px){
    .mod_hr {
        margin: 12vw 0;
    }
    .mod_mb {
        margin-bottom: 12vw!important;
    }    
}
@media screen and (max-width: 475px){
    .mod_pc {
        display: none!important;
    }
}
@media screen and (min-width: 476px){
    .mod_sp {
        display: none!important;
    }
}

/* main-title, pankuzu, pagetitle, ankerlink, tag */

.mod_title_area {
    margin-bottom: 40px;
    padding: 60px 0;
    border-bottom: 1px solid #333;
}
.mod_title_h1 {
    margin-bottom: 5px;
    font-size: 2.25rem;
    font-weight: 500;
    text-align: center;
}
.mod_subtitle_h1 {
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
}

.mod_pankuzu {
    margin: 0 0 40px;
    font-size: .75rem;
}
.mod_pankuzu span {
    margin: 0 10px;
}

.mod_pagelink,
.mod_ankerlink {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 60px 0;
}
.mod_pagelink {
    justify-content: center;
}
.mod_pagelink li,
.mod_ankerlink li {
    display: flex;
    width: 24%;
    margin-bottom: 15px;
    border: 4px solid #333;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 1.25rem;
    font-weight: bold;
}
.mod_ankerlink::before {
    content: "";
    display: block;
	width: 24%; 
    order: 1;
}
.mod_ankerlink::after {
    content: "";
    display: block;
	width: 24%; 
}
.mod_ankerlink li {
    border-color: #c0ed51;
}
.mod_pagelink li a,
.mod_ankerlink li a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.mod_pagelink li a {
    padding: 12px 15px;
}
.mod_pagelink li a.current,
.mod_pagelink li a:hover {
    background: #333;
    color: #fff;
}
.mod_pagelink li a.current {
    pointer-events: none;
}
.mod_pagelink li a::after {
    position: absolute;
    content: '';
    top: calc(50% - 3px);
    right: 12px;
    width: 6px;
    height: 6px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
}
.mod_pagelink li a.current::after,
.mod_pagelink li a:hover::after {
    border-color: #fff;
}

.mod_ankerlink li a {
    position: relative;
    width: 100%;
    padding: 12px 30px 12px 15px;
    box-sizing: border-box;
    background: #fff;
}
.mod_ankerlink li a:hover {
    background: #c0ed51;
    color: #fff;
}
.mod_ankerlink li a::after {
    position: absolute;
    content: '';
    top: calc(50% - 3px);
    right: 15px;
    width: 6px;
    height: 6px;
    border-top: solid 2px #c0ed51;
    border-right: solid 2px #c0ed51;
    transform: rotate(135deg);
}
.mod_ankerlink li a:hover::after {
    border-color: #fff;
}

.mod_pagelink li {
    margin-left: 1%;
}
.mod_pagelink li:nth-of-type(4n+1) {
    margin-left: 0;
}

.mod_pagelink.col_5 {
    justify-content: center;
}
.mod_pagelink.col_5 li {
    width: 19%;
    margin-left: 1.25%;
}
.mod_pagelink.col_5 li:nth-of-type(5n+1) {
    margin-left: 0;
}


.mod_tag {
    margin: 60px 0;
    text-align: center;
}
.mod_tag li {
    margin: 12px 3px;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
}
.mod_tag li a {
    position: relative;
    padding: 5px 45px 5px 30px;
    background: #c0ed51;
    border: 3px solid #c0ed51;
    border-radius: 20px;
}
.mod_tag li a::after {
    position: absolute;
    content: '';
    top: calc(50% - 3px);
    right: 15px;
    width: 6px;
    height: 6px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
}
.mod_tag li a:hover {
    background: #91dc1a;
    border-color: #91dc1a;
}
.mod_tag li a.mod_tag_current {
    background: #ccc!important;
    border-color: #ccc!important;
    cursor: default;
}
.mod_tag_filter,
.mod_tag_filter_stay {
    margin-bottom: 50px;
}

@media screen and (max-width: 1180px){

}
@media screen and (max-width: 1060px){
    
    .mod_title_area {
        margin-bottom: 4vw;
        padding: 6vw 0;
    }
    .mod_title_h1 {
        margin-bottom: .5vw;
        font-size: 3.5vw;
    }
    .mod_subtitle_h1 {
        font-size: 1.8vw;
    }
    
    .mod_pankuzu {
        margin: 0 0 4vw;
        font-size: 1.2vw;
    }
    .mod_pankuzu span {
        margin: 0 1vw;
    }

    .mod_pagelink,
    .mod_ankerlink {
        margin: 8vw 0;
    }
    .mod_pagelink li,
    .mod_ankerlink li {
        width: 24%;
        margin-bottom: 1.5vw;
        border-width: .4vw;
        font-size: 1.8vw;
    }
    .mod_pagelink li a {
        padding: 1.2vw 1.5vw;
    }
    .mod_pagelink li a::after {
        top: calc(50% - .3vw);
        right: 1.2vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }
    .mod_ankerlink li a {
        padding: 1.2vw 3vw 1.2vw 1.5vw;
    }
    .mod_ankerlink li a::after {
        top: calc(50% - .3vw);
        right: 1.5vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }
    
    .mod_tag {
        margin: 6vw 0;
    }
    .mod_tag li {
        margin: 1.2vw .3vw;
        font-size: 1.6vw;
    }
    .mod_tag li a {
        padding: .5vw 4.5vw .5vw 3vw;
        border-width: .3vw;
        border-radius: 2vw;
    }
    .mod_tag li a::after {
        top: calc(50% - .3vw);
        right: 1.5vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }
    .mod_tag_filter,
    .mod_tag_filter_stay {
        margin-bottom: 5vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .mod_title_area {
        margin-bottom: 6vw;
        padding: 10vw 0;
    }
    .mod_title_h1 {
        margin-bottom: .5vw;
        font-size: 7vw;
    }
    .mod_subtitle_h1 {
        font-size: 5vw;
    }
    
    .mod_pankuzu {
        margin: 0 0 6vw;
        font-size: 3vw;
    }
    .mod_pankuzu span {
        margin: 0 2vw;
    }
    
    .mod_pagelink,
    .mod_ankerlink {
        margin: 12vw 0;
    }
    .mod_pagelink li,
    .mod_ankerlink li {
        width: 48.5%;
        margin-bottom: 2.5vw;
        border-width: .8vw;
        font-size: 4.5vw;
    }
    .mod_pagelink li a {
        padding: 2vw 4vw;
    }
    .mod_pagelink li a::after {
        top: calc(50% - .6vw);
        right: 1.8vw;
        width: 1.5vw;
        height: 1.5vw;
        border-width: .6vw;
    }    
    .mod_ankerlink li a {
        padding: 2vw 4vw 5vw;
    }
    .mod_ankerlink li a::after {
        top: auto;
        bottom: 2vw;
        right: calc(50% - .5vw);
        width: 1.5vw;
        height: 1.5vw;
        border-width: .6vw;
    }

    .mod_pagelink li,
    .mod_pagelink.col_5 li {
        width: 48.5%;
        float: left;
        margin-left: 3%;
    }
    .mod_pagelink li:nth-of-type(4n+1),
    .mod_pagelink.col_5 li:nth-of-type(5n+1) {
        margin-left: 3%;
    }
    .mod_pagelink li:nth-of-type(2n+1),
    .mod_pagelink.col_5 li:nth-of-type(2n+1) {
        margin-left: 0;
    }
    
    
    .mod_tag {
        margin: 10vw 0;
    }
    .mod_tag li {
        margin: 2.5vw .6vw;
        font-size: 3.75vw;
    }
    .mod_tag li a {
        padding: 1vw 9vw 1vw 6vw;
        border-width: .6vw;
        border-radius: 4vw;
    }
    .mod_tag li a::after {
        top: calc(50% - .8vw);
        right: 3vw;
        width: 1.5vw;
        height: 1.5vw;
        border-width: .6vw;
    }    
    .mod_tag_filter,
    .mod_tag_filter_stay {
        margin-bottom: 10vw;
    }

}
@media screen and (max-width: 475px){
    

}

/* title */

.mod_title_h2,
.mod_title_h3,
.mod_title_h4,
.mod_title_h5 {
    position: relative;
    margin-bottom: 25px;
    font-weight: 500;
}
.mod_title_h2 {
    padding: 0 0 30px;
    font-size: 2.25rem;
    text-align: center;
}
.mod_title_h2::after {
    content: url("/common/images/title_bar.png");
    position: absolute;
    bottom: 0;
    left: calc(50% - 40px);
}
.mod_title_h3 {
    font-size: 1.875rem;
}
.mod_title_h4 {
    font-size: 1.5rem;
}
.mod_title_h4 span {
    display: inline-block;
    border-left: 6px solid #c0ed51;
    padding-left: 16px;
}
.mod_title_h5 {
    font-size: 1.25rem;
}
.mod_title_arrow {
    position: relative;
    padding-left: 30px;
}
.mod_title_arrow::before {
    position: absolute;
    content: '';
    top: 12px;
    left: 0;
    width: 14px;
    height: 14px;
    border-top: solid 3px #333;
    border-right: solid 3px #333;
    transform: rotate(45deg);    
}

@media screen and (max-width: 1060px){

    .mod_title_h2,
    .mod_title_h3,
    .mod_title_h4,
    .mod_title_h5 {
        margin-bottom: 2.5vw;
    }
    .mod_title_h2 {
        padding: 0 0 3vw;
        font-size: 3.6vw;
    }
    .mod_title_h3 {
        font-size: 3vw;
    }
    .mod_title_h4 {
        font-size: 2.4vw;
    }
    .mod_title_h4 span {
        border-width: .6vw;
        padding-left: 1.6vw;
    }
    .mod_title_h5 {
        font-size: 2vw;
    }
    
    .mod_title_arrow {
        padding-left: 3vw;
    }
    .mod_title_arrow::before {
        top: 1.1vw;
        width: 1.4vw;
        height: 1.4vw;
        border-width: .4vw;
    }
    
}
@media screen and (max-width: 767px){

    .mod_title_h2,
    .mod_title_h3,
    .mod_title_h4,
    .mod_title_h5 {
        margin-bottom: 5vw;
    }
    .mod_title_h2 {
        padding: 0 0 6vw;
        font-size: 6vw;
    }
    .mod_title_h3 {
        font-size: 5vw;
    }
    .mod_title_h4 {
        font-size: 4.25vw;
    }
    .mod_title_h4 span {
        border-width: 1.2vw;
        padding-left: 3.2vw;
    }
    .mod_title_h5 {
        font-size: 3.75vw;
    }

    .mod_title_arrow {
        padding-left: 5vw;
    }
    .mod_title_arrow::before {
        top: 2vw;
        width: 2.8vw;
        height: 2.8vw;
        border-width: .8vw;
    }
    
}
@media screen and (max-width: 475px){

}


/* text, slider, link_box */

.mod_txt {
    font-size: .875rem;
    margin: 0 0 30px;
}
.mod_txt_small {
    font-size: .75rem!important;
}
.mod_txt_large {
    font-size: 1rem!important;
}

.mod_image {
    margin: 0 0 30px;
}
.mod_image a:hover {
    opacity: .8;    
}
.mod_image_caption {
    font-size: .75rem;
    margin: -20px 0 30px;
}
.mod_image img {
    border-radius: 6px;
}

.mod_movie {
    position: relative;
}
.mod_movie_icon {
    position: absolute;
    top: calc(50% - 30px);
    left: calc(50% - 45px);
    z-index: 9;
}
.mod_movie_icon img {
    width: 90px;
}
.mod_movie iframe {
    width: 100%;
    height: 750px;
}
.mod_col_2 .mod_movie iframe {
    height: 360px;
}

.mod_columnText {
    display: flex;
    justify-content: space-between;
    margin: 0 0 45px;
}
.mod_columnText_imgLeft {
    width: 46%;
	padding-right: 75px;
	order: 1;
}
.mod_columnText_imgRight {
    width: 46%;
    margin-left: auto;
	padding-left: 75px;
	order: 2;
}
.mod_columnText_imgLeft img,
.mod_columnText_imgRight img {
	max-width: none;
    width: 100%;
}
.mod_columnText_dataRight {
    width: 48%;
	order: 2;
}
.mod_columnText_dataLeft {
    width: 48%;
	order: 1;
}
.mod_columnTextAround {
    margin-bottom: 45px;
}
.mod_columnTextAround:after {
	content: "";
	display: block;
	clear: both;
}
.mod_columnTextAround_imgLeft{
	float: left;
	margin-right: 60px;
    max-width: 46%;
}
.mod_columnTextAround_imgRight{
	float: right;
	margin-left: 60px;
    max-width: 46%;
}
.mod_columnTextAround .mod_title_h4 span {
    display: flex;
}

.mod_slider,
.mod_slider_stop {
    position: relative;
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-bottom: 100px;
}
.mod_slider li a:hover,
.mod_slider_stop li a:hover {
    opacity: .8;
}
.mod_slider img,
.mod_slider_stop img {
    width: calc(100% - 30px);
    margin: 0 auto;
}
.mod_slider .slick_prev,
.mod_slider .slick_next,
.mod_slider_stop .slick_prev,
.mod_slider_stop .slick_next {
    display: block;
    position: absolute;
    z-index: 99;
    top: calc(50% - 18px);
    width: 22px;
    height: 45px;
    border: none;
    cursor: pointer;
    background: none;
}
.slick_prev {
    left: -20px;
}
.slick_next {
    right: -20px;
}
.slick_prev::before,
.slick_next::before {
    position: absolute;
    content: "";
    left: 5px;
    top: 6px;
    width: 24px;
    height: 24px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.slick_next::before {
    left: auto;
    right: 5px;
    transform: rotate(45deg);
}

.mod_link_box .mod_col_box {
    margin-bottom: 30px;
}
.mod_link_box a {
    display: block;
}
.mod_link_box a .mod_image {
    background: #000;
    border-radius: 6px;
    line-height: 0;
}
.mod_link_box a .mod_image img {
    width: 100%;
    border-radius: 6px;
    transition: .3s;
}
.mod_link_box a:hover .mod_image img {
    opacity: .92;
}
.mod_link_box a .mod_title_arrow {
    margin-bottom: 10px;
}

@media screen and (max-width: 1060px){
    
    .mod_txt {
        margin: 0 0 3vw;
        font-size: 1.4vw;
    }
    .mod_txt_small {
        font-size: 1.3vw!important;
    }
    .mod_txt_large {
        font-size: 1.6vw!important;
    }

    .mod_image {
        margin: 0 0 3vw;
    }
    .mod_image_caption {
        font-size: 1.2vw;
        margin: -2vw 0 3vw;
    }
    
    .mod_movie_icon {
        top: calc(50% - 3vw);
        left: calc(50% - 4vw);
    }
    .mod_movie_icon img {
        width: 9vw;
    }
    .mod_movie iframe {
        height: 72vw;
    }
    .mod_col_2 .mod_movie iframe {
        height: 34vw;
    }
    
	.mod_columnText,
    .mod_columnTextAround {
        margin-bottom: 4.5vw;
    }
    .mod_columnText_imgLeft {
        padding-right: 0;
    }
    .mod_columnText_imgRight {
        padding-left: 0;
    }
    .mod_columnText_dataRight,
    .mod_columnText_dataLeft {
        width: 50%;
    }    
    .mod_columnTextAround_imgLeft{
        margin-right: 4vw;
    }
    .mod_columnTextAround_imgRight{
        margin-left: 4vw;
    }

    .mod_slider,
    .mod_slider_stop {
        width: calc(100% + 3vw);
        margin-left: -1.5vw;
        margin-bottom: 10vw;
    }
    .mod_slider img,
    .mod_slider_stop img {
        width: calc(100% - 3vw);
    }
    .mod_slider .slick_prev,
    .mod_slider .slick_next,
    .mod_slider_stop .slick_prev,
    .mod_slider_stop .slick_next {
        top: calc(50% - 1.8vw);
        width: 2.2vw;
        height: 4.5vw;
    }
    .slick_prev {
        left: -2vw;
    }
    .slick_next {
        right: -2vw;
    }
    .slick_prev::before,
    .slick_next::before {
        width: 2vw;
        height: 2vw;
        border-width: .3vw;
    }
    
    .mod_link_box .mod_col_box {
        margin-bottom: 3vw;
    }
    .mod_link_box a .mod_title_arrow {
        margin-bottom: 1vw;
    }    
    
}
@media screen and (max-width: 767px){

    .mod_txt {
        margin: 0 0 5vw;
        font-size: 3.25vw;
    }
    .mod_txt_small {
        font-size: 2.75vw!important;
    }
    .mod_txt_large {
        font-size: 3.75vw!important;
    }
    
    .mod_image {
        margin: 0 0 6vw;
    }
    .mod_image_caption {
        font-size: 3vw;
        margin: -4vw 0 6vw;
    }
    
    .mod_movie_icon {
        top: calc(50% - 4vw);
        left: calc(50% - 6vw);
    }
    .mod_movie_icon img {
        width: 12vw;
    }
    .mod_movie iframe {
        height: 64vw;
    }
    .mod_col_2 .mod_movie iframe {
        height: 30vw;
    }
    
	.mod_columnText,
    .mod_columnTextAround {
        margin-bottom: 9vw;
    }
	.mod_columnText {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
	}
	.mod_columnText_imgLeft,
	.mod_columnText_imgRight{
        width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
	.mod_columnText_imgLeft img,
	.mod_columnText_imgRight img { 
		max-width: 100%;
	}
    .mod_columnText_dataRight,
    .mod_columnText_dataLeft {
        width: 100%;
    }    
	.mod_columnText_imgRight {
		order: 1;
        margin-left: inherit;
	}
	.mod_columnText_dataLeft {
		order: 2;
	}
	.mod_columnTextAround_imgLeft,
	.mod_columnTextAround_imgRight {
        max-width: 100%;
		width: auto;
		float: none;
		margin-right: 0;
		margin-left: 0;
	}

    .mod_slider,
    .mod_slider_stop {
        width: calc(100% + 6vw);
        margin-left: -3vw;
        margin-bottom: 10vw;
    }
    .mod_slider img,
    .mod_slider_stop img {
        width: calc(100% - 6vw);
    }
    .mod_slider .slick_prev,
    .mod_slider .slick_next,
    .mod_slider_stop .slick_prev,
    .mod_slider_stop .slick_next {
        top: calc(50% - 3.5vw);
        width: 4vw;
        height: 7vw;
    }
    .slick_prev {
        left: -1vw;
    }
    .slick_next {
        right: -1vw;
    }
    .slick_prev::before,
    .slick_next::before {
        width: 4vw;
        height: 4vw;
        border-width: .6vw;
    }
    
    .mod_link_box .mod_col_box {
        margin-bottom: 6vw;
    }
    .mod_link_box a .mod_title_arrow {
        margin-bottom: 2vw;
    }    
    
}
@media screen and (max-width: 475px){

}


/* column */

.mod_col_2,
.mod_col_3,
.mod_col_4 {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
    margin: 0 0 30px;
}
.mod_col_2 > li,
.mod_col_2 .mod_col_box { 
	width: 48%; 
	box-sizing: border-box; 
}
.mod_col_3 > li,
.mod_col_3 .mod_col_box { 
	width: 31.25%; 
	box-sizing: border-box; 
}
.mod_col_3::after{
    display: block;
	width: 31.25%; 
    content: "";
}
.mod_col_4 > li,
.mod_col_4 .mod_col_box { 
	width: 23%; 
	box-sizing: border-box; 
}
.mod_col_4::before{
    content: "";
    display: block;
	width: 23%; 
    order: 1;
}
.mod_col_4::after{
    content: "";
    display: block;
	width: 23%; 
}

@media screen and (max-width: 1060px){
    .mod_col_2,
    .mod_col_3,
    .mod_col_4 {
        margin: 0 0 3vw;
    }
}
@media screen and (max-width: 767px){
    
    .mod_col_2,
    .mod_col_3 {
        margin: 0 0 6vw;
    }
	.mod_col_2 > li,
	.mod_col_3 > li,
	.mod_col_2 .mod_col_box,
	.mod_col_3 .mod_col_box { 
        width: 47%; 
	}
    .mod_col_4 > li,
    .mod_col_4 .mod_col_box { 
        width: 47%; 
    }    
    
}


/* link */


@media screen and (max-width: 1060px){
    

}
@media screen and (max-width: 767px){
    
    
}
@media screen and (max-width: 475px){
    

}


/* list */

.mod_list_dot,
.mod_list_num,
.mod_list_kome,
.mod_list_komenum,
.mod_list_arrow {
    margin: 0 0 30px;
    font-size: .875rem;
}
.mod_list_dot li,
.mod_list_num li,
.mod_list_kome li,
.mod_list_komenum li,
.mod_list_arrow li {
    position: relative;
    margin-bottom: 6px;
}
.mod_list_dot li,
.mod_list_kome li {
	margin-left: 5px;
	padding-left: .875rem;
	text-indent: -.875rem;
}
.mod_list_komenum li {
	padding-left: 2.2rem;
	text-indent: -2.2rem;
}
.mod_list_komenum li span {
    display: inline-block;
    margin-left: 2.2rem;
}
.mod_list_dot li:before {
	content: "●";
	position: relative;
	left: -5px;
}
.mod_list_num li {
    list-style: decimal outside;
    margin-left: 1.375rem;
}
.mod_list_kome li:before {
	content: "※";
	position: relative;
	left: -5px;
}
.mod_list_arrow li {
	padding-left: 1rem;
}
.mod_list_arrow li::before {
    position: absolute;
    content: '';
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
}

.mod_icon_link::after,
.mod_icon_pdf::after {
    position: relative;
}
.mod_icon_link::after {
    content: "";
    display: inline-block;
    background: url("/common/images/icon_link.png");
    background-size: contain;
    top: -2px;
    left: 10px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}
.mod_icon_pdf::after {
    content: "";
    display: inline-block;
    background: url("/common/images/icon_pdf.png");
    background-size: contain;
    top: -2px;
    left: 10px;
    width: 24px;
    height: 29px;
    vertical-align: middle;
}


@media screen and (max-width: 1060px){

    .mod_list_dot,
    .mod_list_num,
    .mod_list_kome,
    .mod_list_komenum,
    .mod_list_arrow {
        margin: 0 0 3vw;
        font-size: 1.4vw;
    }
    .mod_list_dot li,
    .mod_list_num li,
    .mod_list_kome li,
    .mod_list_komenum li,
    .mod_list_arrow li {
        margin-bottom: .6vw;
    }
    .mod_list_dot li,
    .mod_list_kome li {
        margin-left: .5vw;
        padding-left: 1.4vw;
        text-indent: -1.4vw;
    }
    .mod_list_komenum li {
        padding-left: 3.2vw;
        text-indent: -3.2vw;
    }
    .mod_list_komenum li span {
        margin-left: 3.2vw;
    }
    .mod_list_dot li:before {
        left: -.5vw;
    }
    .mod_list_num li {
        margin-left: 2.2vw;
    }
    .mod_list_kome li:before {
        left: -.5vw;
    }
    .mod_list_arrow li {
        padding-left: 1.6vw;
    }
    .mod_list_arrow li::before {
        top: .8vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }    

    .mod_icon_link::after {
        top: -.2vw;
        left: 1vw;
        width: 2vw;
        height: 2vw;
    }
    .mod_icon_pdf::after {
        top: -.2vw;
        left: 1vw;
        width: 2.4vw;
        height: 2.9vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .mod_list_dot,
    .mod_list_num,
    .mod_list_kome,
    .mod_list_komenum,
    .mod_list_arrow {
        margin: 0 0 6vw;
        font-size: 3.25vw;
    }
    .mod_list_dot li,
    .mod_list_num li,
    .mod_list_kome li,
    .mod_list_komenum li,
    .mod_list_arrow li {
        margin-bottom: 1.5vw;
    }
    .mod_list_dot li,
    .mod_list_kome li {
        margin-left: .5vw;
        padding-left: 2.25vw;
        text-indent: -2.25vw;
    }
    .mod_list_komenum li {
        padding-left: 6vw;
        text-indent: -6vw;
    }
    .mod_list_komenum li span {
        margin-left: 6vw;
    }
    .mod_list_num li {
        margin-left: 3vw;
    }
    .mod_list_arrow li {
        padding-left: 3.2vw;
    }
    .mod_list_arrow li::before {
        top: 2vw;
        width: 1.2vw;
        height: 1.2vw;
        border-width: .6vw;
    }    
    
    .mod_icon_link::after {
        top: -.4vw;
        left: 2vw;
        width: 4vw;
        height: 4vw;
    }
    .mod_icon_pdf::after {
        top: -.4vw;
        left: 2vw;
        width: 4.8vw;
        height: 5.8vw;
    }
    

}
@media screen and (max-width: 475px){

}

/* btn */

.mod_btn {
    display: flex;
    flex-wrap: wrap;
	margin-bottom: 45px;
}
.mod_btn li {
    width: 320px;
}
.mod_btn li a {
    position: relative;
    display: block;
    padding: 15px 40px 15px 20px;
    background: #fff;
    border: 4px solid #333;
    border-radius: 40px;
    color: #333;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.mod_btn li a:hover {
    background: #333;
    color: #fff;
}
.mod_btn li a::before,
.mod_btn li a::after {
    position: absolute;    
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto;
    content: "";
    vertical-align: middle;        
}
.mod_btn li a::before {
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    background: #333;
    -webkit-border-radius: 50%;
    border-radius: 50%;    
}
.mod_btn li a::after {
    right: 21px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);    
}
.mod_btn li a:hover::before {
    background: #fff;
}
.mod_btn li a:hover::after {
    border-color: #333;
}
.mod_btn li a.btn_null {
    pointer-events: none;
    background: #ababab;
    border-color: #ababab!important;
    color: #fff!important;    
}
.mod_btn li a.btn_null::before {
    background: #fff!important;
}
.mod_btn li a.btn_null::after {
    border-color: #ababab!important;
}

.mod_btn.mod_btn_orange li a {
    color: #ff8633!important;
    border-color: #ff8633!important;
}
.mod_btn.mod_btn_orange li a:hover {
    color: #fff!important;
    background: #ff8633!important;
}
.mod_btn.mod_btn_orange li a::before {
    background: #ff8633!important;
}
.mod_btn.mod_btn_orange li a:hover::before {
    background: #fff!important;
}
.mod_btn.mod_btn_orange li a:hover::after {
    border-color: #ff8633!important;
}

.mod_btn.mod_btn_large li {
    width: 450px;
}
.mod_btn.mod_btn_large li a {
    padding: 20px 60px 20px 20px;
    border-radius: 100px;
    font-size: 1.5rem;
}
.mod_btn.mod_btn_large li a::before {
    right: 21px;
    width: 36px;
    height: 36px;
}
.mod_btn.mod_btn_large li a::after {
    right: 35px;
    width: 9px;
    height: 9px;
    border-width: 3px;
}

.mod_btn.mod_center {
    justify-content: center;
}
.mod_btn.mod_left {
    justify-content: flex-start;
}
.mod_btn.mod_right {
    justify-content: flex-end;
}

.mod_btn.mod_col_2_btn {
    display: flex;
    justify-content: center;
}
.mod_btn.mod_col_2_btn li {
    display: flex;
    margin: 0 30px;
}
.mod_btn.mod_col_2_btn li a,
.mod_btn.mod_col_3_btn li a {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.mod_btn li.mod_left a {
    text-align: left;
    justify-content: flex-start;
}
.mod_btn.mod_col_3_btn {
    display: flex;
    justify-content: space-between;
}
.mod_btn.mod_col_2_btn,
.mod_btn.mod_col_3_btn {
    margin-bottom: 20px;
}
.mod_btn.mod_col_2_btn li,
.mod_btn.mod_col_3_btn li {
    display: flex;
    margin-bottom: 30px;
}
.mod_btn.mod_col_3_btn::after{
    display: block;
    width: 32.5%;
    content: "";
}

.mod_btn_img {
	margin-bottom: 45px;
    text-align: center;
}
.mod_btn_img a {
    transition: .3s;
}
.mod_btn_img a:hover {
    opacity: .8;
}



@media screen and (max-width: 1060px){

    .mod_btn {
        margin-bottom: 4.5vw;
    }
    .mod_btn li {
        width: 30vw;
    }
    .mod_btn li a {
        padding: 1.5vw 4vw 1.5vw 2vw;
        border-width: .4vw;
        border-radius: 10vw;
        font-size: 1.5vw;
    }
    .mod_btn li a::before,
    .mod_btn li a::after {
        right: 1.2vw;
    }
    .mod_btn li a::before {
        width: 2.4vw;
        height: 2.4vw;
    }
    .mod_btn li a::after {
        right: 2.1vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }
    
    .mod_btn.mod_btn_large li a {
        padding: 2vw 6vw 2vw 2vw;
        border-radius: 6vw;
        font-size: 2vw;
    }
    .mod_btn.mod_btn_large li a::before {
        right: 2.1vw;
        width: 3.6vw;
        height: 3.6vw;
    }
    .mod_btn.mod_btn_large li a::after {
        right: 3.5vw;
        width: .9vw;
        height: .9vw;
        border-width: .3vw;
    }

    .mod_btn.mod_col_2_btn li {
        margin: 0 3vw;
    }
    .mod_btn.mod_col_2_btn,
    .mod_btn.mod_col_3_btn {
        margin-bottom: 2vw;
    }
    .mod_btn.mod_col_2_btn li,
    .mod_btn.mod_col_3_btn li {
        margin-bottom: 3vw;
    }

    .mod_btn_img {
        margin-bottom: 4.5vw;
    }

}
@media screen and (max-width: 767px){

    .mod_btn {
        display: block;
        margin-bottom: 8vw;
    }
    .mod_btn li,
    .mod_btn.mod_btn_large li {
        margin: 0 auto 4vw;
        width: 87.5%;
    }
    .mod_btn li a,
    .mod_btn.mod_btn_large li a {
        padding: 3vw 8vw 3vw 4vw;
        border-width: 1vw;
        border-radius: 12vw;
        font-size: 4vw;
    }
    .mod_btn li a::before,
    .mod_btn li a::after {
        right: 2.4vw;
    }
    .mod_btn li a::before {
        width: 4.8vw;
        height: 4.8vw;
    }
    .mod_btn li a::after {
        right: 4.2vw;
        width: 1.2vw;
        height: 1.2vw;
        border-width: .6vw;
    }
    .mod_btn.mod_btn_large li a::before {
        right: 2.4vw;
        width: 4.8vw;
        height: 4.8vw;
    }
    .mod_btn.mod_btn_large li a::after {
        right: 4.2vw;
        width: 1.2vw;
        height: 1.2vw;
        border-width: .6vw;
    }
    
    .mod_btn.mod_col_2_btn li {
        margin: 0;
    }
    .mod_btn.mod_col_4_btn li {
        width: 100%;
    }
    .mod_btn.mod_col_2_btn,
    .mod_btn.mod_col_3_btn {
        margin-bottom: 12vw;
    }
    .mod_btn.mod_col_2_btn li,
    .mod_btn.mod_col_3_btn li {
        margin-bottom: 6vw;
    }    

    .mod_btn_img {
        margin-bottom: 6vw;
    }
    .mod_btn_img li {
        margin-bottom: 6vw;
    }
    .mod_btn_img.mod_col_2 li {
        width: 100%;
    }
   
}

/* dl, accordion, box */

.mod_list_dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 100px;
    border-top: 2px solid #333;
    border-bottom: 2px solid #333;
}
.mod_list_dl dt {
    width: calc(20% - 20px);
    padding: 30px 20px 20px 0;
    font-size: 1.25rem;
    font-weight: 500;
    border-top: 2px solid #333;
}
.mod_list_dl dd {
    width: 80%;
    padding: 30px 0 0;
    border-top: 2px solid #333;
}
.mod_list_dl dt:first-child,
.mod_list_dl dd:nth-of-type(1) {
    border-top: none;
}

.mod_list_dl.mod_list_dl_noborder {
    border: none;
}
.mod_list_dl.mod_list_dl_noborder dt {
    padding-top: 0;
    border-top: none
}
.mod_list_dl.mod_list_dl_noborder dd {
    padding-top: 0;
    border-top: none
}

.mod_list_dl.narrow {
    margin-bottom: 50px;
}

.mod_accordion_title {
    margin-bottom: 60px;
    padding: 20px 60px 20px 0;
    background: url("/common/images/mark_plus.png") no-repeat;
    background-position: right 20px center;
    background-size: 30px auto;
    border-bottom: 4px solid #333;
    font-size: 1.25rem;
    font-weight: 500;
    cursor: pointer;
    transition: .3s;
}
.mod_accordion_title.on {
    background: url("/common/images/mark_minus.png") no-repeat;
    background-position: right 20px center;
    background-size: 30px auto;
}
.mod_accordion_title:hover {
    color: #000;
    border-color: #000;
}
.mod_accordion_text {
    margin-bottom: 60px;
}
.mod_accordion_text.mod_accordion_grayarea {
    margin-top: -60px;
    padding: 60px 40px 30px;
    background: #f8f8f8;
}

.mod_box {
    margin-bottom: 100px;
    padding: 40px 40px 10px;
    border: 2px solid #333;
    border-radius: 6px;
}
.mod_box.narrow {
    margin-bottom: 50px;
}


@media screen and (max-width: 1060px){
    
    .mod_list_dl {
        margin-bottom: 10vw;
    }
    .mod_list_dl dt {
        width: calc(20% - 2vw);
        padding: 3vw 2vw 2vw 0;
        font-size: 2vw;
    }
    .mod_list_dl dd {
        padding: 3vw 0 2vw;
    }
    
    .mod_list_dl.narrow {
        margin-bottom: 5vw;
    }
    
    .mod_accordion_title {
        margin-bottom: 6vw;
        padding: 2vw 6vw 2vw 0;
        background-position: right 2vw center;
        background-size: 3vw auto;
        border-width: .4vw;
        font-size: 2vw;
    }
    .mod_accordion_title.on {
        background-position: right 2vw center;
        background-size: 3vw auto;
    }
    .mod_accordion_text {
        margin-bottom: 6vw;
    }
    .mod_accordion_text.mod_accordion_grayarea {
        margin-top: -6vw;
        padding: 6vw 4vw 3vw;
    }
    
    .mod_box {
        margin-bottom: 10vw;
        padding: 4vw 4vw 1vw;
        border-width: .3vw;
    }
    
    
}
@media screen and (max-width: 767px){

    .mod_list_dl {
        display: block;
        margin-bottom: 12vw;
        border-top: 1vw solid #333;
        border-bottom: none;
    }
    .mod_list_dl dt {
        width: 100%;
        padding: 6vw 0 0;
        font-size: 4.25vw;
        border-top: none;
        border-bottom: none;
    }
    .mod_list_dl dd {
        width: 100%;
        padding: 2vw 0 2vw;
        border-top: none;
        border-bottom: 1vw solid #333;
    }
    .mod_list_dl.mod_list_dl_noborder dd {
        padding-top: 4vw;
    }
    
    .mod_list_dl.narrow {
        margin-bottom: 6vw;
    }
    
    .mod_accordion_title {
        margin-bottom: 10vw;
        padding: 4vw 8vw 4vw 0;
        background-position: right 0 center;
        background-size: 6vw auto;
        border-width: .8vw;
        font-size: 4vw;
    }
    .mod_accordion_title.on {
        background-position: right 0 center;
        background-size: 6vw auto;
    }
    .mod_accordion_text {
        margin-bottom: 10vw;
    }
    .mod_accordion_text.mod_accordion_grayarea {
        margin-top: -10vw;
        padding: 10vw 6vw 4vw;
    }
    
    .mod_box {
        margin-bottom: 12vw;
        border-width: .6vw;
    }
    
}
@media screen and (max-width: 475px){
    
    
}

/* table */

.mod_table_scroll {
	margin: 0 0 45px;
}
.mod_table {
    width: 100%;
    margin: 0 0 45px;
    border-top: 1px solid #333;
    border-left: 1px solid #333;
    table-layout: fixed;
}
.mod_table caption {
    margin: 0 0 20px;
    font-size: 1.25rem;
    font-weight: 500;
    text-align: left;
}
.mod_table th,
.mod_table td,
.mod_table .mod_table_th {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
}
.mod_table th {
    padding: 30px 20px 0;
    background: #effcd1;
    font-size: 1rem;
    font-weight: 500;
    vertical-align: middle;
}
.mod_table .mod_table_th {
    padding: 30px 20px 0;
    font-weight: 500;
}
.mod_table td {
    padding: 30px 20px 0;
    background: #fff;
}
.mod_table td.mod_valign_center {
    vertical-align: middle;
}
.mod_table th .mod_txt,
.mod_table th .mod_list_arrow,
.mod_table .mod_table_th .mod_txt,
.mod_table .mod_table_th .mod_list_arrow {
    font-size: 1rem;
}
.mod_table th .mod_list_arrow li a,
.mod_table .mod_table_th .mod_list_arrow li a {
}
.mod_table th .mod_list_arrow li,
.mod_table .mod_table_th .mod_list_arrow li {
	padding-left: 0;
}
.mod_table th .mod_list_arrow li::before,
.mod_table .mod_table_th .mod_list_arrow li::before {
    display: none;
}
.mod_table th .mod_list_arrow li a,
.mod_table .mod_table_th .mod_list_arrow li a {
    display: inline-block;
    position: relative;
	padding-left: 1rem;
}
.mod_table th .mod_list_arrow li a::before,
.mod_table .mod_table_th .mod_list_arrow li a::before {
    position: absolute;
    content: '';
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    transform: rotate(45deg);
}


@media screen and (max-width: 1060px){
    
    .mod_table_scroll,
    .mod_table {
        margin: 0 0 4.5vw;
    }
    .mod_table caption {
        margin: 0 0 2vw;
        font-size: 1.8vw;
    }
    
    .mod_table .mod_table_th,
    .mod_table th,
    .mod_table td {
        padding: 3vw 2vw 0;
    }
    .mod_table th,
    .mod_table th .mod_txt,
    .mod_table th .mod_list_arrow,
    .mod_table .mod_table_th .mod_txt,
    .mod_table .mod_table_th .mod_list_arrow {
        font-size: 1.5vw;
    }
    .mod_table th .mod_list_arrow li a,
    .mod_table .mod_table_th .mod_list_arrow li a {
        padding-left: 1.6vw;
    }
    .mod_table th .mod_list_arrow li a::before,
    .mod_table .mod_table_th .mod_list_arrow li a::before {
        top: .8vw;
        width: .6vw;
        height: .6vw;
        border-width: .3vw;
    }
    
	.mod_table_scroll{
		overflow-x: auto;
	}
	.mod_table_scroll::-webkit-scrollbar{
		width: 5px;
		background: #f8f8f8;
	}
	.mod_table_scroll::-webkit-scrollbar:horizontal{
		height: 5px;
		background: #f8f8f8;
	}
	.mod_table_scroll::-webkit-scrollbar-thumb{
		background: #333;
		border-radius: 2px;
	}
	.mod_table_scroll::-webkit-scrollbar-thumb:horizontal{
		background: #333;
		border-radius: 2px;
	}
        
    
}
@media screen and (max-width: 767px){

    .mod_table_scroll,
    .mod_table {
        margin: 0 0 9vw;
    }
    .mod_table caption {
        margin: 0 0 4vw;
        font-size: 3.75vw;
    }
    
    .mod_table .mod_table_th,
    .mod_table th,
    .mod_table td {
        padding: 4.5vw 3vw 0;
    }
    .mod_table th,
    .mod_table th .mod_txt,
    .mod_table th .mod_list_arrow,
    .mod_table .mod_table_th .mod_txt,
    .mod_table .mod_table_th .mod_list_arrow {
        font-size: 3.5vw;
    }
    .mod_table th .mod_list_arrow li a,
    .mod_table .mod_table_th .mod_list_arrow li a {
        padding-left: 3.2vw;
    }
    .mod_table th .mod_list_arrow li a::before,
    .mod_table .mod_table_th .mod_list_arrow li a::before {
        top: 2vw;
        width: 1.2vw;
        height: 1.2vw;
        border-width: .6vw;
    }    
    
}
@media screen and (max-width: 475px){
    
    
}


/* pager */
.mod_pager_area {
    display: none;
}
.mod_pager {
    display: flex;
    justify-content: space-between;
    margin: 0 0 60px;
    font-size: .9375rem;
    font-weight: bold;
    line-height: 1.6;
}
.mod_pager,
.mod_pager a {
    color: #564735;
}
.mod_pager a:hover {
    color: #876;
}
.mod_pager_txt {
    text-align: center;
    letter-spacing: 2px;
}
.mod_pager_prev,
.mod_pager_next {
    position: relative;
    padding: 0 20px;
    letter-spacing: 2px;
}
.mod_pager_prev::before,
.mod_pager_next::after {
    position: absolute;
    top: 7px;
    left: 0;
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 2px #564735;
    border-right: solid 2px #564735;
    transform: rotate(-135deg);
}
.mod_pager_next::after {
    left: auto;
    right: 0;
    transform: rotate(45deg);
}

.mod_pager_btn {
	display: block;
	position: relative;
	min-width: 190px;
	margin: 0 auto 30px;
	padding: 20px 50px 20px 30px;
	background: #003cc8;
    border: none;
    border-radius: 5px;
	color: #f9f2e9;
	font-size: 1rem;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
    cursor: pointer;
    outline: none;
    transition: .3s;
}
.mod_pager_btn:hover {
    opacity: .7;
}
.mod_pager_btn::after {
	display: block;
	content: "";
	position: absolute;
	top: calc(50% - 8px);
	right: 20px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #f9f2e9;
	border-right: solid 1px #f9f2e9;
	transform: rotate(135deg);
}
.mod_pager_btn.close::after {
	top: calc(50% - 2px);
	transform: rotate(-45deg);
}
.mod_pager_num {
    text-align: center;
}
.mod_pager_num li {
    display: inline-block;
    margin: 0 10px;
}
.mod_pager_num li a {
    padding: 15px 20px;
}
.mod_pager_num li a:hover,
.mod_pager_num li.current a {
    background: #dbc8ab;
}

@media screen and (max-width: 1060px){
    .mod_pager_btn {
        min-width: auto;
        margin-top: -15px;
        padding: 15px 50px 15px 30px;
        font-size: .9375rem;
    }
    .mod_pager_num li {
        margin: 0 5px;
    }
}
@media screen and (max-width: 767px){
    .mod_pager {
        margin: 0 0 30px;
        font-size: .875rem;
    }
    .mod_pager_prev::before,
    .mod_pager_next::after {
        top: 5px;
    }
    .mod_pager_btn {
        font-size: .875rem;
    }
    .mod_pager_num li {
        margin: 0 0 20px;
    }
    .mod_pager_num li a {
        padding: 10px 14px;
    }
}
@media screen and (max-width: 475px){
    .mod_pager {
        font-size: .8125rem;
    }
    .mod_pager_prev,
    .mod_pager_next {
        padding: 0 12px;
    }
    .mod_pager_num li a {
        padding: 7px 10px;
    }
}


.mt00 {
    margin-top: 0!important;
}
.mb00 {
    margin-bottom: 0;
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb60 {
    margin-bottom: 60px;
}
.pb00 {
    padding-bottom: 0;
}
.pb10 {
    padding-bottom: 10px;
}
.pb20 {
    padding-bottom: 20px;
}
.pb30 {
    padding-bottom: 30px;
}
.pb60 {
    padding-bottom: 60px;
}
@media screen and (max-width: 1060px) {
    .mb10 {
        margin-bottom: 1vw;
    }
    .mb20 {
        margin-bottom: 2vw;
    }
    .mb30 {
        margin-bottom: 3vw;
    }
    .mb60 {
        margin-bottom: 6vw;
    }
    .pb10 {
        padding-bottom: 1vw;
    }
    .pb20 {
        padding-bottom: 2vw;
    }
    .pb30 {
        padding-bottom: 3vw;
    }
    .pb60 {
        padding-bottom: 6vw;
    }
}
@media screen and (max-width: 767px) {
    .mb10 {
        margin-bottom: 2vw;
    }
    .mb20 {
        margin-bottom: 4vw;
    }
    .mb30 {
        margin-bottom: 6vw;
    }
    .mb60 {
        margin-bottom: 12vw;
    }
    .pb10 {
        padding-bottom: 2vw;
    }
    .pb20 {
        padding-bottom: 4vw;
    }
    .pb30 {
        padding-bottom: 6vw;
    }
    .pb60 {
        padding-bottom: 12vw;
    }
}
