@charset 'utf-8';

/*


    01 Foundation

===================================*/

/*===================================
    Reset
===================================*/

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html {
    line-height: 1.15;

    -webkit-text-size-adjust: 100%;
}body {
    margin: 0;
}h1 {
    font-size: 2em;
    margin: .67em 0;
}hr {
    overflow: visible;
    box-sizing: content-box;
    height: 0;
}pre {
    font-family: monospace,monospace;
    font-size: 1em;
}a {
    background-color: transparent;
}abbr[title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    border-bottom: none;
}b,
strong {
    font-weight: bolder;
}code,
kbd,
samp {
    font-family: monospace,monospace;
    font-size: 1em;
}small {
    font-size: 80%;
}sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}sub {
    bottom: -.25em;
}sup {
    top: -.5em;
}img {
    border-style: none;
}button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}button,
input {
    overflow: visible;
}button,
select {
    text-transform: none;
}[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
}[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    padding: 0;
    border-style: none;
}[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}fieldset {
    padding: .35em .75em .625em;
}legend {
    display: table;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0;
    white-space: normal;
    color: inherit;
}progress {
    vertical-align: baseline;
}textarea {
    overflow: auto;
}[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0;
}[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}[type=search] {
    outline-offset: -2px;

    -webkit-appearance: textfield;
}[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}::-webkit-file-upload-button {
    font: inherit;

    -webkit-appearance: button;
}details {
    display: block;
}summary {
    display: list-item;
}template {
    display: none;
}[hidden] {
    display: none;
}
/*# sourceMappingURL=normalize.min.css.map */

/*===================================
    Default
===================================*/

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    /* padding: 101px 0 0; */
    padding: 0;
    letter-spacing: 0;
    color: #000;
    background-color: #fff;
    -webkit-text-size-adjust: none;
    font-weight: 400;
    /* overflow-x: hidden; */
    position: relative;
}
p {
    margin: 10px 0;
}
select {
    padding: 5px;
}
a {
    text-decoration: none;
    color: #333;
}
a:hover {
    min-height: 1em; /* Mac Firefox */
    text-decoration: none;
    color: #0068b6;
}
img {
    vertical-align: bottom;
}
ul {
    list-style-type: none;
}
ol {
    padding: 20px 0 0 23px;
}
ol li{
    padding-left: 10px;
}
dl {
    margin: 20px 0;
}
dl dt {
    margin: 20px 0 0;
}
dl dd {
    margin: 5px 0 0;
}
dl dt:first-child {
    margin: 0;
}
dl {
    margin: 20px 0;
}
dl dt {
    margin: 20px 0 0;
}
h1,
h2,
h3,
h4,
h5 {
    font-weight: normal;
}
b{
    font-weight: 900;
}
figure{
    margin: 0;
}
*{
    box-sizing: border-box;
}

@media screen and (max-width:767px) {
body {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1px;
}
ul {
    padding: 0 15px;
}
}






/*


    02 Layout

===================================*/

/*===================================
    header
===================================*/

#header {
    line-height: 1;
    position: absolute;
    z-index: 2;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    background: #FFF;
    height: 75px;
    overflow: hidden;
}
#header .container {
    position: relative;
    box-sizing: border-box;
    padding: 0 0 0 20px;
    margin: 0 auto;
    max-width: 1280px;
    height: 100%;
}
#header .header-primary-box {
    height: 100%;
}
#header .header-primary {
    display: flex;
    align-items: center;
    height: 100%;
    flex-wrap: wrap;
}

@media screen and (max-width: 1000px) {
#header {
    width: 100%;
    height: 55px;
    background-color: #fff;
    position: fixed !important;
    /* box-shadow: 0 1px 1px #EEE; */
    transition: none !important;
}
#header .container {
    display: block;
    width: 100%;
    padding: 0 20px;
}
#header::after {
    display: none;
}
#header .header-primary {
    display: block;
}
}

/* .logo */

#header .logo {
    width: 25%;
    margin: 0;
    padding: 0;
    position: relative;
    align-items: center;
}

@media screen and (max-width: 1000px) {
#header .logo {
    width: 230px;
    left: -7px;
    top: 14px;
}
}

/* scroll */

#header{
    transition: background 0.5s, position 0.5s;
}
#header.scroll {
    position: fixed !important;
    z-index: 9999;
    top: 0;
    display: block;
    width: 100%;
    opacity: 1 !important;
    color: #191919;
    background: rgba(255,255,255,0.9) !important;
    color: #000 !important;
    height: 72px;
    box-shadow: 2px 0 2px #BBB;
}
#header.scroll .header-navi li a {
    color: #000 !important;
}
#header.scroll .logo {
    background-color: transparent;
}
#header.scroll::after {
    display: none;
}

@media screen and (max-width: 1000px) {
#header.scroll{
    height: 55px;
}
}

/* #header.scroll .container{
    padding: 10px 80px;
}
#header.scroll .logo{
    width: 90px;
}
#header.scroll .drawer-hamburger {
    position: absolute;
    top: 8px;
    right: 83px;
} */

/* header-navi-box */

#header .header-navi-box {
    margin: auto 0;
    padding: 0 0 0 55px;
    display: flex;
    width: 75%;
    align-items: center;
}
#header .header-navi {
    margin: 0 0 0 auto;
    padding: 0;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    flex-wrap: wrap;
}
#header .header-navi li {
    display: block;
    margin: 5px 30px 5px 0;
}
#header .header-navi li:first-child {
    margin-left: 0;
}
#header .header-navi li a {
    display: block;
    box-sizing: border-box;
    text-decoration: none;
}
#header .header-navi li a:hover {
    text-decoration: underline;
}

@media screen and (max-width:1000px) {
#header .header-navi-box {
    width: 700px;
}
#header .header-navi li {
    margin: 5px 0 5px 0;
    width: 33%;
}
}

/* header-action-navi */

#header .header-action-navi {
    padding: 0;
    margin: 0 0 0 0;
    position: relative;
    display: flex;
}
#header .contact,
#header .bbs{
    width: 100px;
}

/* sp-navi */

@media (max-width: 1000px) {

/* open-button */

.sp-navi-toggle {
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 55px;
    height: 55px;
    transition: all .4s;
    color: #FFF;
    border: none;
    outline: none;
    background: #4c679c;
    -webkit-appearance: unset;
}
.sp-navi-toggle .menu,
.sp-navi-toggle .close {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 34px;
    height: 11px;
    margin: auto;
    right: 0;
    top: 20px;
    display: none;
}
.sp-navi-toggle .close {
    display: none;
}
.sp-navi-toggle .bar {
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background-color: #FFF;
    right: 0;
    margin: auto;
    bottom: 0;
}
.sp-navi-toggle .bar:nth-of-type(1) {
    top: -10px;
}
.sp-navi-toggle .bar:nth-of-type(2) {
    top: 0px;
}
.sp-navi-toggle .bar:nth-of-type(3) {
    top: 10px;
}

/* close-button */

html.sidebar-is-open .sp-navi-toggle .bar:nth-of-type(1) {
    top: 5px;
    transform: rotate(45deg);
}
html.sidebar-is-open .sp-navi-toggle .bar:nth-of-type(2) {
    top: 5px;
    transform: rotate(-45deg);
}
html.sidebar-is-open .sp-navi-toggle .bar:nth-of-type(3) {
    display: none;
}
html.sidebar-is-open .sp-navi-toggle .menu {
    display: none;
}
html.sidebar-is-open .sp-navi-toggle .close {
    display: none;
}




/* html.sidebar-is-open .sp-navi-toggle{
    top: 26px;
    border-bottom: none;
} */
/* html.sidebar-is-open .sp-navi-toggle::before,
html.sidebar-is-open .sp-navi-toggle::after{
    display: block;
    background-color: #464646;
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
} */
/* html.sidebar-is-open .sp-navi-toggle::before{
    top: 0;
    left: 0;
    transform: rotate(45deg);
}
html.sidebar-is-open .sp-navi-toggle::after{
    top: 0;
    left: 0;
    transform: rotate(-45deg);
}
html.sidebar-is-open .sp-navi-toggle .label{
    top: 12px;
} */

/* sp-navi-box */

/* .sidebar-is-open body.index #main{
    padding-top: 55px;
} */

.header-navi-box {
    display: none !important;
}
html.sidebar-is-open .sp-header {
    display: block !important;
}
html.sidebar-is-open .header-navi-box {
    display: block !important;
}
html.sidebar-is-open {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
/*
 メインコンテンツをposition: fixed;で配置
 これが実装の要です。
 短所: bodyは一番上までスクロールし、ユーザーのスクロール位置を失います。
*/
/* 元のフルスクリーンの幅からサイズ変更しないようにする */
}.sidebar-is-open #header.sp-header {
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    background: rgba(245,245,245,1) !important;
}
.sidebar-is-open #header.sp-header .container {
    padding: 0;
}
.sidebar-is-open #header.sp-header .logo {
    background: #FFF;
    width: 100%;
    left: 0;
    height: 55px;
}
.sidebar-is-open #header.sp-header .logo img {
    width: 230px;
    left: 13px;
    position: relative;
}
.sidebar-is-open #header.sp-header .sp-navi-box {
    margin: 0;
    padding: 0;
    width: 100%;
}
.sidebar-is-open #header.sp-header .sp-navi {
    margin: 0;
    padding: 0;
}
.sidebar-is-open #header.sp-header .sp-navi li {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.sidebar-is-open #header.sp-header .sp-navi li a {
    display: block;
    padding: 17px 20px;
    border-bottom: 1px solid #666;
    position: relative;
}
.sidebar-is-open #header.sp-header .sp-navi li a:hover {
    text-decoration: none;
}
.sidebar-is-open #header.sp-header .sp-navi li a::after {
    position: absolute;
    top: 0;
    right: 0px;
    bottom: 0;
    display: block;
    width: 20px;
    height: 1px;
    margin: auto;
    content: '';
    background: #FFF;
}

/* sp-action-navi */

.sidebar-is-open #header.sp-header .sp-action-navi {
    padding: 0;
    margin: 40px auto 0;
    top: 0;
    position: relative;
}
.sidebar-is-open #header.sp-header .sp-action-navi li{
    text-align: center;
    margin: 0 auto 10px;
    padding: 0 20px;
}
}

/*===================================
    main
===================================*/

#main {
    display: block;
    padding-top: 75px;
}
.container {
    position: relative;
    box-sizing: border-box;
    max-width: 1280px;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
}

body.index #main{
    padding-top: 0;
}

@media screen and (max-width:1000px) {
#main {
    padding-top: 55px;
}
#main .container {
    width: 100%;
    padding: 0 20px;
}
body.index #main{
    padding-top: 0;
}
}

/*===================================
    footer
===================================*/

#footer {
    position: relative;
    background: url('../images/common/footer_bg.png') no-repeat center center;
    background-size: cover;
}
#footer .footer-primary{
    display: flex;
    padding: 0;
    margin: 0;
}

@media screen and (max-width:767px) {
#footer .footer-primary{
    flex-wrap: wrap;
}
}

/* footer-logo-box */

#footer .logo-box {
    width: 40%;
}
#footer .logo {
    position: relative;
    padding: 0;
    margin: 0;
    width: 140px;
}
#footer .description {
    font-size: 14px;
}

@media screen and (max-width:767px) {
#footer .logo-box {
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
    text-align: center;
}
}

/* footer-navi */

#footer .footer-navi-box {
    width: 100%;
    display: flex;
}
#footer .footer-navi-section {
    font-size: 13px;
    padding: 0px 0 0 35px;
}
#footer .footer-navi-section:first-child {
    padding: 0px 0 0 0;
}
#footer .footer-navi {
    padding: 0;
}
#footer .footer-navi li {
    font-size: 13px;
    margin: 5px 0 0;
    padding: 0 0 0 15px;
}
#footer .footer-navi li:first-child{
    margin-top: 0;
}

@media screen and (max-width:767px) {
#footer .footer-navi-box {
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#footer .footer-navi-section {
    margin: 10px 0 0;
    padding: 0;
    width: 50%;
    padding-right: 10px !important;
}
#footer .footer-navi {
    width: 100%;
    margin: 0 0 0;
}
#footer .footer-navi li {
    position: relative;
    display: inline-block;
    font-size: 12px;
    margin: 10px 0 0;
    padding: 0 15px 0 0;
}
#footer .footer-navi li:first-child{
    margin-top: 10px;
}
#footer .footer-navi li::before{
    content: '';
}
}

/* copyright */

#footer .copyright-box {
    font-size: 14px;
    margin: 0;
    padding: 20px 0;
    text-align: center;
}

@media screen and (max-width:767px) {
#footer .copyright {
    text-align: center;
    font-size: 10px;
    margin: 0;
}
}





/*



    03-01 Component

===================================*/

/*===================================
    container
===================================*/

/* container-fluid */

.container-fluid {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
}

@media screen and (max-width:767px) {
.container-fluid {
    min-width: 100%;
}
}

/*===================================
    breadcrumb
===================================*/

#breadcrumb {
    background: url('../images/common/breadcrumb_img_home.png') no-repeat left 17px;
    background-size: 16px auto;
    margin: 0;
    padding: 15px 0 10px;
    font-size: 12px;
}
#breadcrumb li {
    position: relative;
    display: inline;
    float: left;
    margin-left: 25px;
    letter-spacing: 0;
    margin-bottom: 5px;
}
#breadcrumb li::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -16px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #979797;
    border-right: 1px solid #979797;
}
#breadcrumb li:first-child {
    margin-left: 0;
}
#breadcrumb li:first-child a {
    margin-left: 0;
    padding-left: 28px;
}
#breadcrumb li:first-child::before {
    content: '';
}

#breadcrumb li:last-child::before {
    display: none;
}

@media screen and (max-width:767px) {
#breadcrumb {
    background: url('../images/common/breadcrumb_img_home.png') no-repeat left 16px;
    background-size: 14px auto;
}
#breadcrumb li {
    font-size: 10px;
}
#breadcrumb li::before {
    right: -15px;
    width: 5px;
    height: 5px;
}
#breadcrumb li:first-child a {
    margin-left: 0;
    padding-left: 26px;
}
}

/*===================================
    hero
===================================*/

.hero {
    position: relative;
    box-sizing: border-box;
}
/* #main .hero .container{
    width: auto;
    display: inline-block;
} */
.hero-primary {
    height: 600px;
    background-size: cover;
}
.hero-secondary {
    position: relative;
    height: 320px;
    background: #999;
}
.hero .container{
    position: relative;
    height: 100%;
}
.hero .hero-primary-box{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-direction: column;
}

@media screen and (max-width:767px) {
.hero-secondary {
    height: 180px;
}
.hero-secondary h1 {
    max-width: 326px;
    text-align: center;
    margin: 0 auto;
    font-size: 22px;
}
}

/*===================================
    title
===================================*/

.h1 {
    font-size: 36px;
    line-height: 1.25;
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: bold;
}
.h2 {
    position: relative;
    font-weight: 900;
    /* font-size: 48px; */
    font-size: 26px;
    line-height: 1.7;
    margin: 0;
    padding: 0;
    text-align: center;
    letter-spacing: 1px;
}
.h3 {
    font-size: 24px;
    /* font-size: 30px; */
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    margin: 0;
    text-align: center;
    letter-spacing: 2px;
}
.h4 {
    font-size: 20px;
    text-align: center;
}
.h5 {
    font-size: 16px;
    text-align: center;
}
.h6 {
    font-size: 14px;
    text-align: center;
}

@media screen and (max-width:767px) {
.h1 {
    font-size: 24px;
}
.h2 {
    font-size: 22px;
    letter-spacing: 0;
    line-height: 1.5;
}
.h3 {
    font-size: 18px;
    letter-spacing: 0;
}
}

/*===================================
    sub title
===================================*/

.h1-sub {
    font-size: 26px;
    margin: 10px 0 0;
    padding: 0;
    text-align: center;
    font-weight: bold;
}
.h2-sub {
    font-size: 16px;
    font-weight: 900;
    position: relative;
    margin: 10px 0 0;
    text-align: center;
    line-height: 1;
    letter-spacing: 1px;
}
.h3-sub {
    font-size: 14px;
    font-weight: 900;
}
@media screen and (max-width:767px) {
.h1-sub {
    font-size: 18px;
}
.h2-sub {
    font-size: 12px;
    /* line-height: 0; */
}
}

/*===================================
    add sub title
===================================*/

.h-label{
    display: inline-block;
    background: #000;
    color: #FFF;
    line-height: 1;
    padding: 3px 4px 5px;
    text-align: center;
    margin: 0 auto;
    border-radius: 4px;
}
.h-number{
    font-size: 45px;
    line-height: 1;
    font-weight: bold;
}

@media screen and (max-width:767px) {
.h-number{
    font-size: 24px;
}
}

/*===================================
    border title
===================================*/

.h2-border,
.h2-border-white{
    position: relative;
}
.h2-border::after {
    position: absolute;
    right: 0;
    bottom: -25px;
    left: 0;
    display: block;
    width: 40px;
    height: 4px;
    margin: 0 auto;
    content: '';
    background: #000;
}
.h2-border-blue::after {
    position: absolute;
    right: 0;
    bottom: -25px;
    left: 0;
    display: block;
    width: 40px;
    height: 4px;
    margin: 0 auto;
    content: '';
    background: #4C669B;
}
.h3-border {
    position: relative;
}
.h3-border::before {
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    display: block;
    width: 40px;
    height: 1px;
    margin: 0 auto;
    content: '';
    background: #000;
}

@media screen and (max-width:767px) {
.h2-border::before,
.h2-border-white::before{
    top: -28px;
    width: 1px;
    height: 23px;
}
.h2-border::after,
.h2-border-white::after {
    top: -19px;
    width: 5px;
    height: 5px;
}
}

/*===================================
    tbl
===================================*/

.tbl {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}
.tbl td,
.tbl th {
    line-height: 1.5;
    padding: 20px 40px;
    border-top: 1px solid #DDDDDD;
    text-align: left;
    vertical-align: top;
}
.tbl tr:first-child td,
.tbl tr:first-child th {
    border-top: 0px solid #DDDDDD;
}
.tbl th {
    background: #F5F5F5;
    font-family:  '游明朝', 'Cormorant Garamond', serif;
}
.tbl td {
    vertical-align: top;
    background: #FAFAFA;
}

@media screen and (max-width:767px) {
.tbl td,
.tbl th {
    display: block;
    padding: 13px 20px;
    font-size: 12px;
    width: 100%;
    box-sizing: border-box;
}
.tbl tr:first-child td,
.tbl tr:first-child th {
    border-top: 1px solid #DDDDDD;
}
}

.tbl-pc-fix td,
.tbl-pc-fix th {
    display: table-cell;
    width: auto;
}

/* tbl-list */

.tbl-list {
  overflow: hidden;
  *zoom: 1;
  border-right: #ddd solid 1px;
  border-bottom: #ddd solid 1px;
  border-left: #ddd solid 1px;
  background: #999;
}
.tbl-list dt, .tbl-list dd {
  padding: 10px;
  border-top: #ddd solid 1px;
}
.tbl-list dt {
  width: 150px;
  color: #fff;
  float: left;
}
.tbl-list dd {
  border-left: #ddd solid 1px;
  background: #fff;
  overflow: hidden;
}

/*===================================
    btn
===================================*/

.btn {
    font-weight: bold;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    min-width: 200px;
    height: auto;
    margin: 0;
    padding: 10px 50px 13px;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #000;
    border-radius: 0;
    -webkit-appearance: none;
}
.btn:hover {
    text-decoration: none;
    opacity: .30;
    color: #333;
    /* color: #45bfff; */
    /* background: #e3f5ff; */
}
.btn:focus {
    outline: none;
}
::-moz-focus-inner {
    padding: 0;
    border: 0;
}

@media screen and (max-width:767px) {
.btn {
    padding: 10px 25px;
}
}

/* btn type */

.btn-round{
    border-radius: 1000px;
}

/* btn-primary */

.btn-primary {
    color: #fff;
    border: none;
    background-color: #4c679c;
}
.btn-primary:hover {
    opacity: .65;
    color: #fff;
}
.btn-primary:disabled,
.btn-primary.is-disabled {
    opacity: .5;
}

/* btn-secondary */

.btn-secondary {
    border: 1px solid #000;
}
.btn-secondary:hover {
    opacity: .30;
    /* color: #FFF; */
}
.btn-secondary:disabled,
.btn-secondary.is-disabled {
    opacity: .5;
}

/* btn-size */

.btn-ex {
    width: 100%;
}
.btn-md{
    width: 350px;
}

/* btn shadow color */

.btn-primary.bg-black {
    background-color: black !important;
}
.btn-primary.bg-gray {
    background-color: #66777f !important;
}
.btn-primary.bg-white {
    background-color: white !important;
}
.btn-primary.bg-blue {
    background-color: #4c679c !important;
}
.btn-primary.bg-aqua {
    background-color: #e3f5ff !important;
}
.btn-primary.bg-green {
    box-shadow: 5px 5px 0 #eaffc1 !important;
}
.btn-primary.bg-yellow {
    background-color: yellow !important;
}
.btn-primary.bg-orange {
    background-color: orange !important;
}
.btn-primary.bg-red {
    background-color: red !important;
}

/*===================================
    btn icon
===================================*/

.ico::before,
.ico-left::before,
.ico-right::before {
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    text-rendering: auto;
    line-height: 0;
    font-weight: 900;
    margin-right: .3em;
}
.ico-left{
    padding-left: 40px;
    padding-right: 40px;
}
.ico-right{
    padding-right: 40px;
    padding-left: 40px;
}
.ico-right::before {
    position: absolute;
    right: 10px;
    top: 50%;
}
.ico-left::before {
    position: absolute;
    left: 10px;
    top: 50%;
}

@media screen and (max-width:767px) {
.ico-left{
    padding-left: 15px;
    padding-right: 15px;
}
.ico-right{
    padding-right: 30px;
    padding-left: 15px;
}
}

.ico-angle-right::before {
    content: '\f105';
}
.ico-angle-down::before {
    content: '\f107';
}
.ico-file-pdf::before {
    content: '\f1c1';
}
.ico-window-restore::before {
    content: '\f2d2';
}

/*===================================
    box
===================================*/

.box {
    padding: 25px;
}
.box-scroll {
    overflow-y: scroll;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

@media screen and (max-width:767px) {
    .box {
        padding: 15px;
    }
}

/*===================================
    list
===================================*/

.list {
    list-style: disc outside;
}
.list > li {
    margin-top: 7px;
}

/* square-list */

.square-list{
    margin: 0;
    padding: 0;
}
.square-list > li{
    position: relative;
    padding-left: 25px;
    letter-spacing: 0;
    margin-top: 7px;
}
.square-list > li::before{
    content: '■';
    display: block;
    position: absolute;
    margin: 0;
    padding: 0;
    top: 5px;
    left: 0;
    transform: scale(0.4);
    line-height: 1;
}

/*===================================
    maker
===================================*/

.maker {
    padding: 0 5px;
    background: linear-gradient(transparent 75%, #fff4bc 75%);
}
.maker-dot{
    position: relative;
    z-index: 1;
}
/* .maker-dot::after {
    content: '';
    display: block;
    position: relative;
    border-bottom: 3px dotted #CCC;
    margin: auto;
    transform: rotate(-1deg);
    top: -13px;
    z-index: -1;
} */
.maker-dot {
    border-bottom: 3px dotted #CCC;
}

/*===================================
    paragraph
===================================*/

.read {
    text-align: center;
}
@media screen and (max-width:767px) {
.read {
    text-align: left;
}
.read br {
    display: none;
}
}

/*===================================
    font-size
===================================*/

.fsxxl { font-size: 34px; }
.fsxl { font-size: 28px; }
.fsl { font-size: 24px; }
.fsml { font-size: 20px; }
.fsm { font-size: 16px; }
.fsms { font-size: 14px; }
.fss { font-size: 12px; }
.fsxs { font-size: 10px; }
.fsxxs { font-size: 8px; }

@media screen and (max-width:767px) {
.fsxxl { font-size: 20px; }
.fsxl { font-size: 20px; }
.fsl { font-size: 18px; }
.fsml { font-size: 16px; }
.fsm { font-size: 14px; }
.fsms { font-size: 12px; }
.fss { font-size: 10px; }
.fsxs { font-size: 8px; }
.fsxxs { font-size: 6px; }
}

/*===================================
    font-family
===================================*/

.ff-serif{
    font-family:  '游明朝', 'Cormorant Garamond', serif;
}
.ff-montserra{
    font-family: 'Montserrat', sans-serif;
}
.ff-oswald{
    font-family: 'Oswald', sans-serif;
}
.ff-arial{
    font-family: 'Arial', sans-serif;
}
.ff-meiriyo{
    font-family: Meiriyo, 'Ã£Æ’Â¡Ã£â€šÂ¤Ã£Æ’ÂªÃ£â€šÂª', sans-serif;
}
.ff-segoe-light{
    font-family: 'Segoe UI Light', 'Montserrat', sans-serif;
}
.ff-segoe-black{
    /* font-family: 'Segoe UI', 'Noto Sans JP', 'Helvetica', 'Arial', 'Montserrat', sans-serif; */
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
}

/*===================================
    section
===================================*/

.sec-xxlg {
    padding-top: 200px;
    padding-bottom: 200px;
}
.sec-xlg {
    padding-top: 180px;
    padding-bottom: 180px;
}
.sec-lg {
    padding-top: 160px;
    padding-bottom: 160px;
}
.sec-md {
    padding-top: 120px;
    padding-bottom: 120px;
}
.sec-sm {
    padding-top: 80px;
    padding-bottom: 80px;
}
.sec-xsm {
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec-xxsm {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media screen and (max-width:767px) {
.sec-xxlg {
    padding-top: 120px;
    padding-bottom: 120px;
}
.sec-xlg {
    padding-top: 100px;
    padding-bottom: 100px;
}
.sec-lg {
    padding-top: 80px;
    padding-bottom: 80px;
}
.sec-md {
    padding-top: 40px;
    padding-bottom: 40px;
}
.sec-sm {
    padding-top: 30px;
    padding-bottom: 30px;
}
.sec-xsm {
    padding-top: 20px;
    padding-bottom: 20px;
}
.sec-xxsm {
    padding-top: 10px;
    padding-bottom: 10px;
}
}

/*===================================
    txt-link
===================================*/

.txt-link {
    text-decoration: underline;
    word-break: break-all;
    color: #4C669B;
}
.arrow-right-link {
    position: relative;
    background: url('../images/common/ico_arrow_right_white.png') no-repeat right 7px;
    background-size: 11px auto;
    padding-right: 20px;
}
.arrow-link-right::before {
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 14px;
    height: 14px;
    margin: auto;
    content: '';
    z-index: 100;
}

/*===================================
    margin sizing
===================================*/

/* margin all */

.mxxl { margin: 200px; }
.mxl { margin: 160px; }
.ml { margin: 120px; }
.mml { margin: 100px; }
.mm { margin: 80px; }
.mms { margin: 60px; }
.ms { margin: 40px; }
.mxs { margin: 20px; }
.mxxs { margin: 10px; }

/* margin-top */

.mtxxl { margin-top: 200px; }
.mtxl { margin-top: 160px; }
.mtl { margin-top: 120px; }
.mtml { margin-top: 100px; }
.mtm { margin-top: 80px; }
.mtms { margin-top: 60px; }
.mts { margin-top: 40px; }
.mtxs { margin-top: 20px; }
.mtxxs { margin-top: 10px; }

/* margin-right */

.mrxxl { margin-right: 200px; }
.mrxl { margin-right: 160px; }
.mrl { margin-right: 120px; }
.mrml { margin-right: 100px; }
.mrm { margin-right: 80px; }
.mrms { margin-right: 60px; }
.mrs { margin-right: 40px; }
.mrxs { margin-right: 20px; }
.mrxxs { margin-right: 10px; }

/* margin-bottom */

.mbxxl { margin-bottom: 200px; }
.mbxl { margin-bottom: 160px; }
.mbl { margin-bottom: 120px; }
.mbml { margin-bottom: 100px; }
.mbm { margin-bottom: 80px; }
.mbms { margin-bottom: 60px; }
.mbs { margin-bottom: 40px; }
.mbxs { margin-bottom: 20px; }
.mbxxs { margin-bottom: 10px; }

/* margin-left */

.mlxxl { margin-left: 200px; }
.mlxl { margin-left: 160px; }
.mll { margin-left: 120px; }
.mlml { margin-left: 100px; }
.mlm { margin-left: 80px; }
.mlms { margin-left: 60px; }
.mls { margin-left: 40px; }
.mlxs { margin-left: 20px; }
.mlxxs { margin-left: 10px; }

@media screen and (max-width:767px) {

/* margin all */

.mxxl { margin: 120px; }
.mxl { margin: 100px; }
.ml { margin: 80px; }
.mml { margin: 60px; }
.mm { margin: 40px; }
.mms { margin: 20px; }
.ms { margin: 15px; }
.mxs { margin: 10px; }
.mxxs { margin: 5px; }

/* margin-top */

.mtxxl { margin-top: 120px; }
.mtxl { margin-top: 100px; }
.mtl { margin-top: 80px; }
.mtml { margin-top: 60px; }
.mtm { margin-top: 40px; }
.mtms { margin-top: 20px; }
.mts { margin-top: 15px; }
.mtxs { margin-top: 10px; }
.mtxxs { margin-top: 5px; }

/* margin-right */

.mrxxl { margin-right: 120px; }
.mrxl { margin-right: 100px; }
.mrl { margin-right: 80px; }
.mrml { margin-right: 60px; }
.mrm { margin-right: 40px; }
.mrms { margin-right: 20px; }
.mrs { margin-right: 15px; }
.mrxs { margin-right: 10px; }
.mrxxs { margin-right: 5px; }

/* margin-bottom */

.mbxxl { margin-bottom: 120px; }
.mbxl { margin-bottom: 100px; }
.mbl { margin-bottom: 80px; }
.mbml { margin-bottom: 60px; }
.mbm { margin-bottom: 40px; }
.mbms { margin-bottom: 20px; }
.mbs { margin-bottom: 15px; }
.mbxs { margin-bottom: 10px; }
.mbxxs { margin-bottom: 5px; }

/* margin-left */

.mlxxl { margin-left: 120px; }
.mlxl { margin-left: 100px; }
.mll { margin-left: 80px; }
.mlml { margin-left: 60px; }
.mlm { margin-left: 40px; }
.mlms { margin-left: 20px; }
.mls { margin-left: 15px; }
.mlxs { margin-left: 10px; }
.mlxxs { margin-left: 5px; }
}

/*===================================
    padding sizing
===================================*/

/* padding all */

.pxxl { padding: 200px; }
.pxl { padding: 160px; }
.pl { padding: 120px; }
.pml { padding: 100px; }
.pm { padding: 80px; }
.pms { padding: 60px; }
.ps { padding: 40px; }
.pxs { padding: 20px; }
.pxxs { padding: 10px; }

/* padding-top */

.ptxxl { padding-top: 200px; }
.ptxl { padding-top: 160px; }
.ptl { padding-top: 120px; }
.ptml { padding-top: 100px; }
.ptm { padding-top: 80px; }
.ptms { padding-top: 60px; }
.pts { padding-top: 40px; }
.ptxs { padding-top: 20px; }
.ptxxs { padding-top: 10px; }

/* padding-right */

.prxxl { padding-right: 200px; }
.prxl { padding-right: 160px; }
.prl { padding-right: 120px; }
.prml { padding-right: 100px; }
.prm { padding-right: 80px; }
.prms { padding-right: 60px; }
.prs { padding-right: 40px; }
.prxs { padding-right: 20px; }
.prxxs { padding-right: 10px; }

/* padding-bottom */

.pbxxl { padding-bottom: 200px; }
.pbxl { padding-bottom: 160px; }
.pbl { padding-bottom: 120px; }
.pbml { padding-bottom: 100px; }
.pbm { padding-bottom: 80px; }
.pbms { padding-bottom: 60px; }
.pbs { padding-bottom: 40px; }
.pbxs { padding-bottom: 20px; }
.pbxxs { padding-bottom: 10px; }

/* padding-left */

.plxxl { padding-left: 200px; }
.plxl { padding-left: 160px; }
.pll { padding-left: 120px; }
.plml { padding-left: 100px; }
.plm { padding-left: 80px; }
.plms { padding-left: 60px; }
.pls { padding-left: 40px; }
.plxs { padding-left: 20px; }
.plxxs { padding-left: 10px; }

@media screen and (max-width:767px) {

/* padding all */

.pxxl { padding: 120px; }
.pxl { padding: 100px; }
.pl { padding: 80px; }
.pml { padding: 60px; }
.pm { padding: 40px; }
.pms { padding: 20px; }
.ps { padding: 15px; }
.pxs { padding: 10px; }
.pxxs { padding: 5px; }

/* padding-top */

.ptxxl { padding-top: 120px; }
.ptxl { padding-top: 100px; }
.ptl { padding-top: 80px; }
.ptml { padding-top: 60px; }
.ptm { padding-top: 40px; }
.ptms { padding-top: 20px; }
.pts { padding-top: 15px; }
.ptxs { padding-top: 10px; }
.ptxxs { padding-top: 5px; }

/* padding-right */

.prxxl { padding-right: 120px; }
.prxl { padding-right: 100px; }
.prl { padding-right: 80px; }
.prml { padding-right: 60px; }
.prm { padding-right: 40px; }
.prms { padding-right: 20px; }
.prs { padding-right: 15px; }
.prxs { padding-right: 10px; }
.prxxs { padding-right: 5px; }

/* padding-bottom */

.pbxxl { padding-bottom: 120px; }
.pbxl { padding-bottom: 100px; }
.pbl { padding-bottom: 80px; }
.pbml { padding-bottom: 60px; }
.pbm { padding-bottom: 40px; }
.pbms { padding-bottom: 20px; }
.pbs { padding-bottom: 15px; }
.pbxs { padding-bottom: 10px; }
.pbxxs { padding-bottom: 5px; }

/* padding-left */

.plxxl { padding-left: 120px; }
.plxl { padding-left: 100px; }
.pll { padding-left: 80px; }
.plml { padding-left: 60px; }
.plm { padding-left: 40px; }
.plms { padding-left: 20px; }
.pls { padding-left: 15px; }
.plxs { padding-left: 10px; }
.plxxs { padding-left: 5px; }
}

/*===================================
    border
===================================*/

/* border-color */

.bd-black {
    border-color: black !important;
}
.bd-gray {
    border-color: #66777f !important;
}
.bd-silver {
    border-color: #ccd4d7 !important;
}
.bd-white {
    border-color: white !important;
}
.bd-blue {
    border-color: #45c1ff !important;
}
.bd-aqua {
    border-color: #e3f5ff !important;
}
.bd-lightaqua {
    border-color: #f5fbff !important;
}
.bd-green {
    border-color: #86cb00 !important;
}
.bd-yellow {
    border-color: yellow !important;
}
.bd-orange {
    border-color: orange !important;
}
.bd-red {
    border-color: red !important;
}
.bd-pink {
    border-color: #e2c2bf !important;
}

/*===================================
    font color
===================================*/

.black { color: black !important; }
.gray { color: #A59FA5 !important; }
.silver { color: #ccd4d7 !important; }
.white { color: white !important; }
.blue { color: #4c679c !important; }
.green { color: #85cb00 !important; }
.yellow { color: yellow !important; }
.orange { color: #ff5200 !important; }
.red { color: #71000A !important; }
.gold { color: #cdab81 !important; }

/*===================================
    bg color
===================================*/

.bg-black {
    background-color: black !important;
}
.bg-gray {
    background-color: #F5F5F5 !important;
}
.bg-dark-gray {
    background-color: #EFEFEF !important;
}
.bg-silver {
    background-color: #ccd4d7 !important;
}
.bg-white {
    background-color: white !important;
}
.bg-blue {
    background-color: #4c679c !important;
}
.bg-aqua {
    background-color: #e3f5ff !important;
}
.bg-lightaqua {
    background-color: #f5fbff !important;
}
.bg-skyblue {
    background-color: #b4e5ff !important;
}
.bg-green {
    background-color: #86cb00 !important;
}
.bg-yellow {
    background-color: #ffefa0 !important;
}
.bg-lightyellow {
    background-color: #fffcec !important;
}
.bg-orange {
    background-color: #ffd9a6 !important;
}
.bg-lightorange {
    background-color: #fff7ed !important;
}
.bg-red {
    background-color: #e50012 !important;
}
.bg-pink {
    background-color: #f8f3f0 !important;
}

/* add */

.bg-triangle-half {
    position: relative;
    width: 100%;
    height: 100%;
    background: linear-gradient(118deg, rgba(255,255,255,1) 50%,rgba(249,249,249,1) 50%);
}

/*===================================
    border color
===================================*/

.bd-black {
    border-color: black !important;
}
.bd-gray {
    border-color: #CCC !important;
}
.bd-white {
    border-color: white !important;
}
.bd-blue {
    border-color: #45bfff !important;
}
.bd-green {
    border-color: green !important;
}
.bd-yellow {
    border-color: yellow !important;
}
.bd-orange {
    border-color: orange !important;
}
.bd-red {
    border-color: #e50012 !important;
}

/*===================================
    table scroll
===================================*/

@media screen and (max-width:767px) {
    .tbl-scroll-x {
        overflow-x: scroll;
        overflow-y: hidden;
    }
}

/*===================================
    responsive states
===================================*/

.sp { display: none !important; }

@media screen and (max-width:767px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/*===================================
    clearfix
===================================*/

.cf:before,
.cf:after{
  content: " ";
  display: table;
}
.cf:after{ clear: both; }

/*===================================
    tel link
===================================*/

a[href^="tel:"] { pointer-events: none; }
@media screen and (max-width:767px) {
a[href^="tel:"] { pointer-events: auto; }
}

/*===================================
    over
===================================*/

.over:hover {
    transition: opacity 300ms 0s ease;
    opacity: .5;
        filter: alpha(opacity=70);
    -ms-filter: 'alpha(opacity=70)';
}

/* scale-over */

.scale-over{
    width: 100%;
    overflow: hidden;
    display: block;
}
.scale-over > *{
    width: 100%;
    transition: all 0.3s linear !important;
}
.scale-over:hover > *{
    transform: scale(1.4);
    cursor: pointer;
}

/* hover-gradation */

.hover-gradation {
    position: relative;
}
.hover-gradation::before,
.hover-gradation::after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    opacity: 0;
}
.hover-gradation::before {
    background: #004b83; /* Old browsers */
    background: linear-gradient(to right, #004b83 0%,#0068b5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    transition: opacity 350ms cubic-bezier(0.165, 0.84, 0.44, 1), width 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
}
.hover-gradation::after {
    line-height: 1;
    content: "MORE";
    font-family: 'Oswald', sans-serif;
    color: #fff;
    letter-spacing: 5px;
    left: calc(50% - 24px);
    top: calc(50% - 6px);
    transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hover-gradation:hover::before {
    opacity: 0.8;
    width: 100%;
}
.hover-gradation:hover::after {
    opacity: 1;
    transition-delay: 200ms;
}

@media screen and (max-width:767px) {
.hover-gradation::before,
.hover-gradation::after {
    display: none;
}
}

/* hover-oscar */

.hover-oscar {
    position: relative;
}
.hover-oscar:hover > *::before{
    opacity: 0.8;
    transform: scale(1);
}
.hover-oscar > *::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid #fff;
    content: '';
    transform: scale(0.55);
    transition: opacity 0.55s, transform 0.55s;
    opacity: 0;
    width: 92%;
    height: 86%;
    margin: auto;
    right: 0;
}




/*



    03-02 Project (Page)

===================================*/

/*===================================
    index
===================================*/

/* header */

body.index {
    padding: 0;
}
body.index #header {
    background: transparent;
    position: absolute;
    color: #FFF;
}
body.index #header::after {
    content: '';
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100 */
    background: -moz-linear-gradient(top,  rgba(255,255,255,0.8) 45%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0.8) 45%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0.8) 45%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
}

/* hero */

.index.hero-primary{
    position: relative;
    /* height: 100%; */
    height: 640px;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: rgb(245, 245, 245);
    background-size: cover;
    animation-name: fadeIn;
    display: flex;
    align-items: center;
    /* background-attachment: fixed; */
}
#main .index.hero-primary .container{
    flex-grow: 1;
    max-width: 1280px;
    padding: 0 80px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}
.index.hero-primary .h1{
    text-align: left;
    width: 48%;
    position: absolute;
    bottom: 330px;
}
.index.hero-primary .img01{
    position: absolute;
    bottom: -50px;
    right: 22%;
    width: 20%;
    margin: 0;
}
.index.hero-primary .img02{
    position: absolute;
    bottom: -50px;
    right: 0;
    width: 20%;
    margin: 0;
}

@media screen and (max-width:767px) {
.index.hero-primary {
    height: 300px;
}
#main .index.hero-primary .container {
    width: 100%;
    min-width: 100%;
    padding: 0 20px;
}
.index.hero-primary .h1{
    text-align: left;
    width: 280px;
    position: absolute;
    top: 60px;
}
.index.hero-primary .img01 {
    position: absolute;
    right: 118px;
    bottom: -5%;
    width: 100px;
    margin: 0;
}
.index.hero-primary .img02 {
    position: absolute;
    right: 10px;
    bottom: -5%;
    width: 100px;
    margin: 0;
}
}

/* index-about-box */

.index-about-box .image {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

@media screen and (max-width:767px) {
.index-about-box .image:after {
    padding-top: 70%;
    display: block;
    content: '';
}
}

/* index-information-image */

.index-information-image {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.index-information-body,
.index-foreign-body,
.index-application-body,
.index-donation-box,
.index-faq-box {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.index-information-body .inner,
.index-foreign-body .inner,
.index-application-body .inner,
.index-donation-box .inner,
.index-faq-box .inner{
    padding: 40px 20px;
}
.index-application-image {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.index-faq-box {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.index-donation-box {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

@media screen and (max-width:767px) {
.index-information-body {
    display: block;
}
.index-information-body .inner,
.index-foreign-body .inner,
.index-application-body .inner
.index-faq-box .inner,
.index-donation-box .inner{
    padding: 30px 20px;
}
}

/* index-news-box */

.index-news-list .item{
    position: relative;
    display: block;
    margin: 0 0 40px;
}
.index-news-list .date{
    font-size: 14px;
    margin: 0;
    margin: 15px 0 10px;
    padding: 0;
    font-weight: bold;
    position: relative;
    letter-spacing: 1px;
}
.index-news-list .image{
    overflow: hidden;
    position: relative;
}
.index-news-list .image::before{
    content: '';
    display: block;
    padding-top: 58%;
}
.index-news-list .image img{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
}
.index-news-list .title{
    font-size: 14px;
    font-weight: bold;
    margin: 10px 0 0;
    padding: 0;
}

@media screen and (max-width:767px) {
.index-news-list .item{
    padding: 0 5px;
    margin: 0 0 20px;
}
.index-news-list .item .date{
    font-size: 10px;
}
.index-news-list .item .title{
    font-size: 10px;
}
.home .index-news-list .item:nth-child(4){
    display: none;
}
}

/*===================================
    page
===================================*/

.hero.page{
    background: #fcfdfc url('../images/common/hero_img.jpg') no-repeat center top;
    background-size: cover;
}

/*===================================
    scholarship
===================================*/

/* scholarship-flow-box */

.scholarship-flow-list{
    background: #F5F5F5;
}
.scholarship-flow-list .item{
    position: relative;
    margin: 0;
    padding: 31px 60px 22px;
    border-top: 1px solid #FFF;
}
.scholarship-flow-list .item:first-child {
    border-top: 0 solid #FFF;
}
.scholarship-flow-list .item::after {
    width: 0;
    height: 0;
    border-top: 22px solid #4C679C;
    border-right: 23px solid transparent;
    border-left: 23px solid transparent;
    content: '';
    display: block;
    margin: 0 auto;
    position: absolute;
    left: -20px;
    right: 0;
    bottom: -23px;
}
.scholarship-flow-list .item:nth-child(3)::after {
    border-color: #F5F5F5;
    z-index: 999;
    border-right: 23px solid transparent;
    border-left: 23px solid transparent;
}
.scholarship-flow-list .item:last-child::after{
    display: none;
}
.scholarship-flow-list .item .number{
    font-weight: bold;
    font-size: 26px;
    position: absolute;
    line-height: 1;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 20px;
}
.scholarship-flow-list .item .title{
    font-weight: bold;
    font-size: 26px;
    padding-right: 2%;
    line-height: 1;
    text-align: center;
}
.scholarship-flow-list .item.complete .title{
    width: 100%;
    font-size: 36px;
}

@media screen and (max-width:767px) {
.scholarship-flow-list .item{
    padding: 30px 15px;
}
.scholarship-flow-list .item::after{
    height: 15px;
    bottom: -31px;
    left: 0;
    border-right-width: 15px;
    border-left-width: 15px;
    border-top-width: 15px;
}
.scholarship-flow-list .item:nth-child(3)::after {
  border-color: #F5F5F5;
  z-index: 999;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
}
.scholarship-flow-list .item .number{
  position: relative;
  top: auto;
  width: 100%;
  font-size: 12px;
  text-align: center;
}
.scholarship-flow-list .item .title{
    font-size: 22px;
    width: 100%;
    margin: 15px 0 0;
}
}

/*===================================
    scholarship - foreign
===================================*/

.foreign-requirements-list {
    counter-reset: li;    /* li のカウンタを 0 にセット */
    list-style: none;
    font-weight: bold;
}
.foreign-requirements-list li{
    margin-top: 16px;
    display: flex;
    padding-left: 0;
}
.foreign-requirements-list li::before {
    /* color: #4C669B; */
    font-weight: bold;
    counter-increment: li;   /* li の数を一つずつ増加 */
    content: counter(li) ". ";          /* 数を表示 */
    margin-right: 20px;
}
.foreign-requirements-list li:first-child{
    margin-top: 0;
}


/*===================================
    voice
===================================*/

/* voice-list */

.voice-list{
    margin-right: -20px;
    margin-left: -20px;
}
.voice-list .item{
    position: relative;
    display: block;
    margin: 0 0 60px;
    font-size: 14px;
    width: 20%;
    padding: 0 25px;
}
.voice-list .image{
    overflow: hidden;
    position: relative;
}
.voice-list .image::before{
    content: '';
    display: block;
    padding-top: 100%;
}
.voice-list .image img{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.voice-list .school{
    font-weight: bold;
    margin: 0 0 0;
    padding: 0;
    line-height: 1.5;
}
.voice-list .name{
    font-weight: bold;
    margin: 10px 0 0;
    padding: 0;
    line-height: 1.5;
}

@media screen and (max-width:767px) {
.voice-list .item{
    padding: 0 5px;
    width: 33%;
}
.voice-list .number,
.voice-list .school,
.voice-list .name{
    font-size: 12px;
}
.home .voice-list .item:nth-child(4),
.home .voice-list .item:nth-child(5){
    display: none;
}
}

/* voice-detail */

.hero.voice-detail {
    height: 514px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.hero.voice-detail .hero-primary-box {
    align-items: flex-end;
    flex-direction: inherit;
}
.voice-detail-student{
    width: 100%;
    background: #4C679C;
    color: #FFF;
    padding: 30px 0;
    top: 80px;
    position: relative;
}
.voice-detail-student .label{
    letter-spacing: 4px;
    font-weight: bold;
}
.voice-detail-student .title{
    margin: 0;
    padding: 0;
    font-size: 36px;
    line-height: 1.4;
}

/* voice-detai-box */

.voice-detail-box{
  padding-top: 160px;
}
.voice-detail-box .paragraph-box{
    margin: 80px 0 0;
}
.voice-detail-box .paragraph-box:first-child{
    margin-top: 0;
}
.voice-detail-box .paragraph-box p{
    margin: 40px 0 0;
    line-height: 2.1;
}
.voice-detail-box .paragraph-box p:first-child{
    margin-top: 0;
}
.voice-detail-box .paragraph-box .image-row{
    display: flex;
}
.voice-detail-box .paragraph-box .image{
    max-width: 50%;
    padding-left: 30px;
    flex: 1 0 0%;
}
.voice-detail-box .paragraph-box img{
    margin-top: 10px;
    width: 100%;
}
.voice-detail-box .paragraph-box .paragraph{
    width: 100%;
    flex: 1 0 0%;
}

@media screen and (max-width:767px) {
.hero.voice-detail{
    height: 180px;
}
.hero.voice-detail .hero-primary-box {
align-items: flex-end;
flex-direction: inherit;
}
.voice-detail-student{
  padding: 15px 20px;
  top: 100px;
}
.voice-detail-student .label{
  font-size: 10px;
  margin: 0 0 5px;
}
.voice-detail-student .title{
font-size: 24px;
text-align: left;
}
.voice-detail-student .university{
  font-size: 10px;
  margin: 5px 0 0;
}

/* voice-detai-box */

.voice-detail-box{
  padding-top: 120px;
}
.voice-detail-box .paragraph-box{
  margin: 65px 0 0;
}
.voice-detail-box .paragraph-box p{
margin: 35px 0 0;
}
.voice-detail-box .paragraph-box .image-row{
    flex-wrap: wrap;
}
.voice-detail-box .paragraph-box .image{
    max-width: 100%;
    padding-left: 0;
    flex: 1 0 100%;
}
.voice-detail-box .paragraph-box .paragraph{
    order: 2;
    flex: 1 0 100%;
}
.voice-detail-box .paragraph-box img{
    margin: 0 auto 10px;
    max-width: 100%;
    display: block;
}
}


/*===================================
    about
===================================*/

/* hero */

.hero.about{
    background: #fcfdfc url('../images/about/hero_img.jpg') no-repeat center top;
    background-size: cover;
}

/* about-feature-box */

.about-feature-list-box{
    position: relative;
}

/* about-officer-list */

.about-officer-list .item .inner{
    background: #FFF;
    padding: 35px 30px;
}
.about-officer-list .item .name{
    font-size: 26px;
    display: inline-block;
    margin: 0;
    line-height: 1;
    font-family:  '游明朝', 'Cormorant Garamond', serif;
    font-weight: bold;
}
.about-officer-list .item .position{
    color: #999;
    display: inline-block;
    margin: 0;
    font-size: 12px;
    margin-left: 7px;
}
.about-officer-list .item .belongs{
    margin: 12px 0 0;
    line-height: 1;
}

@media screen and (max-width:767px) {
.about-officer-list .item .inner{
  padding: 25px 20px;
}
.about-officer-list .item .name{
  font-size: 20px;
}
.about-officer-list .item .position{
  font-size: 10px;
}
.about-officer-list .item .belongs{
  margin: 12px 0 0;
  line-height: 1;
  font-size: 12px;
}
}

/* access-box */

.access-box .map iframe{
    height: 534px;
}

@media screen and (max-width:767px) {
  .access-box .map iframe{
    height: 270px;
  }
  .access-box .image img{
    width: 30px;
  }
  .access-box .item:nth-child(3) .image img{
    width: 42px;
  }
  .about-contact .body p{
    margin: 0 20px 20px;
    font-size: 13px;
  }
}

/*===================================
    product
===================================*/

/* hero */

.hero.product{
    background: #fcfdfc url('../images/product/hero_img.jpg') no-repeat center top;
    background-size: cover;
}

/* product-cocept */

.product-cocept{
    background: url('../images/product/img01.jpg') no-repeat center center;
    background-size: cover;
    color: #FFF;
}
.product-cocept .image{
    position: absolute;
}

@media screen and (max-width:767px) {
.product-cocept .image{
    position: relative;
}
}

/* product-function-list */

.product-function-list .item{
    position: relative;
    margin: 30px 0 30px;
}
.product-function-list .item .image{
    border: 1px solid #CCC;
    position: relative;
    height: 220px;
    background: linear-gradient(150deg, #FFF 50%,#F5F5F5 50%);
    z-index: -1;
}
.product-function-list .item .image img{
    height: 115px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.product-function-list .item .title{
    font-weight: bold;
    margin: 15px 0 0;
}
.product-function-list .item .subject{
    font-size: 14px;
    margin: 15px 0 0;
    padding: 0;
    position: relative;
}
.product-function-list .item .subject li {
    position: relative;
    padding-left: 20px;
    letter-spacing: 0;
    margin: 8px 0 0;
}
.product-function-list .item .subject li:before {
    content: '';
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    background: #000;
    margin: 0;
    padding: 0;
    top: 10px;
    left: 0;
}

@media screen and (max-width:767px) {
.product-function-list .item{
    margin: 20px 0 0;
}
.product-function-list .item .image{
    margin: 0;
    height: 80px;
    background: linear-gradient(150deg, #FFF 50%,#F5F5F5 50%);
}
.product-function-list .item .image img{
    height: 45px;
}
.product-function-list .item .title{
    margin: 10px 0 0;
}
.product-function-list .item .subject{
    font-size: 12px;
    margin: 5px 0 0;
}
.product-function-list .item .subject li {
    padding-left: 15px;
    letter-spacing: 0;
    margin: 8px 0 0;
    line-height: 1.4;
}
.product-function-list .item .subject li::before {
    top: 7px;
}
}

/* product-flexibility-box */

.product-flexibility-box{
    background: url('../images/product/img03.jpg') no-repeat center center;
    background-size: cover;
    color: #FFF;
}

/* product-customize-box */

.product-customize-list{
    display: flex;
    flex-wrap: wrap;
}
.product-customize-list{
    border-top: 1px solid #CCC;
    border-left: 1px solid #CCC;
}
.product-customize-list .item{
    background: url(../images/product/img05.png) no-repeat right bottom;
    background-size: 210px auto;
    width: 33.333%;
    box-sizing: border-box;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 35px 60px;
}
.product-customize-list .number{
    margin: 0;
}
.product-customize-list .title{
    text-align: center;
    margin: 15px auto 0;
    line-height: 1.5;
}
.product-customize-list .item .subject{
    margin: 20px 0 0;
    font-size: 14px;
}
.product-customize-list .item:nth-child(6) > p{
    margin: auto;
}

@media screen and (max-width:767px) {
.product-customize-list{
    border-left: 0 solid #CCC;
}
.product-customize-list .item{
    background: url(../images/product/img05.png) no-repeat right bottom;
    background-size: 100px auto;
    border-right: 0 solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 15px 20px;
}
.product-customize-list .number{
    margin: 0;
}
.product-customize-list .title{
    text-align: center;
    margin: 5px auto 0;
    line-height: 1.5;
}
.product-customize-list .item .subject{
    display: block;
    margin: 8px 0 0;
    font-size: 12px;
    flex-wrap: wrap;
}
}

/* qa */

.qa-list-box .qa-list {
    background: #FFF;
    font-weight: bold;
}
.qa-list-box .qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list-box .qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list-box .qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list-box .qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list-box .qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
}
.qa-list-box .qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 5px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list-box .qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
    color: #3285bf;
}
.qa-list-box .qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list-box .qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list-box .qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list-box .qa-list dl::before {
    top: 30px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list-box .qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list-box .qa-list dl dt::before {
    font-size: 14px;
    top: 1px;
    left: 5px;
    content: 'Q.';
}
.qa-list-box .qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list-box .qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list-box .qa-list dl dd p:first-child{
    margin-top: 0;
}
}

/* product-linked-box */

.product-linked-list{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    border-top: 5px solid #FFF;
    border-left: 5px solid #FFF;
}
.product-linked-list .item {
    position: relative;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 33.333%;
    padding: 0;
    color: #fff;
    border-right: 5px solid #fff;
    border-bottom: 5px solid #fff;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 210px auto;
    background-size: cover;
}
.product-linked-list .item::before{
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(../images/common/bg_dot.png) repeat left top;
    z-index: 0;
}
.product-linked-list .item::after{
    content: "";
    display: block;
    /* padding-top: 150%; */
}
.product-linked-list .number{
    position: relative;
    margin: 35px 0 0;
}
.product-linked-list .title{
    position: relative;
    text-align: center;
    margin: 80px 20px 0;
    line-height: 1.5;
    font-size: 18px;
}
.product-linked-list .category{
    position: relative;
    font-size: 14px;
    margin: 5px 0 35px;
}
.product-linked-list .link{
    margin: auto 0 55px;
    padding: 0 20px;
}
.product-linked-list .link .btn{
    max-width: 220px;
    min-width: inherit;
}

@media screen and (max-width: 767px) {
.product-linked-list{
    border-top: 0 solid #FFF;
    border-left: 0 solid #FFF;
}
.product-linked-list .item {
    border-right: 0 solid #fff;
    border-bottom: 3px solid #fff;
    background-size: cover;
}
.product-linked-list .title{
    position: relative;
    text-align: center;
    margin: 30px 20px 0;
    line-height: 1.5;
    font-size: 16px;
}
.product-linked-list .category{
    font-size: 12px;
    margin: 5px 0 0;
}
.product-linked-list .link{
    margin: 15px 0 30px;
}
}

/*===================================
    linked
===================================*/

/* hero */

.hero.linked{
    background: #fcfdfc url('../images/linked/hero_img.jpg') no-repeat center top;
    background-size: cover;
}

/* linked-list */

.linked-list-box {
    overflow: hidden;
}
.linked-list .item{
    position: relative;
    counter-increment: section;
}
.linked-list .item::before{
    position: absolute;
    display: block;
    content: '0'counter(section);
    color: #EEE;
    font-size: 240px;
    line-height: 0.7;
    font-weight: bold;
}
.linked-list .item:nth-child(odd)::before{
    bottom: 0;
    right: -75px;
    line-height: 0.7;
}
.linked-list .item:nth-child(even)::before{
    bottom: 0;
    left: -75px;
}

@media screen and (max-width: 767px) {
.linked-list .item:nth-child(odd)::before{
    top: 30%;
    right: -75px;
    line-height: 0.7;
}
.linked-list .item:nth-child(even)::before{
    bottom: 0;
    left: -75px;
}
}

/*===================================
    news
===================================*/

/* hero */

.hero.news{
    background: #fcfdfc url('../images/news/hero_img.jpg') no-repeat center top;
    background-size: cover;
}

/* news-detail-box */

.news-detail-box {
/*     width: 960px;
    margin: 0 auto; */
}
.news-detail-box .news-detail-body p{
    margin: 0 0 25px;
}

@media screen and (max-width: 767px) {
.news-detail-box {
    width: 100%;
}
}

/* care */

body.news .news-detail-body a{
    color: #999;
    text-decoration: underline;
}
body.news .news-detail-body a:hover {
    color: #0068b6;
}

/*===================================
    contact
===================================*/

/* body */

body.simple #header{
    background: transparent;
}
body.simple #header::after {
    display: none;
}
body.simple {
    position: relative;
    width: 100%;
    height: 100%;
    background: linear-gradient(118deg, rgba(255,255,255,1) 50%,rgba(249,249,249,1) 50%);
}

@media screen and (max-width: 767px) {
body.simple {
    background: none;
}
}

/* header */

body.simple #header .contact-tel {
    width: 20%;
    margin: 0 0 0 auto;
}
body.simple #header.scroll {
    position: absolute !important;
}

@media screen and (max-width: 767px) {
body.simple #header .contact-tel {
    width: 148px;
    margin: 0 0 0 auto;
    position: absolute;
    top: 19px;
    right: 14px;
}
}

/* footer */

body.simple #footer .footer-navi-box {
    width: 100%;
}
body.simple #footer .footer-banner {
    text-align: center;
    margin: 35px auto 0;
    width: 350px;
}
body.simple #footer .footer-banner img {
    width: 100%;
}

@media screen and (max-width: 767px) {
body.simple #footer .footer-banner {
    width: 100%;
}
}

/* hero */

.hero.contact{
    position: relative;
    height: 120px;
    background: transparent;
}
.hero-secondary.contact::before {
    position: absolute;
    background: transparent;
    width: 100%;
    height: 100%;
    display: block;
    content: '';
    opacity: 1;
}
.hero.contact .h1{
    color: #000;
}

@media screen and (max-width: 767px) {
.hero.contact{
    position: relative;
    height: 100px;
    background: transparent;
}
}

/* contact-table */

.contact-table th,
.contact-table td {
    position: relative;
    background-clip: padding-box;
    padding: 25px 30px;
}
.contact-table th {
    width: 380px;
}
.contact-table tbody .require::after {
    font-size: 14px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    height: 21px;
    margin: auto;
    padding: 3px 7px;
    content: '必須';
    letter-spacing: 0;
    color: #fff;
    background: #000;
}

@media screen and (max-width: 767px) {
#main .form-box .container{
    padding: 0;
}
.contact-table th,
.contact-table td {
    display: block;
    width: 100%;
    letter-spacing: 0;
}
.contact-table th {
    padding: 5px 15px;
}
.contact-table td {
    padding: 15px 15px;
    font-size: 16px;
}
.form-confirm .contact-table td{
    font-weight: bold;
}
.contact-table tbody .require{
    padding-left: 55px;
}
.contact-table tbody .require::after {
    font-size: 10px;
    top: 6px;
    left: 15px;
    right: auto;
    bottom: auto;
    height: auto;
    margin: auto 0;
    padding: 2px 7px 4px;
    letter-spacing: 0;
    color: #fff;
    background: #000;
    line-height: 1;
}
}

/* form-nav */

.progressbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.progressbar li {
    position: relative;
    list-style-type: none;
    text-align: center;
    text-transform: uppercase;
    width: 33.333%;
    color: #999999;
    font-weight: bold;
}
.progressbar li:before {
    display: block;
    width: 18px;
    height: 18px;
    margin: 7px auto 20px auto;
    content: '';
    text-align: center;
    border-radius: 50%;
    background-color: #F5F5F5;
}
.progressbar li:after {
    position: absolute;
    z-index: -1;
    top: 15px;
    left: -50%;
    width: 100%;
    height: 2px;
    content: '';
    background-color: #F5F5F5;
}
.progressbar li:first-child:after {
    content: none;
}
.progressbar li.active,
.progressbar li.complete{
    color: #4C679C;
}
.progressbar li.active:before,
.progressbar li.complete:before {
    background-color: #4C679C;
}
.progressbar li.active:after,
.progressbar li.complete:after {
    background-color: #4C679C;
}

/* element reset */

#zip_auto_btn {
    letter-spacing: 0;
    box-shadow: none;
    background: #FFF;
    border: 1px solid #000;
    padding: 7px 15px;
}
#comment {
    height: 150px;
}

input[type='text'],
textarea {
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid #ddd;
}
input[type='radio'] {
    position: relative;
    top: 3px;
    width: 18px;
    height: 18px;
    border: 1px solid #ddd;
    background: #fff;
}
input[type='checkbox'] {
    position: relative;
    top: 3px;
    width: 18px;
    height: 18px;
    padding: 10px;
}
select {
    box-sizing: border-box;
    padding: 5px 5px 8px;
    border: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
#zip_auto_btn {
    padding: 15px 13px;
    line-height: 1;
    top: 0px;
    position: relative;
    font-size: 16px;
    left: 5px;
}
input[type='text'],
textarea {
    font-size: 16px;
    font-weight: bold;
}
input[type='text']{
    line-height: 2;
}
textarea {
    padding: 10px;
    line-height: 1.5;
}
input[type='radio'] {
    top: 4px;
    width: 24px;
    height: 24px;
}
select {
    font-size: 16px;
    box-sizing: border-box;
    /* min-height: 30px; */
    height: 40px;
}
label{
    font-size: 16px;
}
.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 20px !important;
}
}

/* element add css */

select.number {
    width: 70px;
}
input[type='text'].in-md,
select.in-md {
    width: 360px;
}
input[type='text'].in-ex,
textarea.in-ex {
    width: 100%;
}
input[name='zip'] {
    width: 120px;
}

@media screen and (max-width: 767px) {
select.number {
    width: 100%;
}
input[type='text'].in-md,
select.in-md {
    width: 100%;
}
input[name='zip'] {
    width: 120px;
}
}

/* validate */

.formError{
    top: 34px !important;
}
.formError .formErrorContent,
.formError .formErrorArrow div {
    background: #71000A !important;
}
.formError .formErrorContent {
    font-size: 14px !important;
    color: #fff !important;
    min-width: 170px !important;
    padding: 7px 10px !important;
    border-radius: 0 !important;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
.formError .formErrorContent {
    font-size: 12px !important;
}
}

/* confirm */

.form-confirm .form-input-element,
.form-complete .form-input-element,
.form-confirm .note{
    display: none;
}

.mw_wp_form_input .back-btn{
    display: none;
}

/*===================================
    media-link
===================================*/

.media-link{
    display: flex;
    position: relative;
    overflow: hidden;
    background-color: #F5F5F5 !important;
}
.media-link .image{
    display: block;
    width: 50%;
    background-size: cover;
    background-position: center center;
}
.media-link .title{
    width: 100%;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
.media-link .description{
    margin-top: 10px;
}
.media-link .media-link-body{
    display: flex;
    padding: 40px;
    width: 50%;
    margin: auto;
    flex-direction: column;
}
.media-link .media-link-body .link{
    margin: 30px auto 0;
    text-align: center;
}

@media screen and (max-width: 767px) {
.media-link{
    flex-wrap: wrap;
}
.media-link .image{
    width: 100%;
    margin: 0;
}
.media-link .image:after{
  padding-top: 70%;
  display: block;
  content: '';
}
.media-link .title{
    font-size: 22px;
}
.media-link .media-link-body{
    padding: 20px 25px;
    width: 100%;
}
.media-link .media-link-body .description{
    font-size: 12px;
}
.media-link .media-link-body .link{
    margin: 25px auto 0;
    display: block;
}
}

/*===================================
    action-box
===================================*/

.action-box{
    background: url('../images/common/action_bg.png') no-repeat center center;
    background-size: cover;
    padding-bottom: 80px;
    background-attachment: fixed;
}
.action-box .h2,
.action-box .h2-sub{
    color: #FFF;
}
.action-box .tel,
.action-box .contact{
    /* max-width: 25%; */
    max-width: 400px;
    padding: 0 40px;
    margin: 0;
}
.action-box .title{
    color: #0068b6;
    font-weight: 900;
    text-align: center;
    /* font-size: 38px; */
    font-size: 28px;
    margin: 0;
}

@media screen and (max-width:767px) {
.action-box{
    background-attachment: scroll;
    padding-bottom: 40px;
}
.action-box .tel,
.action-box .contact{
    max-width: 100%;
    margin: 0;
}
.action-box .contact{
    margin-top: 10px;
}
}

/*===================================
    pagination
===================================*/

.pagination {
    text-align: center;
}
.pagination a,
.pagination span {
    margin: 2px 5px;
    text-decoration: none;
    border: 1px solid #000;
    padding: 10px 20px;
    color: #000;
    display: inline-block;
    font-weight: bold;
}
.pagination a:hover {
    background: transparent;
    opacity: 0.6;
}
.pagination .current {
    background: transparent;
    border: 0 solid #FFF;
    font-weight: bold;
}

@media screen and (max-width:767px) {
.pagination {
    margin-top: 40px;
}
.pagination a,
.pagination span {
    margin: 2px 0;
    padding: 8px 15px;
}
}

/*===================================
    page-top
===================================*/

#pagetop {
    position: fixed;
    right: 0;
    bottom: 0;
    text-indent: -9999px;
    display: none;
    margin: 0;
}
#pagetop a {
    position: relative;
    display: block;
    width: 65px;
    height: 65px;
    text-indent: -9999px;
    background: rgba(0,0,0,0.4);;
    transition: all .6s ease;
}
#pagetop a:hover {
    opacity: .3;
}
#pagetop a::before {
    position: absolute;
    top: 7px;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 14px;
    height: 14px;
    margin: auto;
    content: '';
    transform: rotate(-45deg);
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
}
@media screen and (max-width:767px) {
#pagetop {
    right: 10px;
    bottom: 10px;
}
#pagetop a {
    width: 45px;
    height: 45px;
}
#pagetop a::before {
    top: 5px;
    width: 10px;
    height: 10px;
}
}

/*===================================
    animated
===================================*/

/*===================================
    magnific-popup
===================================*/

/* start state */

.mfp-wrap{
    z-index: 10002;
}

.mfp-with-anim {
    transition: all .2s ease-in-out;
    transform: scale(.8);
    opacity: 0;
}
.mfp-bg {
    transition: all .3s ease-out;
    opacity: 0;
    z-index: 10001;
}
.mfp-content {
    transition: all .3s ease-out;
    opacity: 0;
}

/* arrow */

.mfp-arrow-left {
    right: 0;
    left: -680px;
    margin-right: auto;
    margin-left: auto;
}
.mfp-arrow-right {
    right: -680px;
    left: 0;
    margin-right: auto;
    margin-left: auto;
}
.mfp-arrow-left::before,
.mfp-arrow-right::before{
    border: none;
}

@media screen and (max-width:767px) {
.mfp-arrow-left {
    right: auto;
    left: -12px;
    /* margin: auto 0; */
}
.mfp-arrow-right {
    right: -12px;
    left: auto;
    /* margin: auto 0; */
}
.mfp-container{
    padding: 20px 40px;
}
}

/* animate in */

.mfp-ready .mfp-with-anim {
    transform: scale(1);
    opacity: 1;
}
.mfp-ready.mfp-bg {
    opacity: .8;
}
.mfp-ready .mfp-content {
    opacity: 1;
}

/* animate out */

.mfp-removing .mfp-with-anim {
    transform: scale(.8);
    opacity: 0;
}
.mfp-removing.mfp-bg {
    opacity: 0;
}
.mfp-removing .mfp-content {
    opacity: 0;
}

/*===================================
    object-fit-images
===================================*/

.js-ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}






/*



    03-03 Utility

===================================*/

/*===================================
    align
===================================*/

/* text-align */

.tac{ text-align: center !important; }
.tal{ text-align: left !important; }
.tar{ text-align: right !important; }

/* vertical-align */

.vabl{ vertical-align: baseline !important; }
.vat{ vertical-align: top !important; }
.vam{ vertical-align: middle !important; }
.vab{ vertical-align: bottom !important; }

/*===================================
    typography
===================================*/

.fwb { font-weight: 900 !important; }
.fwn { font-weight: normal !important; }
.fwi { font-style: italic !important; }

.wsn { white-space: nowrap !important; }
.wwbw { word-wrap: break-word !important; }

/* line-height */

.lhxl { line-height: 2 !important; }
.lhl  { line-height: 1.7 !important; }
.lhm  { line-height: 1.5 !important; }
.lhs  { line-height: 1.2 !important; }
.lhxs { line-height: 1 !important; }

.lh2 { line-height: 2 !important; }
.lh19 { line-height: 1.9 !important; }
.lh18 { line-height: 1.8 !important; }
.lh17 { line-height: 1.7 !important; }
.lh16 { line-height: 1.6 !important; }
.lh15 { line-height: 1.5 !important; }
.lh14 { line-height: 1.4 !important; }
.lh13 { line-height: 1.3 !important; }
.lh12 { line-height: 1.2 !important; }
.lh11 { line-height: 1.1 !important; }
.lh1 { line-height: 1 !important; }

.lsn { list-style: none !important; }
.tdu { text-decoration: underline !important; }

.list-reset {
  list-style: none;
  padding-left: 0;
}

/*===================================
    border
===================================*/

/* border-width */

.bd {
  border-style: solid;
  border-width: 1px;
}
.bdt {
  border-top-style: solid;
  border-top-width: 1px;
}
.bdr {
  border-right-style: solid;
  border-right-width: 1px;
}
.bdb {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
.bdl {
  border-left-style: solid;
  border-left-width: 1px;
}

/* border none */

.bd0{ border: none !important; }
.bdt0{ border-top: none !important; }
.bdr0{ border-right: none !important; }
.bdb0{ border-bottom: none !important; }
.bdl0{ border-left: none !important; }

/*===================================
    layout
===================================*/

/* display */

.dn{ display: none !important; }
.di{ display: inline !important; }
.db{ display: block !important; }
.dib{ display: inline-block !important; }
.dt{ display: table !important; }
.dtc{ display: table-cell !important; }
.df{ display: flex !important; }

/* overflow */

.oh{ overflow: hidden !important; }
.os{ overflow: scroll !important; }
.oa{ overflow: auto !important; }

/* clearfix */

.cf:before,
.cf:after{
  content: " ";
  display: table;
}
.cf:after{ clear: both; }

/* float:  */

.fl{ float: left !important; }
.fr{ float: right !important; }

/* other  */

.fit { max-width: 100% !important; }
.bsbb { box-sizing: border-box !important; }

/*===================================
    margin number
===================================*/

/* margin all */

.m0 { margin: 0px !important; }
.m5 { margin: 5px !important; }
.m10 { margin: 10px !important; }
.m15 { margin: 15px !important; }
.m20 { margin: 20px !important; }
.m25 { margin: 25px !important; }
.m30 { margin: 30px !important; }
.m35 { margin: 35px !important; }
.m40 { margin: 40px !important; }
.m45 { margin: 45px !important; }
.m50 { margin: 50px !important; }
.m55 { margin: 55px !important; }
.m60 { margin: 60px !important; }
.m65 { margin: 65px !important; }
.m70 { margin: 70px !important; }
.m75 { margin: 75px !important; }
.m80 { margin: 80px !important; }
.m85 { margin: 85px !important; }
.m90 { margin: 90px !important; }
.m95 { margin: 95px !important; }
.m100 { margin: 100px !important; }
.m110 { margin: 110px !important; }
.m120 { margin: 120px !important; }
.m130 { margin: 130px !important; }
.m140 { margin: 140px !important; }
.m150 { margin: 150px !important; }
.m160 { margin: 160px !important; }
.m170 { margin: 170px !important; }
.m180 { margin: 180px !important; }
.m190 { margin: 190px !important; }
.m200 { margin: 200px !important; }

/* margin-top */

.mt0 { margin-top: 0px !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }
.mt110 { margin-top: 110px !important; }
.mt120 { margin-top: 120px !important; }
.mt130 { margin-top: 130px !important; }
.mt140 { margin-top: 140px !important; }
.mt150 { margin-top: 150px !important; }
.mt160 { margin-top: 160px !important; }
.mt170 { margin-top: 170px !important; }
.mt180 { margin-top: 180px !important; }
.mt190 { margin-top: 190px !important; }
.mt200 { margin-top: 200px !important; }

/* margin-right */

.mr0 { margin-right: 0px !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
.mr70 { margin-right: 70px !important; }
.mr75 { margin-right: 75px !important; }
.mr80 { margin-right: 80px !important; }
.mr85 { margin-right: 85px !important; }
.mr90 { margin-right: 90px !important; }
.mr95 { margin-right: 95px !important; }
.mr100 { margin-right: 100px !important; }
.mr110 { margin-right: 110px !important; }
.mr120 { margin-right: 120px !important; }
.mr130 { margin-right: 130px !important; }
.mr140 { margin-right: 140px !important; }
.mr150 { margin-right: 150px !important; }
.mr160 { margin-right: 160px !important; }
.mr170 { margin-right: 170px !important; }
.mr180 { margin-right: 180px !important; }
.mr190 { margin-right: 190px !important; }
.mr200 { margin-right: 200px !important; }

/* margin-bottom */

.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }
.mb110 { margin-bottom: 110px !important; }
.mb120 { margin-bottom: 120px !important; }
.mb130 { margin-bottom: 130px !important; }
.mb140 { margin-bottom: 140px !important; }
.mb150 { margin-bottom: 150px !important; }
.mb160 { margin-bottom: 160px !important; }
.mb170 { margin-bottom: 170px !important; }
.mb180 { margin-bottom: 180px !important; }
.mb190 { margin-bottom: 190px !important; }
.mb200 { margin-bottom: 200px !important; }

/* margin-left */

.ml0 { margin-left: 0px !important; }
.ml5 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }
.ml65 { margin-left: 65px !important; }
.ml70 { margin-left: 70px !important; }
.ml75 { margin-left: 75px !important; }
.ml80 { margin-left: 80px !important; }
.ml85 { margin-left: 85px !important; }
.ml90 { margin-left: 90px !important; }
.ml95 { margin-left: 95px !important; }
.ml100 { margin-left: 100px !important; }
.ml110 { margin-left: 110px !important; }
.ml120 { margin-left: 120px !important; }
.ml130 { margin-left: 130px !important; }
.ml140 { margin-left: 140px !important; }
.ml150 { margin-left: 150px !important; }
.ml160 { margin-left: 160px !important; }
.ml170 { margin-left: 170px !important; }
.ml180 { margin-left: 180px !important; }
.ml190 { margin-left: 190px !important; }
.ml200 { margin-left: 200px !important; }

/*===================================
    padding number
===================================*/

/* padding all */

.p0 { padding: 0px !important; }
.p5 { padding: 5px !important; }
.p10 { padding: 10px !important; }
.p15 { padding: 15px !important; }
.p20 { padding: 20px !important; }
.p25 { padding: 25px !important; }
.p30 { padding: 30px !important; }
.p35 { padding: 35px !important; }
.p40 { padding: 40px !important; }
.p45 { padding: 45px !important; }
.p50 { padding: 50px !important; }
.p55 { padding: 55px !important; }
.p60 { padding: 60px !important; }
.p65 { padding: 65px !important; }
.p70 { padding: 70px !important; }
.p75 { padding: 75px !important; }
.p80 { padding: 80px !important; }
.p85 { padding: 85px !important; }
.p90 { padding: 90px !important; }
.p95 { padding: 95px !important; }
.p100 { padding: 100px !important; }
.p110 { padding: 110px !important; }
.p120 { padding: 120px !important; }
.p130 { padding: 130px !important; }
.p140 { padding: 140px !important; }
.p150 { padding: 150px !important; }
.p160 { padding: 160px !important; }
.p170 { padding: 170px !important; }
.p180 { padding: 180px !important; }
.p190 { padding: 190px !important; }
.p200 { padding: 200px !important; }

/* padding-top */

.pt0 { padding-top: 0px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }
.pt110 { padding-top: 110px !important; }
.pt120 { padding-top: 120px !important; }
.pt130 { padding-top: 130px !important; }
.pt140 { padding-top: 140px !important; }
.pt150 { padding-top: 150px !important; }
.pt160 { padding-top: 160px !important; }
.pt170 { padding-top: 170px !important; }
.pt180 { padding-top: 180px !important; }
.pt190 { padding-top: 190px !important; }
.pt200 { padding-top: 200px !important; }

/* padding-right */

.pr0 { padding-right: 0px !important; }
.pr5 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pr55 { padding-right: 55px !important; }
.pr60 { padding-right: 60px !important; }
.pr65 { padding-right: 65px !important; }
.pr70 { padding-right: 70px !important; }
.pr75 { padding-right: 75px !important; }
.pr80 { padding-right: 80px !important; }
.pr85 { padding-right: 85px !important; }
.pr90 { padding-right: 90px !important; }
.pr95 { padding-right: 95px !important; }
.pr100 { padding-right: 100px !important; }
.pr110 { padding-right: 110px !important; }
.pr120 { padding-right: 120px !important; }
.pr130 { padding-right: 130px !important; }
.pr140 { padding-right: 140px !important; }
.pr150 { padding-right: 150px !important; }
.pr160 { padding-right: 160px !important; }
.pr170 { padding-right: 170px !important; }
.pr180 { padding-right: 180px !important; }
.pr190 { padding-right: 190px !important; }
.pr200 { padding-right: 200px !important; }

/* padding-bottom */

.pb0 { padding-bottom: 0px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }
.pb110 { padding-bottom: 110px !important; }
.pb120 { padding-bottom: 120px !important; }
.pb130 { padding-bottom: 130px !important; }
.pb140 { padding-bottom: 140px !important; }
.pb150 { padding-bottom: 150px !important; }
.pb160 { padding-bottom: 160px !important; }
.pb170 { padding-bottom: 170px !important; }
.pb180 { padding-bottom: 180px !important; }
.pb190 { padding-bottom: 190px !important; }
.pb200 { padding-bottom: 200px !important; }

/* padding-left */

.pl0 { padding-left: 0px !important; }
.pl5 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl55 { padding-left: 55px !important; }
.pl60 { padding-left: 60px !important; }
.pl65 { padding-left: 65px !important; }
.pl70 { padding-left: 70px !important; }
.pl75 { padding-left: 75px !important; }
.pl80 { padding-left: 80px !important; }
.pl85 { padding-left: 85px !important; }
.pl90 { padding-left: 90px !important; }
.pl95 { padding-left: 95px !important; }
.pl100 { padding-left: 100px !important; }
.pl110 { padding-left: 110px !important; }
.pl120 { padding-left: 120px !important; }
.pl130 { padding-left: 130px !important; }
.pl140 { padding-left: 140px !important; }
.pl150 { padding-left: 150px !important; }
.pl160 { padding-left: 160px !important; }
.pl170 { padding-left: 170px !important; }
.pl180 { padding-left: 180px !important; }
.pl190 { padding-left: 190px !important; }
.pl200 { padding-left: 200px !important; }

/*===================================
    position
===================================*/

.pr { position: relative !important; }
.pa { position: absolute !important; }
.pf { position: fixed !important; }

/*===================================
    responsive states
===================================*/

.responsive {
    max-width: 100%;
    height: auto;
}

/*===================================
    grid
===================================*/

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  -ms-flex-order: -1;
  order: -1;
}

.order-last {
  -ms-flex-order: 13;
  order: 13;
}

.order-0 {
  -ms-flex-order: 0;
  order: 0;
}

.order-1 {
  -ms-flex-order: 1;
  order: 1;
}

.order-2 {
  -ms-flex-order: 2;
  order: 2;
}

.order-3 {
  -ms-flex-order: 3;
  order: 3;
}

.order-4 {
  -ms-flex-order: 4;
  order: 4;
}

.order-5 {
  -ms-flex-order: 5;
  order: 5;
}

.order-6 {
  -ms-flex-order: 6;
  order: 6;
}

.order-7 {
  -ms-flex-order: 7;
  order: 7;
}

.order-8 {
  -ms-flex-order: 8;
  order: 8;
}

.order-9 {
  -ms-flex-order: 9;
  order: 9;
}

.order-10 {
  -ms-flex-order: 10;
  order: 10;
}

.order-11 {
  -ms-flex-order: 11;
  order: 11;
}

.order-12 {
  -ms-flex-order: 12;
  order: 12;
}

.offset-1 {
  margin-left: 8.333333%;
}

.offset-2 {
  margin-left: 16.666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.333333%;
}

.offset-5 {
  margin-left: 41.666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.333333%;
}

.offset-8 {
  margin-left: 66.666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.333333%;
}

.offset-11 {
  margin-left: 91.666667%;
}

@media (min-width: 576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-sm-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-sm-12 {
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.333333%;
  }
  .offset-sm-2 {
    margin-left: 16.666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.333333%;
  }
  .offset-sm-5 {
    margin-left: 41.666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.333333%;
  }
  .offset-sm-8 {
    margin-left: 66.666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.333333%;
  }
  .offset-sm-11 {
    margin-left: 91.666667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-md-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-md-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-md-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-md-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-md-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-md-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-md-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-md-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-md-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-md-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-md-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-md-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-md-12 {
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.333333%;
  }
  .offset-md-2 {
    margin-left: 16.666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.333333%;
  }
  .offset-md-5 {
    margin-left: 41.666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.333333%;
  }
  .offset-md-8 {
    margin-left: 66.666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.333333%;
  }
  .offset-md-11 {
    margin-left: 91.666667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-lg-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-lg-12 {
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.333333%;
  }
  .offset-lg-2 {
    margin-left: 16.666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.333333%;
  }
  .offset-lg-5 {
    margin-left: 41.666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.333333%;
  }
  .offset-lg-8 {
    margin-left: 66.666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.333333%;
  }
  .offset-lg-11 {
    margin-left: 91.666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-xl-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-xl-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-xl-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-xl-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-xl-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-xl-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-xl-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-xl-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-xl-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-xl-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-xl-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-xl-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-xl-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-xl-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-xl-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-xl-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-xl-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-xl-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-xl-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-xl-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-xl-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-xl-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-xl-12 {
    -ms-flex-order: 12;
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.333333%;
  }
  .offset-xl-2 {
    margin-left: 16.666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.333333%;
  }
  .offset-xl-5 {
    margin-left: 41.666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.333333%;
  }
  .offset-xl-8 {
    margin-left: 66.666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.333333%;
  }
  .offset-xl-11 {
    margin-left: 91.666667%;
  }
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

.flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important;
}

.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important;
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important;
}

.justify-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

.justify-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
}

.justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
}

.align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.align-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

.align-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important;
}

.align-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-md-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-content-md-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-md-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-items-md-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-items-md-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-xl-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}