@charset "UTF-8";
@import url('../../../common/css/fontawesome.all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap');
@import url("print.css") print;
/* ============================================================================================================

    reset

============================================================================================================ */

*, ::before, ::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}
html {
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}
body {
    margin: 0;
}
main {
    display: block;
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
    margin: 0;
}
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}
ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}
dt {
    font-weight: bold;
}
dd {
    margin-left: 0;
}
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}
pre {
    font-family: monospace, monospace;
    font-size: inherit;
}
address {
    font-style: inherit;
}
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}
abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: inherit;
}
small {
    font-size: 80%;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
img, embed, object, iframe {
    vertical-align: bottom;
}

img {
  pointer-events: none;
}

button, input, optgroup, select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}
[type="checkbox"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}
[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio;
}
button, input {
    overflow: visible;
}
button, select {
    text-transform: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] {
    cursor: default;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}
select::-ms-expand {
    display: none;
}
option {
    padding: 0;
}
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}
legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
    vertical-align: baseline;
}
textarea {
    overflow: auto;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
label[for] {
    cursor: pointer;
}
details {
    display: block;
}
summary {
    display: list-item;
}
[contenteditable] {
    outline: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption {
    text-align: left;
}
td, th {
    vertical-align: top;
    padding: 0;
}
th {
    text-align: left;
    font-weight: bold;
}
template {
    display: none;
}
[hidden] {
    display: none;
}

/* ============================================================================================================

    PC

============================================================================================================ */

/* ========= common ========= */

html {
    font-size: 62.5%;
}
body {
    width: 100%;
    min-width: 320px;
    font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1.7rem;
    background: #fff;
    color: #333;
}
@media screen and (max-width:767px) {
    body {
        font-size: 1.4rem;
    }
}
.fontS {
	font-size: 50.78%;
}
.fontM {
	font-size: 62.5%;
}
.fontL {
	font-size: 68.75%;
}
a {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
a:hover {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}
img {
    width: auto;
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: bottom;
}
.pc { display: block; }
.sp { display: none; }

.bold { font-weight: bold; }

.al_c { text-align: center !important; }
.al_r { text-align: right !important; }
.al_l { text-align: left !important; }

.fsz_s { font-size: 90% !important; }
.fsz_ss { font-size: 80% !important; }
.fsz_s_6e { font-size: 0.6em !important;}

.c_red { color: #eb3838 !important;}

.indent_1 { padding-left: 1em; text-indent: -1em; }
.indent_1-5 { padding-left: 1.5em; text-indent: -1.5em; }
.indent_2 { padding-left: 2em; text-indent: -2em; }

.palt { font-feature-settings: "palt";}

/* ========= header ========= */

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 10000;
	height: 120px;
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
	box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
}
#gnav {
    width: 95%;
    max-width: 1380px;
    margin: 0 auto;
}
.gnav {
	width: 100%;
    height: 120px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.gnav_on_bg {
	display: none;
	width: 100%;
	height: 100vh;
	background-color: rgba(0,0,0,0.4);
}
.search .search_form {
    padding: 5px 10px;
    border-bottom: 2px solid #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.search_input {
    width: 100%;
}
.search input[type="submit"] {
    background: transparent url(../images/icon_search.jpg) no-repeat top center / contain;
    width: 25px;
    height: 25px;
    text-indent: -9999px;
}
.header h1 {
    padding-bottom: 25px;
    padding-right: 1em;
    width: 320px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.header h1 img {
	width: 100%;
}
.header_top {
    width: 250px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-bottom: 25px;
}
.header_sub_nav {
    position: relative;
}
.header_cmn_nav {
    width: 100%;
	height: 75px;
    padding: 0 20px;
}
.header_cmn_nav > ul {
	height: 75px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
    -ms-flex-pack: distribute;
}
.header_cmn_nav > ul > li {
	font-size: 1.6rem;
	font-weight: bold;
	border-bottom: 3px solid #fff;
    padding: 0 0.5vw;
    font-feature-settings: "palt";
    letter-spacing: 0.06em;
}
.header_cmn_nav > ul > li:hover {
	border-bottom: 3px solid #E95513;
}
.header_cmn_nav > ul > li.active {
    border-bottom: 3px solid #E95513;
}
.header_cmn_nav > ul > li .is_head {
	cursor: pointer;
    line-height: 1.2;
}
.header_cmn_nav > ul > li .is_head a {
    padding: 0 0 25px;
    display: block;
}
.fontL .header_cmn_nav > ul > li {
    padding: 0 0.5vw;
}
.header_sub_nav .m_sub_menu {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header_sub_nav .m_sub_menu > li {
    position: relative;
}
.header_sub_nav .m_sub_menu > li::after {
    content: '';
    width: 1px;
    height: 1em;
    display: block;
    background: #333;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
.header_sub_nav .m_sub_menu > li:last-child::after {
    content: none;
    border: none;
}
.header_sub_nav .m_sub_menu > li a,
.font_size_btn {
    padding: 5px 10px;
}
.font_size_btn {
    cursor: pointer;
}
.font_size_btn:hover {
    opacity: 0.7;
}
.font_size_panel {
    display: none;
    width: 100%;
    position: absolute;
    bottom: -15px;
    left: 0;
}
.fontL .header_sub_nav .m_sub_menu > li a {
    padding: 5px;
}
.font_change {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.font_change li {
    font-size: 1.5rem;
    color: #ff5624;
    font-weight: 500;
    text-align: center;
    width: 33.33%;
    background: #fff;
    padding: 17px 10px;
    border-radius: 5px;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0,0,0,.37);
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.37);
    margin-right: 5px;
    cursor: pointer;
}
#fontChange #fontS.selected,
#fontChange #fontM.selected,
#fontChange #fontL.selected {
    color: #fff;
    background: #ff5624;
}
.font_change li:last-child {
    margin: 0;
}
.header_cmn_nav > ul > li > .mega_menu {
	display: none;
	width: 100%;
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 2;
	text-align: left;
}
.header_cmn_nav > ul > li > .mega_menu .mega_menu_box {
	width: 100%;
	background-color: #fff;
	padding: 35px 40px 50px;
    -webkit-box-shadow: 0 10px 10px -5px rgba(0,0,0,.3);
            box-shadow: 0 10px 10px -5px rgba(0,0,0,.3);
}
.header_cmn_nav > ul > li > .mega_menu .mega_menu_box_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}
.mega_menu .m_cat_top {
    width: 30%;
    padding-right: 30px;
	background: #fff;
    border-right: 1px solid #afafaf;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.mega_menu .m_cat_ttl_e {
    color: #E95513;
    font-size: 3rem;
}
.mega_menu .m_cat_ttl_j {
    font-size: 1.8rem;
    margin-top: 1em;
}
.m_cat_link {
    width: 100%;
    max-width: 350px;
}
.m_cat_link a,
.m_cat_link a[href^="http"] {
    color: #fff;
    line-height: 1.2;
    font-weight: normal;
    background: #E95513;
    display: block;
    padding: 15px 55px 15px 20px !important;
    position: relative;
}
.m_cat_link a:hover {
    opacity: 1;
}
.m_cat_link a::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    width: 35px;
    height: 1px;
    background:#fff;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.m_cat_link a::after,
.m_cat_link a[href^="http"]::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    width: 10px;
    height:1px;
    background:#fff;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.m_cat_link a:hover::before,
.m_cat_link a:hover::after {
    right: 5px;
}
.mega_menu ul {
	width: 70%;
    height: 190px;
    padding-left: 50px;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.mega_menu ul.scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.mega_menu li a {
    font-size: 1.7rem;
    line-height: 1.3em;
    font-weight: bold;
	padding: 20px 35px 20px 0;
	position: relative;
	display: block;
}
/* 調整用 */
@media (max-width: 1385px) and (min-width: 768px){
    .header {
        height: 150px;
    }
    #gnav {
        width: 97%;
        height: 150px;
    }
    .gnav {
        height: 150px;
    }
    .header_cmn_nav {
        padding: 0;
    }
    .header_cmn_nav > ul {
        width: 100%;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }
    .header_cmn_nav > ul > li {
        font-size: 1.5rem;
    }
    .header_cmn_nav > ul > li > .mega_menu {
        top: 150px
    }
    .header_top {
        position: absolute;
        top: 13%;
        right: 2%;
        padding: 0;
    }

    .header_cmn_nav > ul > li > .mega_menu .mega_menu_box_inner {
        width: 100%;
    }
    .mega_menu ul {
        height: auto;
        min-height: 190px;
        max-height: 16em;
        padding-left: 3%;
    }
}
@media (max-width: 1000px) and (min-width: 768px){
    .header_cmn_nav > ul > li:nth-child(3) .mega_menu ul li a {
        padding: 5px 30px 5px 0;
    }
}
@media screen and (max-width: 1020px) {
    .header h1 {
        position: absolute;
        top: 15%;
        left: 2%;
    }
}

/* ========= footer ========= */

.footer {
	width: 100%;
	background: #000;
	line-height: 1.3;
	font-size: 1.3rem;
	position: relative;
}
.footer_cnt {
	padding: 50px 10px 35px;
	width: 90%;
	max-width: 1250px;
	margin: 0 auto;
}

.footer_cmn_nav {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.footer_cmn_nav dl {
	width: 19.5%;
    margin-right: 1em;
}
.footer_cmn_nav dl:last-child {
    width: auto;
	margin-right: 0;
}
.footer_cmn_nav dt {
    padding-bottom: 28px;
    font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
}
.footer_cmn_nav li {
    margin-bottom: 15px;
}
.footer_cmn_nav li a {
    color: #fff;
}
.footer_other_nav {
	text-align: center;
	padding: 0 0 60px;
}
.footer_other_nav ul {
	margin-top: 20px;
	height: 50px;
	background-color: #333;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.footer_other_nav li {
	padding: 0 17px;
	position: relative;
}
.footer_other_nav li a {
    color: #fff;
}
.footer_other_nav li:last-child {
    border-left: 1px solid #fff;
}
.footer_bottom {
    width: 98%;
    max-width: 1250px;
    margin: 60px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.footer_other_nav .copyright {
	font-size: 1.1rem;
    color: #fff;
}
.f_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.f_logo img {
    width: 280px;
    margin-right: 2em;
}
.f_logo p {
    color: #fff;
    font-weight: bold;
}
/* 調整用 */
@media screen and (min-width: 1366px) {
	.footer_cnt {
		padding: 50px 0 35px;
	}
}

#collective {
    width: 1000px;
    max-width: 90%;
    margin: 100px auto 100px;
}
.collective_link ul {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
}
.collective_col3 li {
    width: 30%;
    height: 120px;
    max-height: 12vw;
}
.collective_col2 li {
    width: 48%;
    height: 150px;
    max-height: 12vw;
}
.collective_link li a {
    height: 100%;
    padding: 1px 2% !important;
    border: 1px solid #ccc;
    font-size: 1.4rem;
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    justify-content: center;
}
.collective_link .collective_link_01 a:hover {
    opacity: 1 !important;
    border: 5px solid #f9ef44;
    transform: all 0.2s;
}
.collective_link .collective_link_02 a:hover {
    opacity: 1 !important;
    border: 5px solid #ec6d81;
    transform: all 0.2s;
}
.collective_link li a img {
    max-width: 100%;
    max-height: 100%;
}

/* ========= page_top ========= */

.page_top {
    position: fixed;
    bottom: 5vh;
    right: 3vw;
    z-index: 999;
}
.page_top a {
	text-decoration: none;
	background: #E95513;
	border-radius: 50%;
	opacity: 0.9;
	width: 6rem;
	height: 6rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.page_top a::before {
	content: '';
    width: 1.5rem;
    height: 1.5rem;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.page_top a:hover::before {
    top: 35%;
}

/* ========= bread ========= */

.bread {
    padding: 20px 0;
    margin-bottom: 20px;
    background: #f5f5f5;
}
.bread ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.bread ul li {
    font-size: 1.3rem;
}
.bread ul li:last-child {
    font-weight: 500;
}
.bread ul li a:hover {
    text-decoration: underline;
}

/* ========= contents ========= */

/* ========= list ========= */

.list_ttl {
    font-weight: bold;
    margin-bottom: 10px;
}
.list_note_1 > li {
    line-height: 1.3em;
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
.list_note_1 > li:last-child {
    margin-bottom: 0;
}
.list_note_1 > li::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.list_note_2 {
	counter-reset: li;
}
.list_note_2 > li {
    line-height: 1.3em;
    position: relative;
    padding-left: 2em;
    margin-bottom: 0.5em;
}
.list_note_2 > li:last-child {
    margin-bottom: 0;
}
.list_note_2 > li::before {
    font-weight: bold;
    counter-increment: li;
    content: "※" counter(li);
    position: absolute;
    top: 0;
    left: 0;
}
.list_order_1 {
    counter-reset: li;
}
.list_order_1 > li {
    line-height: 1.3em;
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
.list_order_1 > li:last-child {
    margin-bottom: 0;
}
.list_order_1 > li:before {
    font-weight: bold;
    counter-increment: li;
    content: counter(li) ". ";
    position: absolute;
    top: 0;
    left: 0;
}
.list_order_1 > li ul,
.list_order_1 > li ol {
    margin-top: 0.6em;
    padding-left: 20px;
}
.list_order_1 > li > .list_order_1 > li:before {
    font-weight: normal;
}
.list_1 {
	list-style: disc;
	list-style-position: outside;
	padding-left: 1.5em;
}
.list_1 li {
	line-height: 1.3em;
	margin-bottom: 0.5em;
}

/* ========= list icon ========= */

a[href$=".pdf"],
a[href^="http"] {
	padding-right: 0.4em;
	position: relative;
	display: initial;
	text-decoration: underline;
}
a[href$=".pdf"]:hover,
a[href^="http"]:hover {
	text-decoration: none;
}
a[href$=".pdf"]::after {
	position: relative;
	right: -0.3em;
	bottom: 0.1em;
	margin: auto;
	display: inline-block;
    width: 1em;
	height: 1em;
    color: #eb3838;
    font-family: "Font Awesome 5 Free";
	content: "\f1c1";
	vertical-align: middle;
    line-height: 1;
}

a[href^="http"]::after {
	position: relative;
	right: -0.5em;
	bottom: 0.1em;
	margin: auto;
	display: inline-block;
    width: 1em;
	height: 1em;
    color: #666;
    font-family: "Font Awesome 5 Free";
	content: "\f35d";
	vertical-align: middle;
    line-height: 1;
    font-weight: 900;
}
a.no_icon {
    text-decoration: none;
    padding-right: 0;
}
a.no_icon::after {
    content: none;
    bottom: auto;
}
a.no_line {
    text-decoration: none;
    padding-right: 4em !important;
}
a.no_line::after {
    bottom: auto;
    margin: 0;
}
header a[href$=".pdf"],
header a[href^="http"],
footer a[href$=".pdf"],
footer a[href^="http"],
a[href^="http"].no_ico {
    text-decoration: none;
}
header a[href$=".pdf"]::after,
header a[href^="http"]::after,
footer a[href$=".pdf"]::after,
footer a[href^="http"]::after,
a[href^="http"].no_ico::after {
    content: none;
}
header a[href$=".pdf"]:hover,
header a[href^="http"]:hover,
footer a[href$=".pdf"]:hover,
footer a[href^="http"]:hover,
a[href^="http"].no_ico:hover {
    opacity: 0.7;
}

/* ========= table ========= */

table {
	width: 100%;
	border-top: solid #e6e6e6 1px;
	border-left: solid #e6e6e6 1px;
	border-collapse: collapse;
	line-height: 1.5em;
}
table th {
	margin: 0;
	padding: 0.7em;
	vertical-align: top;
	background-color: #fafafa;
	border-right: solid #e6e6e6 1px;
	border-bottom: solid #e6e6e6 1px;
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
}
table td {
	padding: 0.7em;
	border-right: solid #e6e6e6 1px;
	border-bottom: solid #e6e6e6 1px;
}

/* ========= movie ========= */

.movie_link {
    position: relative;
    display: inline-block;
}
.movie_link:hover {
    opacity: 1;
}
.movie_link::before {
    content: "";
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #494949;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
}
.movie_link:hover::before {
    background-color: #ff5624;
}
.movie_link::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-left: solid 15px #fff;
    border-top: solid 10px transparent;
    border-bottom: solid 10px transparent;
    z-index: 2;
    margin-left: 2px;
}
.movie_link.no_btn::before,
.movie_link.no_btn::after {
    content: none;
}
.movie_link .over {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}
.movie_link .over:hover {
    background-color: rgba(0, 0, 0, 0.2);
}
.movie_link img {
    width: 100%;
}

.main {
    padding-top: 120px;
}
.inner {
    width: 100%;
    max-width: 1130px;
    margin: 0 auto;
    padding: 0 15px;
}
.contents_inner {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
}
.contents {
    padding-bottom: 100px;
}
.contents p {
    line-height: 1.8;
}
.contents_ttl {
    width: 100%;
    height: 300px;
    background: url(../images/ttl_lv2_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.contents_ttl .inner {
    position: relative;
    height: 100%;
}
.main_ttl_lv1 {
    padding-top: 5px;
}
.main_ttl_lv1 a {
    display: block;
}
.main_ttl_lv1 a img {
    width: 100%;
}
.main_ttl_lv2 {
    font-size: 3.8rem;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.2em;
    position: absolute;
    left: 15px;
    bottom: 50px;
    line-height: 1.3em;
    text-shadow: 0 0 10px #333;
}
.main_ttl_lv3_wrap {
    position: relative;
    margin: 45px 0;
}
.main_ttl_lv3 {
    width: 100%;
    color: #e95513;
    font-size: 3.3rem;
    font-weight: bold;
    line-height: 1.3em;
}
.main_ttl_lv4_wrap {
    padding-bottom: 5px;
    margin-bottom: 30px;
}
.main_ttl_lv4 {
    width: 100%;
    margin: 0 auto;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3em;
    padding: 0.2em 0 0.2em 20px;
    position: relative;
}
.main_ttl_lv4::before {
    content: '';
    display: block;
    width: 5px;
    height: 100%;
    background: #333;
    position: absolute;
    top: 0;
    left: 0;
}
.main_ttl_lv4_2_wrap {
    margin-bottom: 30px;
}
.main_ttl_lv4_e {
    font-size: 4.5rem;
    font-weight: bold;
    padding-right: 25px;
}
.main_ttl_lv4_2 {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3em;
}
.main_ttl_lv5 {
    font-size: 1.8rem;
	font-weight: bold;
    margin: 1em 0 1em;
	line-height: 1.3em;
    position: relative;
	padding-left: 1.2em;
}
.main_ttl_lv5::before {
    content: '■';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
	margin: auto;
}
.main_ttl_lv6 {
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 10px;
    border-bottom: 2px solid #d6d6d6;
    margin-bottom: 10px;
    position: relative;
    margin-bottom: 50px;
}
.main_ttl_lv6::before {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #ff5624;
    bottom: -2px;
    width: 15%;
}
.main_ttl_lv7 {
    font-size: 1.8rem;
	font-weight: bold;
    margin: 1em 0 1em;
	line-height: 1.3em;
}
.main_ttl_lv8 {
    color: #251e1c;
    font-size: 5.8rem;
    font-weight: bold;
}
.main_ttl_lv8 span {
    font-size: 2.2rem;
    display: block;
    margin-top: 0.8em;
}
.sec_inner {
    margin-bottom: 50px;
}
.menu_list {
    width: 100%;
    margin: 50px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.menu_list > li {
    font-size: 1.7rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.menu_list > li > a,
.menu_list > li > div {
    width: 100%;
    border: 5px solid #f5f5f5;
}
.menu_list > li > a:hover {
    color: #ff5624;
    opacity: 1;
}
.menu_list > li::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    border: 2px solid #ff5624;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.menu_list > li::after {
    content: "";
    display: block;
    width: 0.7em;
    height: 0.7em;
    border-top: 2px solid #ff5624;
    border-right: 2px solid #ff5624;
    position: absolute;
    top: 50%;
    right: 29px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.menu_list > li.reverse::after {
    border-top: none;
    border-right: none;
    border-bottom: 2px solid #ff5624;
    border-left: 2px solid #ff5624;
    right: 24px;
}
.menu_list > li:hover::after {
    -webkit-animation: arrowrotate .2s;
    animation: arrowrotate .2s;
}
@-webkit-keyframes arrowrotate {
    100% {
        -webkit-transform: translateY(-50%) rotate(360deg);
                transform: translateY(-50%) rotate(360deg);
    }
}
@keyframes arrowrotate {
    100% {
        -webkit-transform: translateY(-50%) rotate(360deg);
                transform: translateY(-50%) rotate(360deg);
    }
}
.menu_list_col1 > li {
    width: 100%;
    margin-bottom: 30px;
}
.menu_list_col1 > li > a {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.3em;
    height: 100%;
    display: block;
    padding: 50px 3.4em 50px 30px;
}
.menu_list_col2 {
    margin: 50px auto;
}
.menu_list_col2 > li {
    width: 48.7804%;
    margin-right: 2.439%;
    margin-bottom: 30px;
}
.menu_list_col2 > li:nth-of-type(2n) {
    margin-right: 0;
}
.menu_list_col2 > li > a {
    min-height: 250px;
}
.menu_list_col2 > li > div {
    height: 100%;
    display: block;
}
.menu_list_ver01 > li > div {
    padding: 0;
    line-height: 1.3em;
    font-weight: 500;
}
.menu_list_ver01 > li::before,
.menu_list_ver01 > li::after {
    content: none;
}
.menu_list_ttl {
    height: 80px;
    font-size: 1.7rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.3em;
    background: #f5f5f5;
    border-bottom: 5px solid #f5f5f5;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.menu_list_ttl a {
    display: block;
    padding: 10px 3.4em 10px 20px;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.menu_list_ttl::before {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    border: 0.12em solid #ff5624;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.menu_list_ttl::after {
    content: "";
    display: block;
    width: 0.7em;
    height: 0.7em;
    border-top: 0.12em solid #ff5624;
    border-right: 0.12em solid #ff5624;
    position: absolute;
    top: 50%;
    right: 28px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.menu_list_ttl:hover::after{
    -webkit-animation: arrowrotate .2s;
            animation: arrowrotate .2s;
}
.menu_list_sub_ttl {
    font-size: 0.7em;
}
.menu_list_cont {
    font-size: 1.6rem;
    padding: 25px 25px 25px 28%;
    min-height: 150px;
    position: relative;
}
.menu_list_col3 {
    margin: 50px auto;
}
.menu_list_col3 > li {
    width: 31.707%;
    margin-right: 2.439%;
    margin-bottom: 30px;
}
.menu_list_col3 > li:nth-of-type(3n) {
    margin-right: 0;
}
.menu_list_col3 > li a {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.3em;
    width: 100%;
    height: 100%;
    padding: 50px 3.4em 50px 30px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.menu_list_s {
    width: 90%;
}
.menu_list_s > li a {
    font-weight: 500;
    min-height: auto;
    padding: 20px 3.4em 20px 30px;
    line-height: 1.7;
}
.menu_list_ss {
    width: 100%;
    max-width: 990px;
}
.menu_list_ss + .menu_list_ss {
    margin-top: -25px;
}
.menu_list_ss > li {
    width: 45%;
    margin: 0 auto;
}
.menu_list_ss > li a {
    padding: 25px 3.4em 25px 30px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.btn_wrap {
    text-align: center;
    margin-top: 50px;
}
.btn {
    display: inline-block;
    border: 2px solid #ff5624;
    background: #ff5624;
    color: #fff;
    padding: 15px 10px;
    min-width: 250px;
    position: relative;
}
.btn:hover {
    opacity: 1;
}
.btn02 {
    font-weight: 500;
    display: inline-block;
    border: 5px solid #f5f5f5;
    background: #fff;
    padding: 10px 20px;
    min-width: 250px;
    position: relative;
}
.btn02:hover {
    opacity: 1;
    color: #ff5624;
}
.arrow_circle {
    padding-right: 3em;
}
.arrow_circle::before {
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    border: 2px solid #ff5624;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.arrow_circle::after {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #ff5624;
    border-right: 2px solid #ff5624;
    position: absolute;
    top: 50%;
    right: 24px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.arrow_circle:hover::after{
    -webkit-animation: arrowrotate .2s;
    animation: arrowrotate .2s;
}
a[href^="http"].btn02 {
    padding: 10px 20px;
    position: relative;
    display: inline-block;
    text-decoration: none;
}
a[href^="http"].arrow_circle {
    padding-right: 3em;
}
a[href^="http"].arrow_circle::after {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #ff5624;
    border-right: 2px solid #ff5624;
    position: absolute;
    top: 50%;
    bottom: auto;
    right: 24px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.arrow_right_l {
    padding-right: 60px;
}
.arrow_right_l::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    width: 35px;
    height: 1px;
    background: #fff;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.arrow_right_l::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    width: 10px;
    height:1px;
    background:#fff;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.arrow_right_l:hover::before,
.arrow_right_l:hover::after {
    right: 5px;
}
.sec_txt {
    font-size: 1.7rem;
}
.label_ttl {
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    background: #333;
    padding: 3px 10px 5px;
    margin-bottom: 15px;
}
.btn_list {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}
.btn_list > li {
    margin-right: 20px;
}
.btn_list_col2 > li {
    width: 350px;
}
.fontL .btn_list_col2 > li {
    width: 350px;
}
.btn_list > li:last-child {
    margin-right: 0;
}
.btn_list_wrap {
    text-align: center;
    margin-top: 80px;
}
.btn_list > li a {
    width: 100%;
    text-align: center;
    line-height: 1.7em;
    font-size: 1.6rem;
}
.lead {
	margin-bottom: 3em;
}
.bottom_link {
    display: none;
    width: 1000px;
    max-width: 90%;
    margin: 50px auto 50px;
}
.bottom_link_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.bottom_link_list > li {
    position: relative;
}
.bottom_link_list > li a {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.3;
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 8px;
    background: #fff;
    border: 5px solid #f5f5f5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    -webkit-transition: ease .2s;
    -o-transition: ease .2s;
    transition: ease .2s;
    position: relative;
    overflow: hidden;
}
.bottom_link_list > li a:hover {
    opacity: 1;
    border-color: #ff5624;
}
.bottom_link_list > li a span {
    position: relative;
    z-index: 3;
    color:#333;
}
.bottom_link_list > li::before {
    content: "";
    top: 0;
    right: 0;
    border-bottom: 1.5em solid transparent;
    border-right: 1.5em solid #f5f5f5;
    position: absolute;
    z-index: 3;
    -webkit-transition: ease .2s;
    -o-transition: ease .2s;
    transition: ease .2s;
}
.bottom_link_list > li:hover::before {
    border-right-color: transparent;
}
.bottom_link_list > li a:hover span {
    color:#fff;
}
.bottom_link_list > li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background:#ff5624;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -o-transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
            transform-origin: right top;
}
.bottom_link_list > li a:hover:before{
    -webkit-transform-origin:left top;
        -ms-transform-origin:left top;
            transform-origin:left top;
    -webkit-transform:scale(1, 1);
        -ms-transform:scale(1, 1);
            transform:scale(1, 1);
}
.bottom_link_list.col5 > li {
    width: 18.9%;
    min-height: 85px;
    margin: 0 1.36% 20px 0;
}
.bottom_link_list.col5 > li:nth-child(5n) {
    margin-right: 0;
}
.bottom_link_list.col4 > li {
    width: 24%;
    min-height: 85px;
    margin: 0 1.25% 20px 0;
}
.bottom_link_list.col4 > li:nth-child(4n) {
    margin-right: 0;
}
/* 調整用 */
@media (max-width: 1385px) and (min-width: 768px){
    .main {
        padding-top: 150px;
    }
}


/* ========= pull down ========= */
.select_year_wrap,
.select_cont_wrap {
    display: inline-block;
    margin-bottom: 30px;
    position: relative;
}
.select_year_wrap::before,
.select_cont_wrap::before {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 6.5px 0 6.5px;
    border-color: #333 transparent transparent transparent;
    pointer-events: none;
}
.select_year,
.select_cont {
    font-size: 2rem;
    font-weight: 500;
    border: 1px solid #333;
    border-radius: 5px;
    padding: 0 110px 0 20px;
    height: 45px;
}
.select_year:hover {
    cursor: pointer;
}
.select_year_list > ul > li {
    margin-bottom: 15px;
    line-height: 1.3;
}
.select_year_list > ul > li a {
    text-decoration: underline;
}
.select_year_list > ul > li a:hover {
    text-decoration: none;
}
.select_year_list > ul > li span {
    color: #666;
    width: 20%;
    display: inline-block;
    padding-right: 0.5em;
    text-decoration: none;
}








/* ============================================================================================================

    SP

============================================================================================================ */

@media screen and (max-width: 767px) {
    .pc { display: none; }
    .sp { display: block; }
    body.head_fixed {
		height: 100%;
		overflow: hidden;
	}
    .menu_list > li::before {
        width: 1.5em;
        height: 1.5em;
    }
    .menu_list > li::after {
        width: 0.5em;
        height: 0.5em;
        right: 25px;
    }
    .menu_list > li.reverse::after {
        right: 22px;
    }
    .menu_list_s > li {
        margin: 0 auto 30px;
    }
    .menu_list_s > li:last-child {
        margin-bottom: 0;
    }
    .menu_list_s > li a,
	.menu_list_ss > li a {
		font-size: 1.4rem;
	}
    .menu_list_s > li::after,
	.menu_list_ss > li::after {
        right: 25px;
    }
    .menu_list_ver01 .menu_list_ttl::before {
        width: 1.5em;
        height: 1.5em;
    }
    .menu_list_ver01 .menu_list_ttl::after {
        width: 0.5em;
        height: 0.5em;
        right: 25px;
    }
    .menu_list_cont {
        font-size: 1.4rem;
        padding-left: 25%;
    }
    .arrow_circle::after {
        right: 23px;
    }

    /* == scroll == */
	.sp_scroll,
    .sp_scroll_h {
        width: 100%;
		overflow-x: auto;
	}
    .sp_scroll .scroll_inner,
    .sp_scroll_h .scroll_inner {
		display: inline-block;
		padding: 10px 0;
	}
	.sp_scroll img {
		width: auto;
		max-width: 1000px;
	}
    .sp_scroll_h img {
		width: auto;
		max-width: 1000px;
        max-height: 70vh;
    }
    .scroll_table {
        max-width: 100%;
        transform: scale(1, -1);
        overflow-x: scroll;
        overflow-y: hidden;
        padding: 3vw 0;
        border: 1px solid #e7e7e7;
    }
    .scroll_table table {
        max-width: 1100px;
        transform: scale(1, -1);
    }
	.scroll_table::-webkit-scrollbar {
		height: 5px;
		background: #e7e7e7;
	}
	.scroll_table::-webkit-scrollbar-track {
		border-radius: 10px;
	}
	.scroll_table::-webkit-scrollbar-thumb {
		border-radius: 10px;
		background-color: #999;
	}

    /* ========= header ========= */
    .header {
        height: 17vw;
    }
	.header h1.sp {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding-left: 5vw;
		-webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-bottom: 0;
	}
    .header h1 img {
		width: 60vw;
		height: auto;
	}
    .header_cmn_nav {
		width: 100%;
        padding: 0;
	}
    .header_cmn_nav > ul {
		display: block;
	}
    .header_cmn_nav > ul > li,
    .header_cmn_nav > ul > li:hover {
		border-bottom: 2px solid #e6e6e6;
        padding: 0;
	}
    .header_cmn_nav > ul > li > div {
		position: relative;
		font-size: 3.7vw;
	}
    .header_cmn_nav,
	.header_cmn_nav > ul,
	.header_sub_nav,
	.header_top {
		height: auto;
	}
    .header_top {
		width: 100%;
		position: relative;
		padding: 0;
		margin-bottom: 90px;
	}
    .header_cmn_nav > ul > li > div.is_head {
		padding: 0.8em 0.5em 0.7em;
		font-size: 4.7vw;
		line-height: 1.2;
	}
	.header_cmn_nav > ul > li > div.is_head::after {
		content: '';
		width: 12px;
		height: 12px;
		border: 0;
		border-bottom: solid 2px #333;
		border-right: solid 2px #333;
		position: absolute;
		top: 50%;
		right: 3vw;
		margin-top: -6px;
		-webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
	}
    .header_cmn_nav > ul > li .is_head a {
        pointer-events: none;
        padding: 0;
    }
    .header_cmn_nav > ul > li > div.is_open:after {
		margin-top: -3px;
		-webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        transform: rotate(-135deg);
	}
    .header_cmn_nav > ul > li > div.no_accordion::after {
        right: 3.5vw;
        border-bottom: none;
        border-top: solid 2px #333;
		border-right: solid 2px #333;
    }
    .header_cmn_nav > ul > li > div.no_accordion.is_open:after {
        margin-top: -6px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
	}
    .header_cmn_nav > ul > li > .mega_menu .mega_menu_box_inner {
        display: block;
    }
    .mega_menu .m_cat_ttl_e {
        padding: 3.5vw 2vw 0 2vw;
        font-size: 3.5vw;
        margin-bottom: 0.5em;
    }
    .mega_menu .m_cat_ttl_j {
        margin-top: 0;
        padding-left: 2vw;
        font-size: 4.3vw;
        margin-bottom: 1em;
    }
    .m_cat_link {
        padding-left: 2vw;
        margin-bottom: 0.5em;
    }
    .header_sub_nav {
		margin-top: 3em;
	}
    .header_sub_nav .m_sub_menu {
        font-size: 1.4rem;
    }
    .header_sub_nav .m_sub_menu li a {
        padding: 5px 20px;
    }
    .header_cmn_nav > ul > li > .mega_menu {
		width: 100%;
		position: relative;
		top: auto;
		left: auto;
	}
	#gnav {
        width: 100%;
    }
	#panel_btn {
		position: absolute;
		top: 0;
		right: 2vw;
		bottom: 0;
		margin: auto;
		z-index: 999;
		width: 10vw;
		height: 10vw;
		text-indent: -9999px;
	}
	#panel_btn .close { background: transparent; }
	#panel_btn .close:before, #panel_btn .close:after { margin-top: 0; }
	#panel_btn .close:before {
		-webkit-transform: rotate(-135deg);
		-ms-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	#panel_btn .close:after {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#panel_btn_icon {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		display: block;
		margin: -0.4vw auto 0;
		width: 65%;
		height: 0.6vw;
		background: #333;
		-webkit-transition: .2s;
		-o-transition: .2s;
		transition: .2s;
	}
	#panel_btn_icon:before, #panel_btn_icon:after {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		display: block;
		width: 100%;
		height: 0.6vw;
		background: #333;
		content: "";
		-webkit-transition: .3s;
		-o-transition: .3s;
		transition: .3s;
	}
	#panel_btn_icon:before { margin-top: -2.7vw; }
	#panel_btn_icon:after { margin-top: 2.1vw; }
	#panel_btn_icon.close { width: 80%;}
	.gnav {
		position: absolute;
		top: 17vw;
		z-index: 1000;
		display: none;
		padding: 6vw 5vw;
		width: 100%;
		height: 91vh;
		height: calc(100vh - 17vw);
		overflow-y: scroll;
		background: #fff;
		border-top: 3px solid #ff5624;
	}
    .gnav a {
		display: block;
	}
	.gnav_on_bg {
		margin-top: 17vw;
	}
    .mega_menu ul {
        height: auto;
    }
    .header_cmn_nav > ul > li > .mega_menu .mega_menu_box {
		padding: 0;
		border-top: 2px solid #e6e6e6;
        border-bottom: none;
        -webkit-box-shadow: none;
                box-shadow: none;
	}
    .mega_menu .m_cat_top {
		width: 100%;
        padding: 0;
		font-size: 3.9vw;
		border: none;
	}
	.mega_menu .m_cat_top a {
		font-size: 100%;
		padding: 3vw 60px 3vw 3vw;
	}
    .mega_menu ul {
		width: 100%;
		padding: 0;
		display: block;
        margin-bottom: 1em;
	}
    .mega_menu li {
		width: 100%;
		padding-left: 2vw;
		font-size: 3.8vw;
	}
    .mega_menu li a {
        font-size: 3.8vw;
        padding: 2.5vw 2vw;
	}
    .fontL .header_cmn_nav > ul > li {
        padding: 0;
    }
    /* ========= footer ========= */
    .footer_cnt {
        width: 100%;
        padding: 11vw 5vw 5vw;
    }
    .footer_cmn_nav {
        display: block;
    }
    .footer_cmn_nav dl {
		width: 100%;
		margin-right: 0;
		border-bottom: 0.2vw solid #ccc;
	}
	.footer_cmn_nav dl:last-child {
		border-bottom: 0;
	}
    .footer_cmn_nav dl:last-child .is_head {
        border-bottom: 0.2vw solid #ccc;
    }
	.footer_cmn_nav dt {
		padding-bottom: 0;
	}
	.footer_cmn_nav dt div {
		padding: 3.6vw 10vw 2.8vw 1vw;
		font-size: 4.4vw;
		position: relative;
	}
    .footer_cmn_nav dl .link {
        padding: 0;
    }
    .footer_cmn_nav dl .link::before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    }
    .footer_cmn_nav dl .link a {
        padding: 3.6vw 10vw 2.8vw 1vw;
    }
	.footer_cmn_nav dt div:before {
		content: '';
		width: 12px;
		height: 12px;
		border: 0;
		border-bottom: solid 2px #fff;
		border-right: solid 2px #fff;
		position: absolute;
		top: 50%;
		right: 3vw;
		margin-top: -6px;
		-webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
	}
	.footer_cmn_nav dt.is_open div:before {
		-webkit-transform: rotate(-135deg);
		-ms-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
    .footer_cmn_nav dt div a {
		display: block;
	}
    .footer_cmn_nav dd {
		display: none;
	}
	.footer_cmn_nav dd a {
		padding: 3vw 6vw 2.5vw 1vw;
		position: relative;
		display: block;
		font-size: 3.7vw;
        color: #333;
	}
	.footer_cmn_nav dd a:before {
		content: '';
		width: 10px;
		height: 10px;
		border: 0;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		position: absolute;
		top: 50%;
		right: 3vw;
		margin-top: -6px;
		-webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
	}
	.footer_cmn_nav ul {
		padding: 0 1vw 0 3vw;
        background: #fff;
	}
	.footer_cmn_nav li {
		margin-bottom: 0;
		border-bottom: 0.2vw solid #ccc;
	}
	.footer_cmn_nav li:last-child {
		margin-bottom: 5vw;
        border: none;
	}
    .footer_other_nav {
		padding: 0 5vw 13vw;
	}
	.footer_other_nav ul {
		width: 100%;
		height: auto;
		background-color: transparent;
		margin-top: 0;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.footer_other_nav li {
		width: 50%;
		margin-bottom: 0.5vw;
		padding: 0;
	}
    .footer_other_nav li:last-child {
        border: none;
    }
	.footer_other_nav li:nth-child(odd){
		padding: 0 0.5vw 0 0;
	}
	.footer_other_nav li:after {
        position: absolute;
        top: 50%;
        right: 3vw;
        content: "";
        margin-top: -1vw;
        width: 1.8vw;
        height: 1.8vw;
        border: 1px solid;
        border-color: #fff #fff transparent transparent;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
	}
	.footer_other_nav li a {
		font-size: 2.7vw;
        text-align: left;
		width: 100%;
		height: 100%;
		padding: 1em 1.5em 0.8em;
		background-color: #333;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
    .footer_bottom {
        display: block;
        width: 100%;
        margin-top: 10vw;
    }
    .f_logo {
        display: block;
        margin-bottom: 30px;
    }
    .f_logo img {
        width: 65vw;
        margin: 0;
    }
    .f_logo p {
        font-size: 2.4vw;
        margin-top: 1em;
    }
    .footer_other_nav .copyright {
		font-size: 2.7vw;
	}
    /* ========= page_top ========= */
    .page_top {
        bottom: 3vh;
    }
    .page_top a {
        width: 4.5rem;
        height: 4.5rem;
    }
    /* ========= bread ========= */
    .bread {
        display: none;
    }
    /* ========= contents ========= */
    .main {
        padding-top: 17vw;
    }
    .inner {
        width: 100%;
    }
    .contents {
        padding-bottom: 50px;
    }
    .contents_ttl {
        height: 150px;
    }
    .main_ttl_lv2 {
        font-size: 2.2rem;
        left: 20px;
        bottom: 30px;
    }
    .main_ttl_lv3 {
        font-size: 2.2rem;
    }
    .main_ttl_lv4_e {
        font-size: 2.3rem;
        padding-right: 1em;
    }
    .main_ttl_lv4_2_wrap {
        margin-bottom: 0;
    }
    .main_ttl_lv4_2 {
        font-size: 1.7rem;
    }
    .menu_list {
        display: block;
        width: 100%;
        margin: 30px auto;
    }
    .menu_list_ttl {
        font-size: 1.7rem;
        height: 70px;
    }
    .menu_list_ttl a {
        padding: 10px 2.5em 10px 20px;
    }
    .menu_list_ss + .menu_list_ss {
        margin-top: -10px;
    }
    .menu_list li {
        margin-right: 0;
    }
    .menu_list_ss > li {
        width: 100%;
        margin: 0 0 20px;
    }
    .menu_list_ss > li:last-child {
        margin-bottom: 0;
    }
    .menu_list_col2 > li {
        width: 100%;
    }
    .menu_list_col3 > li {
        width: 100%;
        margin-bottom: 10px;
    }
    .menu_list_col1 > li a,
    .menu_list_col3 > li a {
        padding: 25px 3em 25px 15px;
    }
    .btn_wrap {
        margin: 30px 0;
    }
    .sec_inner {
        padding: 0;
    }
    .main_ttl_lv3_wrap {
        margin: 20px 0;
    }
    .main_ttl_lv3_wrap::after {
        width: 30%;
        background: -o-linear-gradient(320deg, transparent 25%, transparent 45%, rgb(230, 90, 90));
        background: linear-gradient(130deg, transparent 25%, transparent 45%, rgb(230, 90, 90));
    }
    .main_ttl_lv4_wrap {
        margin-bottom: 20px;
    }
    .main_ttl_lv4 {
        font-size: 1.9rem;
    }
	.main_ttl_lv5 {
		font-size: 1.6rem;
	}
	.main_ttl_lv7 {
		font-size: 1.6rem;
	}
	.main_ttl_lv8 {
		font-size: 8vw;
	}
    .main_ttl_lv8 span {
        font-size: 4.3vw;
        line-height: 1.5em;
        text-align: center;
    }
    .sec_txt {
        font-size: 1.4rem;
    }
    .btn_list_wrap {
        margin-top: 50px;
    }
    .btn_list {
        display: block;
    }
    .btn_list li {
        width: 100%;
        margin: 0 auto 20px;
    }
    .btn_list li:last-child {
        margin-bottom: 0;
    }
    .btn_list_col2 > li a {
        font-size: 4vw;
    }
    .fontL .btn_list_col2 > li {
        width: 100%;
    }
    .fontL .btn_list_col2 > li a {
        padding: 10px 2.5em 10px 0;
    }
	.lead {
		margin-bottom: 2em;
	}
    .bottom_link {
        margin: 10vw auto 10vw;
    }
    .bottom_link_list {
        display: block;
    }
    .bottom_link_list.col5 > li {
        width: 100%;
        min-height: auto;
        margin: 0 0 10px 0;
    }
    .bottom_link_list.col4 > li {
        width: 100%;
        min-height: auto;
        margin: 0 0 10px 0;
    }
    .bottom_link_list > li a {
        font-size: 1.4rem;
        padding: 15px 10px;
        min-height: 67px;
    }

    #collective {
        margin: 7vw auto 7vw;
    }
    .collective_link ul {
       margin-top: 2vw;
       flex-wrap: wrap;
    }
    .collective_col3 li, .collective_col2 li {
        width: 49%;
        height: 26vw;
        max-height: 26vw;
        margin-top: 2vw;
    }
    .collective_link li a {
        font-size: 1.1rem;
    }

    /* ========= pull down ========= */
    .select_year_wrap,
    .select_cont_wrap {
        margin-bottom: 20px;
    }
    .select_year,
    .select_cont {
        font-size: 1.7rem;
    }
    .select_year_list > ul > li span {
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }


}