@charset "utf-8";

/* ============================================================ *\

	TOP・下層画面共通のCSSを定義。

\* ============================================================ */


/* ============================================================ *\
    $base
\* ============================================================ */

body , html {
    height: 100%;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, a, address, img, strong, sub, sup, dl, dt, dd, ol, ul, li, label,table, caption, tbody, tfoot, thead, tr, th, td, form {
    margin: 0;
    padding: 0;
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
}

html {
    font-size: 62.5%;
    overflow-y: scroll;
}

body {
    background: #fff url(../files/000061756.jpg) 0 0 repeat-x;
    font-family: Meiryo, sans-serif;
    color: #333;
    vertical-align: baseline;
    width: 100%;
    position: relative;
    height: auto !important;
    min-height: 100%;
}
body.show-global {
    position: fixed;
    width: 100%;
}
body.small { font-size: .8rem; }
body.middle { font-size: 1rem; }
body.large { font-size: 2rem; }
body.en { font-family: Arial, sans-serif; }

img {
    border: 0;
    vertical-align: bottom;
}

ul, ol { list-style: outside none; }


p:not(.address) {
    font-size: 1em;
    margin: 5px 0;
    margin-bottom: 1.5em;
}

a { color: #192a80; }

/*body.en a { text-decoration: none; }*/

/* PC */
@media screen and (min-width: 1025px) {
    a:hover {
        color: #fff;
        background-color: #192a80;
    }

    a:visited { color: #53c; }

    a:visited:hover { color: #fff; }
}
noscript p {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.4em;
    text-align: center;
    line-height: 1.2;
}
body.en noscript p {
    font-size: 1.5em;
    line-height: 1.3;
}

/* ============================================================ *\
    $common
\* ============================================================ */
/* テキスト左寄せ、中央寄せ*/

.leftalign{
    text-align:left;
    margin-bottom:0px;
    margin-left:15px;
}
.centeralign{
    text-align:center;
    margin-bottom:0px;
}
.rightalign{
    text-align:right;
    margin-bottom:0px;
    margin-right:15px;
}
.leftalign2{
    text-align:left;
    margin-bottom:0px;
    margin-left:0px;
}


/* インデント*/

.indent01 {margin-left: 2.5em;}
.indent02 {margin-left: 5em;}
.indent03 {margin-left: 7.5em;}

/* 文字修飾用クラス*/
.bold{ font-weight:bold;}
.italic{ font-style:italic;}
.underline{ text-decoration:underline;}
.smaller{ font-size:85%;}
.larger{ font-size:120%;}
.red{ color:red;}
.black{ color:black;}
.blue{ color:blue;}
.green{ color:green;}
.purple{ color:purple;}
.gray{ color:gray;}
.greenyellow{ color:#adff2f;}
.brown{ color:#a52a2a;}
.orange{ color:#ffa500;}
.yellow{ color:yellow;}

/* animation keyframes */
@keyframes fadeIn {
  0%   { display: none; opacity: 0; }
  1%   { display: block; opacity: 0; }
  100% { display: block; opacity: 1; }
}
@-webkit-keyframes fadeIn {
  0%   { display: none; opacity: 0; }
  1%   { display: block; opacity: 0; }
  100% { display: block; opacity: 1; }
}
@keyframes fadeOut {
  0%   { display: block; opacity: 1; }
  99%  { display: block; opacity: 0; }
  100% { display: none; opacity: 0; }
}
@-webkit-keyframes fadeOut {
  0%   { display: block; opacity: 1; }
  99%  { display: block; opacity: 0; }
  100% { display: none; opacity: 0; }
}
/* ============================================================ *\
    $header
\* ============================================================ */
#header .menu-sub, #header .menu-language, #header .menu-language>span {
    display: inline-block;
}

#header .menu-language span:first-of-type {
    margin-right: 4px;
}

/* $sub menu */

#header .menu-sub {
    position: relative;
    padding-top: 5px;
    padding-bottom: 3px;
    background: transparent url(../files/000061760.png) 0 0 repeat;
    border-radius: 3px;
}

html[lang="en"] #header .menu-sub {
    padding-top: 4px;
}

#header .menu-sub>span {
    display: inline;
    border-left: 1px solid #036;
    padding-right: 5px;
    padding-left: 5px;
}

#header .menu-sub>span:first-child {
    border-left-width: 0;
}

#header .menu-sub>span>a {
    font-size: 1.2em;
    line-height: 1.2;
}

/* $language menu */

#header .menu-language {
    margin-left: 2px;
    vertical-align: top;
}

#header .menu-language li:first-child {
    margin-right: 4px;
}

#header .menu-language a {
    position: relative;
    display: block;
    padding: 3px 4px 1px;
    *padding-top: 0;
    *padding-bottom: 4px;
    min-width: 112px;
    width: auto;
    border: 1px solid #036;
    border-radius: 3px;
    background-color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

#header .menu-language a:hover, #header .menu-language a:focus {
    color: #fff;
    background-color: #192a80;
}

html[lang="en"] #header .menu-language a {
    padding-right: 3px;
    padding-left: 3px;
    min-width: 92px;
    /*font-size: 1.1em;*/
}


/* $function */
#func {
    display: flex;
}

#cse-search-box {
    margin-top: 17px;
}

/* $cse-search-box */
#cse-search-box {
    min-width: 332px;
    margin-left: auto;
}
#cse-search-box #searchbox {
    display: block;
    float: left;
    margin: 0;
    width: 280px;
    border: 1px solid #036 !important;
    border-image-width: 0 !important;
    font-size: 1.3em !important;
    vertical-align: top;
}
body.en #cse-search-box #searchbox { width: 242px; }

#cse-search-box #searchbutton {
    display: block;
    float: right;
    margin: 0 0 0 3px;
    width: 4.1em;
    height: 20px;
    background-color: #036;
    color: #fff;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #036 !important;
    font-weight: bold;
    text-align: center;
    line-height: 1.0;
    vertical-align: top;
    cursor: pointer;
    font-size: 1.3em;
    overflow: hidden !important;
    white-space:nowrap;
}
#cse-search-box #searchbutton span {
    display: block;
    line-height: 1.0;
}
#cse-search-box #searchbutton, x:-moz-any-link, x:default {
    padding-top: 1px;
    padding-bottom: 2px;
}
body.en #cse-search-box #searchbutton { width: 5.5em; }
#cse-search-box #searchbutton:hover {
    background-color: #fff;
    color: #036;
}
#cse-search-box #searchbutton * { border-width: 0 !important; }

#cse-search-box #searchbutton:hover, #cse-search-box #searchbutton:focus {
    background-color: #fff;
    color: #036;
}
@media screen and (max-width: 767px) {
    #func {
        position: absolute;
        top: 85px;
        display: block;
        left: 0;
        width: 100%;
        padding: 0 2%;
        box-sizing: border-box;
    }
    form#cse-search-box {
        width: 100% !important;
        display: block;
        margin: 0;
        min-width: 0;
    }
    form#cse-search-box #searchbox {
        width: 80%;
        height: 25px !important;
        box-sizing: border-box;
        border-radius: 0;
    }
    #cse-search-box #searchbutton {
        text-align: left;
        width: 72px;
        height: 25px !important;
        box-sizing: border-box;
        background: #036 url(../files/100000025.png) 5px center no-repeat;
        background-size: 15px;
        border-radius: 0;
        float: left;
        padding-left: 25px;
        margin: 0;
        font-size: 95%;
    }
    html[lang="en"] #func {
        top: 85px;
    }
    body.en form#cse-search-box #searchbutton {
        font-size: 100%;
    }
    #cse-search-box #searchbutton:hover {
        background-color: #036;
        color: #fff;
    }
    body.en form#cse-search-box {
        margin: 0;
    }
    body.en form#cse-search-box #searchbox {
        width: 75%;
    }
    body.en form#cse-search-box #searchbutton {
        width: 25%;
    }
}

/* SP only */
#head-btn-area1,
#head-btn-area2,
#head-btn-area3 {
    display: none;
}

/* SP */
@media screen and (max-width: 767px) {
    #header,
    body.en #header {
    text-align: left;
    width: auto;
    height: 75px;
    min-width: initial;
    min-width: auto;
    box-sizing: border-box;
    background: transparent url(../files/000061767.png) center 0 no-repeat;
    background-size: 70%;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    position: relative;
    padding: 2%;
    }

    #logo-mofa {
        position: absolute;
        left: 10px;
        top: 20px;
    }
    body.en #logo-mofa {
        position: absolute;
        left: 10px;
        top: 26px;
    }
    #logo-mofa a img {
        width: 190px;
        height: auto;
    }
    body.en #head_btn_area1 {
    }
    #head_btn_pc,
    #head_btn_lang {
        width: 25px;
        height: 25px;
        line-height: 25px;
        box-sizing: border-box;
        display: inline-block;
        border: 1px solid #043465;
        box-shadow: 0 0 2px rgba(0,0,0,0.3);
        -webkit-box-shadow: 0 0 2px rgba(0,0,0,0.3);
    }
    #head_btn_pc {
        text-indent: -9999px;
        background: #fff url(../files/000061785.png) center center no-repeat;
        background-size: 70%;
        margin-right: 10px;
    }
    #head_btn_lang {
        width: 55px;
        text-align: center;
        color: #043465;
        background-color: #fff;
    }
    body.en #head_btn_lang {
    }
    #head_btn_fb,
    #head_btn_tw {
        display: inline-block;
        width: 20px;
        height: 20px;
        text-indent: -9999px;
        background: url(../files/000061791.png) no-repeat;
        background-size: 93px 20px;
    }
    #head_btn_fb {
        background-position: 0px 0px;
        margin-right: 10px;
    }
    #head_btn_tw {
        background-position: -22px 0px;
    }
    #head-btn-area3 {
        display: flex;
        position: absolute;
        width: 60px;
        height: 100%;
        justify-content: center;
        align-items: center;
    }
    #head-btn-area3 button {
        width: 36px;
        height: 36px;
        border: none;
        border-radius: 3px;
        background: url(../files/icon-menu.svg) center no-repeat #003366;
        background-size: 50%;
    }
    #head-btn-area3 button.button-close {
        background-image: url(../files/icon-close.svg);
    }
    #header .menu-sub,
    #header .menu-language {
        display: none;
    }
    #head-btn-area1,
    #head-btn-area2 {
        display: block;
        position: absolute;
    }
    #head-btn-area1 {
        top: 10px;
        right: 10px;
    }
    #head-btn-area2 {
        top: 45px;
        right: 60px;
    }
    #head-btn-area3 {
        top: 0px;
        right: 0px;
    }
}
/* TB */
@media print, screen and (min-width: 768px) {
    html[lang="en"] #cse-search-box #searchbox {
        width: 242px;
    }
    html[lang="en"] #cse-search-box #searchbutton {
        width: 5.5em;
    }
    #cse-search-box #searchbox {
        height: 1.2em !important;
    }
    #cse-search-box #searchbutton {
        height: 1.7em !important;
    }
    html[lang='en'] #header .menu-language {
        display: block;
        margin-top: 5px;
    }
    html[lang='en'] #cse-search-box {
        margin-top: 5px;
    }
}
/* PC */

@media print, screen and (min-width: 1025px) {
	/*
    body.large .menu-sub {
        margin-left: 330px;
    }
    .large #cse-search-box #searchbutton {
        height: 1.4em !important;
    }
	*/
    html[lang='en'] #header .menu-language {
        display: inline-block;
        margin-top: 0;
    }
    html[lang='en'] #cse-search-box {
        margin-top: 17px;
        min-width: 300px;
    }
}

/* ============================================================ *\
    $common
\* ============================================================ */
/* リンクテキスト */
.link-list {
}
.link-list li {
    padding-left: 13px;
    list-style-type: none;
    background: url(../files/000000049.gif) no-repeat left top;
    margin-bottom: 5px;
}
.link-list li a + span,
.link-list li a + img + span {
    display: block;
    margin-top: 2px;
}
.link-list li.indent {
    margin-left: 1em;
    margin-bottom: 10px;
}
/* タイトルリスト */
.title-list {
    padding-bottom: 0.5em;
}
.list-title {
    padding-left: 13px;
    list-style-type: none;
    background: url(../files/000000049.gif) no-repeat left top;
    margin-bottom: 5px;
}
.title-list > .list-title + dd {
    margin-bottom: 5px;
}
.title-list > .list-title + dd .link-list {
    padding-left: 3em;
}
.title-list > .list-title + dd .link-list li {
    background: none;
    list-style: disc;
    padding-left: 0;
}
/* SP */
@media screen and (max-width: 767px) {
    .list-title{
        display: block;
        margin: 15px 0px 10px;
        padding: 7px 10px;
        font-size: 12px;
        font-weight: bold;
        color: #ffffff;
        background-color: #004989;
        background-image: none;
    }
    .title-list > .list-title + dd .link-list {
        padding-left: 0;
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
    }
    .title-list > .list-title + dd {
        padding: 5px;
    }
    .title-list > .list-title + dd .link-list li {
        margin: 0;
        list-style: none;
        font-size: 12px;
        line-height: 1.5 !important;
        background:  url(../files/000003429.png),-webkit-gradient(linear, left top, left bottom, color-stop(0.90, #e9e9e9), color-stop(0.00, #fff));
        background:  url(../files/000003429.png),-webkit-linear-gradient(top, #fff 0%, #e9e9e9 90%);
        background:  url(../files/000003429.png),-moz-linear-gradient(top, #fff 0%, #e9e9e9 90%);
        background:  url(../files/000003429.png),linear-gradient(to bottom, #fff 0%, #e9e9e9 90%);
        background-position:  center right;
        background-repeat: no-repeat;
        background-size: 18px 18px,100% 100%;
        display: block;
        border-bottom: 1px solid #cccccc;
        padding: 8px 25px 8px 8px;
    }
    .title-list > .list-title + dd .link-list li a {
        margin: 0;
        text-decoration: none;
    }
}

/*パンくず*/
#breadcrumbBox {
    background: #fff;
    clear: both;
}
#breadcrumb {
    clear: both;
    font-size: 1.25em;
    padding: 7px 10px 16px 10px;
    margin: 0px auto;
    line-height: 1.3;
    max-width: 1366px;
    box-sizing: border-box;
}
html[lang="en"] #breadcrumb {
    font-size: 1.5em;
}
@media screen and (max-width: 767px) {
    #breadcrumb {
        display: none;
    }
}


/* ============================================================ *\
    $contents
\* ============================================================ */
#contents h1 {
    line-height: 1.3em;
}

#contents h2 {
    font-size: 1.1em;
    margin: 10px 0;
}

#contents ul {
    margin-bottom: 1.5em;
}

/* contents-header */

#contents-header>h1.title1 {
    display: block;
    width: auto;
    height: auto;
    border: 1px solid #1756bd;
    margin: 0 0px 15px;
    padding: 2px;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.4;
    color: #fff;
    background-color: #1756bd;
    box-sizing: border-box;
}

#contents-header>h1.title1>span {
    background: none;
    border: none;
    width: auto;
    display: block;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    padding: 6px 0 5px;
}

#contents-header>h2.title2 {
    display: -ms-flexbox;
    /* IE10 */
    display: -webkit-box;
    /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex;
    /* Safari6.1以降 */
    display: flex;
    margin: 5px auto;
    font-weight: bold;
    color: #a5171c;
    font-size: 1.5em;
    padding: 0px 0px 0.5em;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#contents-header>h2.title2.logo-right {
    -ms-flex-direction: column-reverse;
    /*IE10*/
    -webkit-box-direction: reverse;
    /* Android4.3以下、Safari3.1～6.0 */
    -webkit-flex-direction: column-reverse;
    /* Safari6.1以降 */
    flex-direction: row-reverse;
}

#contents-header>h2.title2.title-logo img {
    max-width: 200px;
}

#contents-header>h2.title2.logo-left>span:last-child {
    margin-left: 10px;
}

#contents-header>h2.title2.logo-right>span {
    margin-right: 10px;
}

#contents-header>h3 {
    margin: 5px 0px;
    font-weight: bold;
    text-align: center;
    color: #a5171c;
    line-height: 1;
    font-size: 1.4em;
}

/*英語*/

html[lang="en"] #contents-header>h2.title2, html[lang="en"] #contents-header>h3.title3 {
    color: #333399;
}

html[lang="en"] #contents-header>h3.title3 {
    font-size: 1.2em;
}

/* SP */

@media screen and (max-width: 767px) {
    #contents-header>h2.title2 {
        font-size: 1.2em;
        justify-content: flex-start;
    }
    #contents-header>h2.title2.title-logo {
        flex-wrap: wrap;
    }
    #contents-header>h2.title2.title-logo .title-image {
        width: 100%;
        margin-bottom: 10px;
    }
    #contents-header>h2.title2.title-logo.logo-left, #contents-header>h2.title2.title-logo.logo-right {
        justify-content: center;
    }
    #contents-header>h2.title2.title-logo span {
        text-align: center;
        margin: 10px auto 0 !important;
    }
    #contents-header>h2.title2 span {
        margin: 0 10px;
        text-align: left;
    }
    #contents-header>h3.title3 {
        font-size: 1.2em;
        font-weight: normal;
        text-align: left;
        margin: 0 10px 5px;
    }
    html[lang="en"] #contents-header>h2.title2 {
        font-size: 1.5em;
        justify-content: center;
    }
    html[lang="en"] #contents-header>h3.title3 {
        font-size: 1.5em;
        font-weight: bold;
        text-align: center;
    }
    html[lang="en"] .page-list #contents-header>h1.title1, html[lang="en"] .page-index #contents-header>h1.title1 {
        font-weight: normal;
        text-align: left;
        font-size: 1.5em;
    }
    html[lang="en"] .page-pressconf #contents-header>h2.title2, html[lang="en"] .page-pressrelease #contents-header>h2.title2 {
        margin-left: 0;
        margin-right: 0;
        font-size: 1.0666666em;
        justify-content: flex-start;
    }
    html[lang="en"] .page-pressconf #contents-header>h3.title3, html[lang="en"] .page-pressrelease #contents-header>h3.title3 {
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 10px;
        font-size: 0.853em;
        justify-content: flex-start;
        text-align: left;
    }
    html[lang=en] body.page-list #main h2.title2, html[lang=en] body.page-index #main h2.title2 {
        font-size: 0.934em;
        line-height: 23px;
    }
    html[lang="en"] .page-pressconf .topic-section p {
        line-height: 1.75;
    }
}

@media screen and (max-width: 767px) {
      *::-ms-backdrop, html[lang="en"] #contents-header>h2.title2 {
          justify-content : inherit;
		}
}

.index{
    border-top:dotted 1px #aaa;
    margin: 0px 15px;
    padding: 5px 0;
    text-align:right;
    font-size:1.25em;
}
@media screen and (max-width: 767px) {
    .index {
        margin: 0;
        padding: 10px;
        border-top: 1px solid #d5d5d5;
        color: white;
        font-size: 0px;
        line-height: 0;
        text-align: left;
    }
    .index a {
        display: block;
        padding: 0 0 0 15px;
        font-size: 14px;
        line-height: 2;
        background: url(../files/000003431.png) center left no-repeat;
        background-size: 13px 13px;
    }
}
/* ƒƒjƒ…[ƒOƒ‹[ƒv */
.menu-wrapper {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.menu-box {
    width: 100%;
}
.menu-wrapper .menu-box h2.title2 {
    display: block;
    background-color: #1756bd;
    border: 1px solid #1756bd;
    margin-top: 10px;
    padding: 2px;
    color: #fff;
    font-size: 1.2857em;
    font-weight: bold;
}
.menu-wrapper .menu-box h2.title2 a {
    display: block;
    width: auto;
    overflow: hidden;
    border-left: 2px solid #fff;
    padding: 4px 22px 4px 8px;
    text-decoration: none;
}
.menu-wrapper .menu-box h2.title2 a:link,
.menu-wrapper .menu-box h2.title2 a:visited {
    color: #ffffff;
    background: transparent url(../files/000000009.png) center right no-repeat;
}
.menu-wrapper .menu-box h2.title2 a:hover,
.menu-wrapper .menu-box h2.title2 a:active {
    color: #005190;
    background: #ffffff url(../files/000000008.png) center right no-repeat;
}
.menu-wrapper .menu-box .photo-section {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
.menu-wrapper .menu-box .photo-box {
    display: block;
    width: 100%;
    text-align: center;
}
/* 本文に対して画像が下になる場合 */
.photo-section.image-bottom .photo-box {
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
}
.photo-section.image-bottom .photo-box + .text {
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
}

/* TB */
@media screen and (min-width: 768px) {
    .twocolmun .menu-box,
    .threecolmun .menu-box {
        width: calc(50% - 10px);
    }
    /* 本文に対して画像が左になる場合 */
    .menu-wrapper .menu-box .photo-section.image-left {
        flex-direction: row;
    }
    .menu-wrapper .menu-box .photo-section.image-left .photo-box {
        width: 100px;
    }
    .menu-wrapper .menu-box .photo-section.image-left .photo-box + .text {
        width: calc(100% - 100px);
    }
    /* 本文に対して画像が右になる場合 */
    .menu-wrapper .menu-box .photo-section.image-right {
        flex-direction: row;
    }
    .menu-wrapper .menu-box .photo-section.image-right .photo-box {
        width: 100px;
        -webkit-box-ordinal-group:2;
        -ms-flex-order:2;
        -webkit-order:2;
        order:2;
    }
    .menu-wrapper .menu-box .photo-section.image-right .photo-box + .text {
        width: calc(100% - 100px);
        -webkit-box-ordinal-group:1;
        -ms-flex-order:1;
        -webkit-order:1;
        order:1;
    }
    .menu-wrapper .menu-box .photo-box .photo-image,
    #main .menu-wrapper .menu-box .photo-box .photo-image img {
        max-width: 100%;
    }
}
@media screen and (min-width: 1025px) {
    .threecolmun .menu-box {
        width: calc(33.33% - 10px);
    }
    .menu-wrapper .menu-box .photo-box .photo-image {
        max-width: 350px;
    }
}
/* ============================================================ *\
    $main
\* ============================================================ */
#main > .rightalign {
    margin-bottom: 10px;
}
/* SNS */
.social-btn-top {
    text-align: right;
    margin-right: 15px;
    margin-bottom: 10px;
}
.social-btn-wrapper {
    display: inline-block;
    margin-left: 15px;
}
/* コンテンツロゴ */
.contents-logo { margin-bottom: 20px; }
.contents-logo.logo-left { text-align: left; }
.contents-logo.logo-right { text-align: right; }
/* 動画エリア */
.video-section {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
}
#video {
    position: absolute;
    top: 0;
    z-index: 3;
}
.video-thumbnail {
    position: absolute;
    top: 0;
    cursor: pointer;
}
.video-thumbnail:before {
    position: absolute;
    content:"";
    top: calc(50% - (57px/2));
    left: calc(50% - (57px/2));
    width: 57px;
    height: 57px;
    border: 1px solid #777777;
    border-radius: 28.5px;
    background-color: rgba(255,255,255,0.9);
    box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.3);
}
.video-thumbnail:after {
    position: absolute;
    content:"";
    top: calc(50% - 8px);
    left: calc(50% - 5px);
    border-top: 10px solid transparent;
    border-left: 20px solid #525252;
    border-bottom: 10px solid transparent;
    z-index: 2;
}
.video-thumbnail.not-play {
    cursor: pointer;
}
.video-thumbnail.not-play:before,
.video-thumbnail.not-play:after {
    content: none;
}

.video-section iframe {
    border: none;
}
/* 画像エリア */
.photo-section {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    justify-content: space-between;
}
.photo-section:before,
.photo-section:after {
    content:'';
}
.section-right > .photo-box {
    margin-left: 20px;
}
/* SP */
@media screen and (max-width: 767px) {
    .social-btn-top {
        text-align: center;
        margin-right: 0;
    }
    .section-left,
    .section-right {
        justify-content: center;
    }
    .section-left > .photo-box {
        margin-right: 0;
    }
    .section-right > .photo-box {
        margin-left: 0;
    }
    .video-section {
        padding-top: 240px;
    }
    #video,
    .video-thumbnail {
        width: 320px;
        left: calc(50% - (320px/2));
    }
    .video-section iframe {
        width: 320px !important;
        height: 240px !important;
    }
    .video-thumbnail img {
        width: 100%;
    }
    #main .photo-image img {
        max-width: 320px;
    }
}
.video-title {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    align-items: center;
    width: 320px;
    margin: 0 auto;
    text-align: left;
    border: 1px solid #808080;
    box-sizing: border-box;
}
.video-title .title-text {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    align-items: center;
    position: relative;
    width: 60px;
    height: 33px;
    padding-left: 25px;
    background-color: #003366;
    color: #ffffff;
    box-sizing: border-box;
}
.video-title .title-text:before {
    position: absolute;
    content: "";
    top: calc(50% - 6px);
    left: 7px;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: #ffffff;
}
.video-title .title-text:after {
    position: absolute;
    content: "";
    left: 11px;
    top: calc(50% - 4px);
    border-top: 4px solid transparent;
    border-left: 6px solid #003366;
    border-bottom: 4px solid transparent;

}
.video-title .title-text + span {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    width: calc(100% - 60px);
    box-sizing: border-box;
    justify-content: center;
}

@media screen and (min-width: 768px) {
    .video-section {
        padding-top: 262px;
    }
    #video,
    .video-thumbnail {
        width: 320px;
        left: calc(50% - (320px/2));
    }
    .video-thumbnail img {
        width: 100%;
    }
    .video-section iframe {
        width: 320px !important;
        height: 240px !important;
    }
    #main .photo-image img {
        max-width: 320px;
    }
}
@media screen and (min-width: 1025px) {
    .video-section {
        padding-top: 262px;
    }
    #video,
    .video-thumbnail {
        width: 350px;
        left: calc(50% - (350px/2));
    }
    .video-section iframe {
        width: 350px !important;
        height: 262px !important;
    }
    .photo-section {
        display: -ms-flexbox; /* IE10 */
        display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
        display: -webkit-flex; /* Safari6.1以降 */
        display: flex;
        justify-content:space-between;
    }
    /*本文に対して左寄せ*/
    .section-left {
        justify-content: flex-start;
    }
    .section-left > .photo-box {
        margin-right: 20px;
    }

    /*本文に対して右寄せ*/
    .section-right {
        justify-content: flex-end;
    }
    .photo-section:before,
    .photo-section:after {
        content: "";
        display: block
    }
    #main .photo-image img {
        max-width: 350px;
    }
    .video-title {
        width: 350px;
    }
}

/* 画像エリア */
.photo-box {
    margin: 0 auto 10px;
}
.photo-caption,
.photo-copy {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 5px;
}
#sub .photo-section,
#sub .link-list {
    margin-top: 10px;
}
#sub .photo-section .photo-box {
    width: 100%;
}
#sub .photo-section .photo-box img {
    max-width: 100%;
}
#sub .photo-box > a {
    display: block;
    margin-bottom: 5px;
}
#sub .sp-view-control {
    display: none;
}
/*SP*/
@media screen and (max-width: 767px) {
    #sub .recomenmendinfo-section.content-scroll {
        position: fixed;
        bottom: 0;
        left: 10px;
        right: 10px;
        margin-bottom: 0;
        z-index: 4;
    }
    #sub .recomenmendinfo-section h2.title2 {
        position: relative;
        box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.15);
    }
    #sub .recomenmendinfo-section h2.title2 > span {
        position: relative;
        display: block;
        height: 100%;
    }
    #sub .recomenmendinfo-section h2.title2 > span:before {
        content:'';
        position: absolute;
        width: 5px;
        top: 4px;
        left: -11px;
        bottom: 4px;
        border-top: 1px solid #004274;
        background: linear-gradient(180deg, #0070a5, #004477);
    }
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control {
        position: absolute;
        top: 0;
        right: 0;
    }
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control > a:link,
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control > a:visited,
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control > a:hover,
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control > a:active {
        color: #333333;
        background-color: transparent;
        text-decoration: none;
        font-weight: normal;
        margin-right: 8px;
    }
    #sub .recomenmendinfo-section h2.title2 > span.recomenmendinfo-control:before {
        content: none;
    }
    #sub .recomenmendinfo-section.content-inline h2.title2 > span.recomenmendinfo-control {
        display: none;
    }
    #sub .recomenmendinfo-section .subbody {
        overflow: hidden;
        height: 2.5em;
    }
    #sub .recomenmendinfo-section.content-more .subbody {
        overflow: visible;
        height: auto;
        padding-bottom: 40px;
    }
    #sub .recomenmendinfo-section.content-inline .subbody {
        overflow: visible;
        height: auto;
    }
    #sub .recomenmendinfo-section.content-minimum .subbody {
        padding: 0;
        height: 0;
    }
    #sub .recomenmendinfo-section.content-minimum.content-more .subbody .photo-section{
        margin-top: 0;
    }
    #sub .recomenmendinfo-section.content-minimum .sp-view-control {
        display: none;
    }
    #sub .recomenmendinfo-section .photo-section {
        justify-content: flex-start;
        margin-bottom: 0;
    }
    #sub .recomenmendinfo-section .photo-box {
        padding-left: 13px;
        list-style-type: none;
        background: url(../files/000000049.gif) no-repeat left top;
        margin-bottom: 0px;
    }
    #sub .recomenmendinfo-section .photo-image {
        display: none;
    }
    #sub .recomenmendinfo-section .photo-caption {
        text-align: left;
        margin-top: 0;
    }
    #sub .recomenmendinfo-section .photo-section + .link-list {
        margin-top: 0;
    }
    #sub .content-scroll .link-list li {
        margin-bottom: 8px;
    }
    #sub .content-scroll .sp-view-control {
        position: absolute;
        display: block;
        width: calc(100% - 10px);
        background-color: #ffffff;
        bottom: 0;
        text-align: right;
        padding-top: 10px;
        padding-bottom: 5px;
    }
    #sub .content-scroll .photo-box > a {
        margin-bottom: 8px;
    }

    #sub .content-scroll .photo-box > a,
    #sub .content-scroll .sp-view-control a:hover {
        background-color: transparent;
        color: #192a80;
    }
}
/* 本文ショートカットリンク */
.section-link {
    margin: 20px 0;
}
.section-link > span {
    display: inline-block;
    background: url(../files/000000019.gif) left 0 no-repeat;
    padding: 0 10px 0 18px;
}
.section-link a {
}
/* 本文 */
.main-section h2.title2 {
    border: 1px solid #d5d5d5;
    margin: 20px 0;
    padding: 5px;
    font-size: 1.2em;
    color: #000000;
}
.main-section h2.title2 span {
    display: block;
    padding: 3px 0 0 7px;
    border-left: 3px solid #1756bd;
}
.main-section h3.title3 {
    clear: both;
    margin:20px 0 20px 0;
    padding: 5px 10px;
    font-size:1.2em;
    background-color:#e6eff8;
}
.main-section h4.title4 {
    clear: both;
    margin:20px 0 20px 0;
    padding: 0 0 0 10px;
    font-size:1.2em;
    border-left:3px solid #d5d5d5;
}
.main-section .section-block {
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
}

.main-section .section-block.image-section-bottom .photo-section {
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
}
.main-section .section-block.image-section-right .photo-section {
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
}
.main-section .section-block.image-section-top,
.main-section .section-block.image-section-bottom,
.main-section .section-block.image-section-left,
.main-section .section-block.image-section-right {
    flex-direction: column;
}

/*TB*/
@media screen and (min-width: 768px) {
    .main-section .section-block.image-section-top,
    .main-section .section-block.image-section-bottom {
        flex-direction: column;
    }
    .main-section .section-block.image-section-left,
    .main-section .section-block.image-section-right {
        flex-direction: row;
    }
    .main-section .section-block.image-section-left .photo-section{
        margin-right: 20px;
        justify-content: center;
        flex-direction: column;
    }
    .main-section .section-block.image-section-right .photo-section {
        margin-left: 20px;
        justify-content: center;
        flex-direction: column;
    }
}
.main-section .text {
    margin-bottom: 20px;
    max-width: 100%;
}
.main-section .sectiontop-link {
    text-align: right;
}
#social-btn-fb {
    border:none;
    overflow:hidden;
    width:115px;
    height:21px;
}
/* トピックスセクション */
.topic-section h2.title2 {
    font-size: 1em;
    padding: 0 0 0 13px;
    color: #a5171c;
    background: url(../files/000000049.gif) left 1px no-repeat;
    border: none;
}
/* アーカイブテーブル */
/*TB*/
@media screen and (max-width: 767px) {
    .archives-wrapper {
        display: block;
        width: 95%;
        margin: 0 auto 15px;
    }
    .archives-header {
        display: none;
    }
    .archives-body .cell {
        display: block;
        padding: 8px;
    }
    .archives-body .cell:first-of-type {
        background-color: #ddd;
        border-top: 1px solid #999;
        border-left: 1px solid #999;
        border-right: 1px solid #999;
    }
    .archives-body .cell:last-of-type {
        border: 1px solid #999;
        margin-bottom: 10px;
    }
}
/*TB*/
@media screen and (min-width: 768px) {
    .archives-wrapper {
        width: 95%;
        margin: 0 auto 15px;
        border-top: 1px solid #999;
        border-left: 1px solid #999;
        border-collapse: collapse;
    }
    .archives-header {
        background-color:#ddd;
    }
    .archives-body {
    }
    .archives-row {
    }
    .archives-header .cell,
    .archives-body .cell {
        padding: 8px;
        border-bottom: 1px solid #999;
        border-right: 1px solid #999;
    }
    .archives-header .cell {
        font-weight: bold;
        text-align: center;
    }
}
/* 関連リンク */
.relatedlink-section {
    margin: 5px 0;
}
.relatedlink-section h2.title2 {
    border: none;
    padding: 0px 0px;
    margin: 10px 0px;
    font-size: 1em;
    font-weight: bold;
    color: #000000;
    background-color: transparent;
}
.relatedlink-section .link-list {
    margin-left: 15px;
}
/* 主管課等 */
.divisions-section {
    margin: 5px 0;
}
.divisions-section .link-list {
    margin-left: 15px;
}
@media screen and (min-width: 1025px) {

}
/* ============================================================ *\
    $sub
\* ============================================================ */
body.en div#sub {
    font-size: .933em;
    line-height: 1.3;
}

div#sub ul:first-child { margin-top: 0; }
#sub .section h2.title2 {
    overflow: hidden;
    width: 100%;
    height: 30px;
    margin: 0;
    padding: 0 0 0 15px;
    text-align: left;
    font-size: 1em;
    font-weight: bold;
    line-height: 30px; /* height‚Æ“¯ˆê */
    color: #333333;
    box-sizing: border-box;
}
/* h2 */
@media screen and (min-width: 768px) {
    #sub .section > h2.title2 {
        background: linear-gradient(180deg, #d2d2d2, #fcfcfc);
    }
    #sub .section h2.title2 > span {
        display: block;
        position: relative;
    }
    #sub .section h2.title2 > span:before {
        content:'';
        position: absolute;
        width: 5px;
        top: 4px;
        left: -11px;
        bottom: 4px;
        border-top: 1px solid #004274;
        background: linear-gradient(180deg, #0070a5, #004477);
    }
}
#sub .section .subbody {
    margin: 0;
    padding: 10px 10px 20px;
}
@media screen and (min-width: 768px) {
    #sub .section .subbody {
        background: linear-gradient(180deg, #e9e9e9 , #ffffff 8px);
    }
}
/* $social media */

ul#socialmedia {
    margin-top: 5px;
    padding: 4px 0 3px 4px;
    width: 219px;
    border: 1px solid #ccc;
    background-color: #f0f0f0;
}

ul#socialmedia li {
    float: left;
    width: 70px;
    margin-right: 3px;
}
ul#socialmedia li:first-child { margin-left: 0; }

ul#socialmedia li a img { vertical-align: middle; }


ul#socialmedia li.link-arrow {
    position: relative;
    clear: both;
    float: none;
    margin-left: -4px;
    width: 223px;
    text-align: center;
}

ul#socialmedia li.link-arrow a {
    margin-top: 5px;
    background-image: url(../files/000061751.png);
    font-size: 1.0714em;
}
div#main ul.link-arrow p {
    margin-top: .3em!important;
    padding-left: 10px;
}

/* advertising */

dl#ad { margin-top: 10px; }

dl#ad dt {
    padding: 4px 9px 0;
    border-top: 2px solid #1756bd;
    border-right: 1px solid #1756bd;
    border-left: 1px solid #1756bd;
    background-color: #f0f0f0;
    font-size: 1.1428em;
    font-weight: bold;
}

dl#ad dd { margin-top: 5px; }

/* mobile */

div#mobile {
    position: relative;
    padding-left: 70px;
    min-height: 60px;
    height: auto;
    font-size: .6428em;
    word-break: break-all;
}

div#mobile a {
    margin-bottom: 4px;
    font-size: 1.4444em;
    word-break: normal;
}
body.en div#mobile a {
    font-size: 1.2222em;
    line-height: 1.5;
}

div#mobile img {
    position: absolute;
    top: 0;
    left: 0;
}
.bottom-text .acrobat p {
    padding-left: 170px;
    vertical-align: top;
}
.bottom-text .acrobat p a {
    display: inline-block;
    margin-left: -170px;
    margin-right: 10px;
    vertical-align: top;
}
/* ============================================================ *\
    $footer
\* ============================================================ */
#footer .menu-sub li a:hover, #footer .menu-sub li a:focus {
    background-color: #fff;
    color: #192a80;
}
body.large #footer .bg-navy p {
    margin-top: 0;
}
#footer .phoneNo {
    display: inline-block;
}

/* SP */

@media print, screen and (max-width: 767px) {
    div#footer-sitemaps .wrapper>dl {
        width: 100%;
    }
}

/* TB */

@media print, screen and (min-width: 768px) {
    div#footer-sitemaps .wrapper>dl {
        width: 33.33%;
        box-sizing: border-box;
        padding: 0 10px;
    }
    div#footer-sitemaps .wrapper>dl:nth-of-type(3n) {
        margin-right: 0;
    }
    #footer .bg-navy .wrapper .menu-sub {
        margin-left: 10px;
        margin-top: 0;
        margin-bottom: 0;
        /* padding-left: 40px; */
    }
}

/* PC */

@media print, screen and (min-width: 1025px) {
    #footer .bg-navy .wrapper .menu-sub {
        margin-left: 0;
    }
}
