@charset "utf-8";

/*------------------------------------
style03.css
Ver:1.44 2025/02/11
------------------------------------*/

/* 基本設定
------------------------------------*/
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    background-color: #FFF;
    font-size: 1.6rem;
    line-height: 1.6;
}

h1 {
    font-size: 2.2rem;
}

.catch-image {
    position: relative;
    width: 100%;
    height: 0;
    /* (高さ100 / 横幅583) × 100 */
    padding-top: 17.24137931%;
}

.catch-image h1 {
    position: absolute;
    top: 10%;
    left: 20px;
    color: white;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, .9);
}

.catchimg-company {
    background: url(./images/catch-company.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.catchimg-work {
    background: url(./images/catch-work.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.catchimg-environment {
    background: url(./images/catch-environment.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.catchimg-news {
    background: url(./images/catch-news.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.catchimg-society {
    background: url(./images/catch-society.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

h2 {
    font-size: 2.0rem;
}

h3 {
    font-size: 1.8rem;
}
h3.skyblue {
  padding: 4px;
  color: #fff !important;
  background:#00B0F0;
  border-bottom:none !important;
  text-align: center;
}

h4 {
    font-size: 1.6rem;
}

div {
    display: block;
}

a {
    color: #000000;
    text-decoration: none;
}

a:focus,
a:hover {
    color: #000000;
    text-decoration: underline;
}

a:visited {
    color: #000000;
}

img {
    vertical-align: top;
    /*下方余白除去*/
}

img {
    width: auto;
    height: auto;
}

img.fullsize {
    width: 100%;
}

img.fitsize {
  max-width: 100%;
  height: auto;
}

.resizeimage img {
    width: 100%;
}

img.map {width: 100%; height: auto;}

/* img レイアウト */

img.center {
  clear: both;
  float: none;
  display: block;
  margin: 0 auto;
  padding: 1px;
}
img.left {
  float: left;
  display: block;
  margin: 3px 10px 5px 0;
  padding: 1px;
}
img.right {
  clear: both;
  float: right;
  display: block;
  padding: 1px;
}
img.line {
  border: 2px solid #ccc;
}

a img {
    -webkit-order: none;
    -moz-order: none;
    -ms-order: none;
    -o-order: none;
    order: none;
}

a:hover img {
    opacity: 0.7;
    -ms-filter: "alpha( opacity=70 )";
    filter: alpha(opacity=70);
}

ol,
ul {
    list-style: none;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 40px;
}

ul {
    list-style-position: outside;
}

dt {
  margin-top: 10px;
}

table {
    border-collapse: collapse;
    width: 100%;
}

table th,
table td {
    border: 1px solid #999;
    padding: .5em 1em;
}

table th {
    background: #eee;
    white-space: nowrap;
}

/* 構成設定
------------------------------------*/
header {
    position: relative;
    width: 100%;
    height: 70px;
    background: #ffffff;
    border-top: 5px solid #3a84ff;
}

header #logo {
    position: absolute;
    left: 20px;
    top: 8px;
    margin-bottom: 10px;
}

/* multi language */
header #mlang {
    position: absolute;
    top: 0 !important;
    *top: 15px;
    /* IE7 and below */
    right: 10px;
}

/* ----- gnavi ----- */
header #gnavi {
    position: absolute;
    top: 26px;
    right: 0px;
}

header #gnavi ul {
    list-style: none;
}

header #gnavi li {
    display: inline;
    padding-right: 2px;
    padding-left: 2px;
    font-size: 1.2rem;
}

header #gnavi li a {
    color: #6494ed
}

header #gnavi li a:before {
    content: "\f0da";
    font-family: FontAwesome;
}

nav {
    position: relative;
    width: 100%;
    background: #273bb4;
    /* Old browsers */
    background: -moz-linear-gradient(top, #273bb4 0%, #4961db 99%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #273bb4 0%, #4961db 99%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #273bb4 0%, #4961db 99%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#273bb4', endColorstr='#4961db', GradientType=0);
    /* IE6-9 */
    z-index: 999;
}

#container {
    /*Footer固定*/
    min-height: calc(100vh - 210px);
    width: 100%;
    margin: 0px auto;
    display: block;
    overflow: visible;
    clear: both;
    border-top: 1px solid #e9e9e9;
    padding-bottom: 20px;
}

.content {
    overflow: hidden;
     padding: 10px 10px;
}

.innerbox {
    position: relative;
    width: 810px;
    margin: 0 auto;
}

.innerbox::after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.breadcrumbs {
    width: 100%;
    overflow: hidden;
    margin-bottom: 10px;
    font-size: 1.2rem;
    padding: 5px 10px;
}

.content-main {
    overflow: hidden;
    float: left;
    width: 72%;
}

.content-sub {
    overflow: hidden;
    float: right;
    width: 26%;
}

.content-main-1col {
    overflow: hidden;
    width: 100%;
}

.inner {
    padding: 0 10px;
}

/* ----- content-main ----- */

.content-main h2,
.content-main-1col h2 {
    color: #FFFFFF;
    font-weight: bold;
    line-height: 1.7;
    padding: 0.2em 0.5em;
    margin-bottom: 1em;
    border-radius: 6px 6px 6px 6px;
    background: #86848f;
    background: -moz-linear-gradient(top, #86848f 0%, #7f7e84 52%, #747378 100%);
    background: -webkit-linear-gradient(top, #86848f 0%, #7f7e84 52%, #747378 100%);
    background: linear-gradient(to bottom, #86848f 0%, #7f7e84 52%, #747378 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#86848f', endColorstr='#747378', GradientType=0);
}

.content-main h2:before,
.content-main-1col h2:before {
    content: '●';
    color: white;
    margin-right: 8px;
}

.content-main h3,
.content-main-1col h3 {
    margin-bottom: 8px;
    line-height: 1.6;
    color: #134D99;
    border-bottom: 3px solid #005DD8;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
}

h3.earth {
    background: url("images/point_earth.gif") left center no-repeat;
    padding-left :25px;
}
span.red {
    color: red;
}
span.b {
    font-weight: bold;
}
span.b1 {
	padding-left :20px;
	font-weight: bold;
	background: url(images/pab1.gif) left center no-repeat;
}

/* タイトル */
.title-blue {
    margin: 1em 0 !important;
    padding: 0.1em 0.5em 0.1em 0.5em !important;
    border-bottom: solid 1px #005DD8 !important;
    border-left: solid 10px #005DD8 !important;
}

.top-title {
    box-sizing: border-box;
    width: 100%;
    font-weight: normal !important;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .9);
    color: #FFFFFF !important;
    margin-bottom: 0 !important;
    padding: 2px 15px;
    vertical-align: middle;
    border: solid 1px #7183F0 !important;
    border-radius: 0.4em 0.4em 0px 0px;
    background: #a9c3fe;
    background: -moz-linear-gradient(top, #a9c3fe 0%, #547af2 100%);
    background: -webkit-linear-gradient(top, #a9c3fe 0%, #547af2 100%);
    background: linear-gradient(to bottom, #a9c3fe 0%, #547af2 100%);
}

/* リンク */
a.normallink {
    color: #0066cc;
    text-decoration: underline;
}
a.normallink:hover {
    color: #5810a0;
}

.content-main a.innerlink,
.content-main-1col a.innerlink {
    color: #0066cc;
    text-decoration: underline;
}

.content-main a.innerlink:hover,
.content-main-1col a.innerlink:hover {
    color: #5810a0;
}

.content-main a.outerlink,
.content-main-1col a.outerlink {
    color: #0066cc;
    text-decoration: underline;
}

.content-main a.outerlink:after,
.content-main-1col a.outerlink:after {
    margin: 0 3px;
    font-family: FontAwesome;
    vertical-align: middle;
    content: '\f08e';
}

.content-main a.outerlink:hover,
.content-main-1col a.outerlink:hover {
    color: #5810a0;
}

.content-main a.youtubelink {
    color: #005DD8;
}

.content-main a.youtubelink:hover,
.content-main-1col a.youtubelink:hover {
    color: #5810a0;
}

.content-main a.youtubelink:after,
.content-main-1col a.youtubelink:after {
    color: #FF0000;
    margin: 0 3px;
    font-family: FontAwesome;
    vertical-align: middle;
    content: '\f16a';
}

/* ----- content-sub ----- */
.content-sub h2:before {
    content: "";
    margin-right: 0px;
}

.content-sub h2 {
    font-size: 1.8rem;
    text-align: center;
    background: #3155CF;
    padding: 5px 0px;
    color: #FFF;
    border-radius: 8px 8px 0px 0px;
}

.content-sub h3 {}

/*----- サイドメニュー -----*/
.content-sub #sidemenu h2.menustart {
    font-size: 1.7rem;
    letter-spacing: 0.2em;
    text-shadow: 1px 1px 2px black;
    margin-bottom: 0px;
    margin-top: 0px;
}

#sidemenu {
    font-size: 1.4rem;
    line-height: 1.8;
    top: 10px;
    position: -webkit-sticky;
    position: sticky;
}

#sidemenu ul,
#sidemenu li {
    margin: 0;
    padding: 0;
}

#sidemenu li.level_1 a {
    background-color: #4268B9;
    border-bottom: 1px solid #003399;
    text-decoration: none;
    color: #FFFFFF;
    display: block;
}

#sidemenu li.level_1 a span {
    display: block;
    text-align: left;
    background: none;
    padding: 3px 15px;
}

#sidemenu li.level_1 a:hover {
    color: #99F6FF;
    background-color: #7396D6;
    text-decoration: none;
    display: block;
    font-weight: bold;
}

#sidemenu li.level_2 a {
    background-color: #DFEBFD;
    border-left: 5px solid #003399;
    border-right: 1px solid #003399;
    border-bottom: 1px solid #003399;
    text-decoration: none;
    color: #000000;
    display: block;
    background: none;
}

#sidemenu li.level_2 a span {
    background: none;
    padding: 3px 15px;
}

#sidemenu li.level_2 a:hover {
    border-left: 5px solid #004EEB;
    color: #FF6666;
    background-color: #E3EFFF;
    text-decoration: none;
    display: block;
    font-weight: bold;
}

#sidemenu li.level_2 a:visited {
    display: block;
}

#sidemenu li.level_3 {
    background: #F3F4F7;
    border-left: 2px solid #003399;
    _display: inline;
    /* for IE5 and IE6 */
}

#sidemenu li.level_3 a {
    border-left: 1px solid #C3C4C7;
    border-bottom: none;
    display: block;
    margin: 0 auto;
    text-decoration: none;
    color: #000000;
    background: none;
}

#sidemenu li.level_3 a span {
    display: block;
    text-align: left;
    padding: 3px 30px;
    background: url("images/bg_arrow.gif") 15px 50% no-repeat;
    border-bottom: 1px solid #E7E7EF;
}

#sidemenu li.level_3 a:hover {
    border-left: 1px solid #C3C4C7;
    border-bottom: 1px solid #C3C4C7;
    background-position: right bottom;
    color: #003399;
}

#sidemenu li.level_3 a:hover span {
    color: #000000;
    background-position: left bottom;
    background: #EFEBEF url("images/bg_arrow.gif") 15px 50% no-repeat;
}

#sidemenu li {
    font-weight: normal;
}

#sidemenu li.active {
    font-weight: bold;
}

/* コーナー用サイドメニュー */
#sidemenu h2.bglabel1 {
  background: #c531cf !important;
}
#sidemenu li.mysidemenu a {
    background-color: #4268B9;
    border-bottom: 1px solid #a9c3fe;
    color: #FFFFFF;
}
#sidemenu li.mysidemenu.active a {
    font-weight: bold;
    color: #f7cccc !important;
}

/* ----- footer ----- */
footer {
    width: 100%;
    margin: 0 auto;
    background: #273bb4;
    /* Old browsers */
    background: -moz-linear-gradient(top, #4961db 0%, #273bb4 99%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #4961db 0%, #273bb4 99%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #4961db 0%, #273bb4 99%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

/* footer menu */
.footMenu ul {
    font-size: 1.6rem;
    margin: 0;
    padding: 10px 0 0 0;
    text-align: center;
}

.footMenu li {
    display: inline;
    margin: 0 0 0 20px;
    list-style: none;
}

.footMenu li a {
    color: #FFFFFF;
    text-decoration: none;
}

.footMenu li a:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

.copyright {
    padding: 20px 0;
    font-size: 1.4rem;
    text-align: center;
    color: #FFFFFF;
}

.norton {
    display: inline-block;
    margin: 10px 10px;
    float: left;
}

.norton a {
    font-style: normal;
    font-size: 1.4rem;
    color: #FFFFFF;
    text-align: center;
    margin: 0px;
    padding: 0px;
}

/* ページトップに戻るボタン */
a.page-top {
    position: fixed;
    bottom: 30px;
    right: 40px;
    padding: 10px 18px;
    color: #ffffff;
    text-decoration: none;
    outline: none;
    background: #7e7a7a;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 0.9rem;
    -ms-filter: "alpha(opacity=80)";
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    opacity: 0.8;
}

a.page-top:link,
a.page-top:active,
a.page-top:visited,
a.page-top:hover {
    color: #ffffff;
    text-decoration: none;
    outline: none;
}

/* ページリンク位置調整 */
span.anchorlink {
    position: relative;
    top: -120px;
    display: block;
}

/*-------- 調整 --------------*/

.w100 {
  width: 100% !important;
}
.pd10 {
    padding: 10px !important;
}

.mt10 {
    margin-top: 10px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt40 {
    margin-top: 40px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.fi {
    font-style: italic !important;
}
.x200 {
    font-size: 200%;
}

.red {
    color: red !important;
}

.b {
    font-weight: bold !important;
}
/* 右寄せ */
.right-justify {
    display: flex;
    justify-content: flex-end;
}

.layright {
    text-align: right !important;
}

.laycenter {
    text-align: center !important;
}

.border-gray {
    border: solid thin #cbcbcb;
}

.borderb-blue {
    border-bottom: 3px solid #3998FC !important;
}

a.curzoom {
    /* not IE */
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: url(/assets/images/zoomin.cur), pointer;
}
.empha {
    font-size: 120% !important;
    font-weight: bold !important;
}

.longurl{word-break: break-all;}

 /*------  テーブル ------ */
table.lay td {
        border: 0px none !important;
}
  /* レスポンシブテーブル06 */
    table.tbl-r06 {
        margin: 20px auto;
    }
    .tbl-r06 th {
        background: #e9727e;
        border: solid 1px #ccc;
        color: #fff;
        padding: 10px;
    }
    .tbl-r06 tr:nth-child(even) {
        background: #fbf5f5;
    }
    .tbl-r06 td {
        border: none;
    }
    .tbl-r06 .last {
        border-bottom: solid 1px #ccc;
    }
    .tbl-r06 span.dn {
        display: none;
    }

/*------ Flex Box ---------*/
.flex-start {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

.flex-around {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
}

.flex-between {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

/*--- flex Items ---*/

.flexitem-margin {
    margin-left: 10px;
    margin-bottom: 10px;
}

.flex-col2 {
    width: 48%;
}

.flex-col2 img {
    display: block;
    width: 100%;
    height: auto;
}

.flex-col3 {
    width: 31%;
}

.flex-col3 img {
    display: block;
    width: 100%;
    height: auto;
}

.flex-col4 {
    width: 23.2%;
}

.flex-col4 img {
    display: block;
    width: 100%;
    height: auto;
}

/* Flexbox 画像、テキスト */
.tkflxbox {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 10px;
}

.tkflxbox .text {
  width: 100%;
}
.tkflxbox .text h3 {
  font-size: 1.2em;
  margin: 0;
}
.tkflxbox .pict {
  width: 150px;
  margin-left: 3%;
  margin-top: 1em;
}
.tkflxbox.pict img {
  width: 100%;
  height:auto;
}

/*
.flex-bnrarea > div {
    flex: 0 0 auto;
    margin: 0.4em;
}*/

.flex-bnrarea > div img {
    border: solid thin #cbcbcb;
}

.bnr img {
    display: block;
    float: left;
    margin-bottom: 6px;
}

/* --------------- 画像とテキスト --------------------*/
  /* 回り込み回避 */
  div .nowrap {
      margin-top:
       0px;overflow:
        hidden;zoom: 1;
  }

/* テキスト回り込み */
.imgintxt-box {
    overflow: hidden;
    /*zoom: 1;*/
}

.imgintxt-box p {
    margin-top: 0px;
}

.imgintxt-box p.nowrap {
    margin-top: 0px;
    overflow: hidden;
    zoom: 1;
}

.imgintxt-box .imgintxt-l {
    display: block;
    float: left;
    margin: 0 10px 5px 0;
}

.imgintxt-box .imgintxt-r {
    display: block;
    float: right;
    margin: 0 0 5px 10px;
}

.imgintxt-box .imgintxt-l p.caption,
.imgintxt-box .imgintxt-r p.caption {
    text-align: center;
    font-size: 1.4rem;
    margin: 0px;
}

/*----- リストマーカー -----*/
ul.leftside {
    padding-left: 1em !important
}

ul.line li {
    list-style: none;
    position: relative;
}

ul.line li::after {
    display: block;
    content: '';
    position: absolute;
    top: .65em;
    left: -1em;
    width: 8px;
    height: 1px;
    background-color: #666;
}

ul.arrow li {
    list-style: none;
    position: relative;
}

ul.arrow li::after {
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 6px;
    height: 6px;
    border-right: 1px solid #666;
    border-bottom: 1px solid #666;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.arrow2 li {
    list-style: none;
    position: relative;
}

ul.arrow2 li::after,
ul.arrow2 li::before {
    display: block;
    content: '';
    position: absolute;
}

ul.arrow2 li::after {
    top: 9px;
    left: -1em;
    width: 6px;
    height: 6px;
    border-right: 1px solid #666;
    border-bottom: 1px solid #666;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.arrow2 li::before {
    top: 12px;
    left: -1.025em;
    width: 8px;
    height: 1px;
    background-color: #666;
}

ul.disc li {
    list-style: none;
    position: relative;
}

ul.disc li::after {
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 6px;
    height: 6px;
    background-color: #666;
    border-radius: 100%;
}

ul.disc2 li {
    list-style: none;
    position: relative;
}

ul.disc2 li::after {
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 5px;
    height: 5px;
    background-color: #fff;
    border: 1px solid #3498db;
    border-radius: 100%;
}

ul.discarrow li {
    list-style: none;
    position: relative;
}

ul.discarrow li::after,
ul.discarrow li::before {
    display: block;
    content: '';
    position: absolute;
}

ul.discarrow li::after {
    top: .35em;
    left: -1.2em;
    width: 14px;
    height: 14px;
    background-color: #3498db;
    border-radius: 100%;
}

ul.discarrow li::before {
    z-index: 2;
    top: .625em;
    left: -.975em;
    width: 4px;
    height: 4px;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.diamond li {
    list-style: none;
    position: relative;
}

ul.diamond li::after {
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 6px;
    height: 6px;
    background-color: #3498db;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.check li {
    list-style: none;
    position: relative;
}

ul.check li::after {
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 8px;
    height: 3px;
    border-left: 2px solid #3498db;
    border-bottom: 2px solid #3498db;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ol.numlist {
    list-style-type: decimal;
}

/* dl横並び */
dl.horizon {
        width: 100%;
}
dl.horizon dt {
  clear: left;
  float: left;
  width: 160px;
  margin-right: 0.5em;
  margin-top: 0;
}
dl.horizon dd {

}
/* dl破線横並び */
dl.hlist dt {
    clear: left;
    float: left;
    width: 20%;
    font-weight: bold;
}
dl.hlist dd {
    margin: 0 0 0 20%;
}
dl.hlist dd:before {
    content: '……　'
}

/* dlFlex横並び */
.hlist2 dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
.hlist2 dt {
  flex-basis: 15%;
}
.hlist2 dd {
  flex-basis: 85%;
}
/* dlリスト横並び */
dl.tkflx dt {
  clear: left;
  float: left;
  width: 20%;
  margin-top:0%;
  margin-left: 10px;
}
dl.tkflx dd {
  margin-left: 21%;
}

/*----- Box 枠 -----*/
/* シンプル角丸 枠 */
.box-red {
    margin: 0.5em auto;
    padding: 0.8em;
    width: 96%;
    color: #666666;
    background-color: #FFF;
    border: 1px solid red;
    border-radius: 20px;
}

.box-blue {
    padding: 0.5em 1em;
    margin: 1em 0;
    border: solid 2px #6091d3;
    border-radius: 10px;
}
/* 二重角丸 枠 */
.box-double-blue {
  position: relative;
  padding: 1rem 2rem;
  border: 6px solid #6091d3;
  border-radius: 25px;
}
.box-double-blue:before {
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  content: '';
  border: 1px solid #6091d3;
  border-radius: 20px;
}

/* タイトル付　枠（影） */
.box-ontitle {
    position: relative;
    margin: 1em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}

.box-ontitle .ontitle {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 1.8rem;
    background: #FFF;
    color: #6091d3;
    font-weight: bold;
}

.box-ontitle-red {
    position: relative;
    margin: 1.5em 0 1.0em 0;
    padding: 0.5em 1.0em;
    color: #555555;
    background-color: #fff;
    border: 2px solid #f09199;
    box-shadow: 0 0 5px 2px #fce2c4 inset;
}

.box-ontitle-red .ontitle {
    position: absolute;
    padding: 0 .5em;
    left: 20px;
    top: -15px;
    font-size: 120%;
    background-color: #fff;
    color: red;
    text-shadow: 1px 2px 2px #808080;
}

/* 赤枠タイトル */
.box-lred {
    position: relative;
    margin: 0;
    padding: 0.5em 1em;
    border: solid 3px red;
    border-radius: 0px 0px 8px 8px;
}

.title-lred {
    position: relative;
    margin-bottom: 0 !important;
    padding: 0.5em 1em;
    border: solid 3px red;
    background: red;
    border-radius: 8px 8px 0px 0px;
    color: white !important;
    font-size: 150%;
}

h3.title-lred {
    border-bottom: none !important;

}

.title-lred:before {
    content: '●';
    color: white;
    margin-right: 8px;
}
/* バータイトル枠(青） */
.titlebar-box-blue{
    margin: 1em 0;
    border: 3px solid #3fa3ff;
    border-radius: 10px;
    letter-spacing: .3px;
}

.titlebar-box-blue-title{
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #3fa3ff;
    padding: 8px 6px;
    text-align: center;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.titlebar-box-blue p{
    margin: 0;
    padding: 1em;
}

/* 青枠背景水色 */
.boxblue2 { 
  width: 90%;
  background-color: #E3F0FB;
  border: 1px #1C79C6 solid;
  padding: 10px;
  margin: 20px;
} 

/* バータイトル濃紺枠 */
.titlebar-box-dblue {
    margin: 1em 0;
    border: 3px solid #313598;
    border-radius: 10px;
    letter-spacing: .3px;
}

.titlebar-box-dblue-title {
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #313598;
    padding: 8px 6px;
    text-align: center;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.titlebar-box-dblue p {
    margin: 0;
    padding: 1em;
}

/* バータイトル枠（赤） */
.titlebar-box-red{
    margin: 1em 0;
    border: 3px solid #f09199;
    border-radius: 10px;
    letter-spacing: .3px;
}

.titlebar-box-red-title{
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #f09199;
    padding: 8px 6px;
    text-align: center;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.titlebar-box-red p{
    margin: 0;
    padding: 1em;
}

/* 枠表示無し */
.blockbox {
    display: inline-block;
    width: 100%;
    text-align: bottom;
}

.blockbox:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

.clfix {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

/* Youtube */
.youtube-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 10px;
}

.youtube-wrapper iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* ボタン */
.square_btn {
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    color: #FFF !important;
    background-image: -webkit-linear-gradient(#6795fd 0%, #67ceff 100%);
    background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
    transition: .4s;
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
}
.fa-position-right {
    position: absolute;
    top: calc(50% - .5em);
    right: 1rem;
}
.fa-position-left {
    position: absolute;
    top: calc(50% - .5em);
    left: 1rem;
}
/* オレンジボタン */
a.btn--orange {
    color: #fff;
    background-color: #eb6100;
}

a.btn--orange:hover {
    color: #fff;
    background: #f56500;
}

a.btn-c {
    display: block;
    font-size: 1.6rem;
    position: relative;
    padding: 1rem 3rem 1rem 3rem;
    margin: 0.5rem 0 0.5rem 1rem;
}

a.btn-c i.fa {
    margin-right: 1rem;
}

a.btn--orange.btn--cubic {
    border-bottom: 5px solid #b84c00;
}

a.btn--orange.btn--cubic:hover {
    margin-top: 3px;
    border-bottom: 2px solid #b84c00;
}

a.btn--radius {
    border-radius: 100vh;
}


/*------ Topics ImageBox ------*/
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

div.imagebox {
    display: block;
    width: 260px;
    /* 横幅 */
    float: left;
    text-align: center;
    margin: 5px 3px;
}

div.imagebox p.image {
    text-align: center;
    margin: 5px;
}

div.imagebox p.caption {
    text-align: center;
    margin: 5px;
    font-size: 90%;
    color: #00008b;
}

div.imgcap_l {
    float: left;
    font-size: 90%;
    margin: 0.5em;
}

div.imgcap_r {
    float: right;
    font-size: 90%;
    margin: 0.5em;
}

/*------ トップページ 8バナー ------*/
.bpgray {
    width: 100%;
    background-color: #ededed;
    padding-top: 10px;
}

.col {
    margin-bottom: 10px;
}

.scale_up {
    width: 186px;
    height: 186px;
    overflow: hidden;
    border: solid 4px green;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    margin-bottom: 10px;
}

.scale_up img {
    width: 178px;
    height: 178px;
    opacity: 1.0 !important;
    -ms-filter: "alpha( opacity=100 )" !important;
    filter: alpha(opacity=100) !important;
    /*
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;*/
    -moz-transition: -moz-transform 0.3s linear;
    -webkit-transition: -webkit-transform 0.3s linear;
    -o-transition: -o-transform 0.3s linear;
    -ms-transition: -ms-transform 0.3s linear;
    transition: transform 0.3s linear;
}

.scale_up img:hover {
    max-width: 110% !important;
    top: -10%;
    left: -10%;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

/* ----- Ditto Pagination ----- */
h3.ditto_pageTitle {}

h3.ditto_pageTitle a {
    color: #134D99;
}

#ditto_pages {
    margin: 20px;
    font-size: 90%;
    font-weight: bold;
}

#ditto_pages .ditto_currentpage {
    border: 1px solid #3366FF;
    padding: 5px 8px;
    margin-right: 3px;
    background-color: #3366FF;
    color: #FFFFFF;
}

#ditto_pages a,
#ditto_pages a:link,
#ditto_pages a:visited {
    border: 1px solid #3366FF;
    padding: 5px 8px;
    margin-right: 1px;
    text-decoration: none !important;
    color: #3366FF;
}

#ditto_pages a:hover {
    background-color: #AADDFF;
    color: #000000;
}

#ditto_pages a.ditto_previous_link {
    border: none;
    text-decoration: none !important;
}

#ditto_pages a.ditto_next_link {
    border: none;
    text-decoration: none !important;
}

/*----- サイトマップ -----*/
ul.list_normal {
    list-style-type: disc;
    font-weight: 900;
}

ul.list_normal ul {
    list-style-type: circle;
    font-weight: 500;
}

ul.list_normal ul ul {
    list-style-type: square;
}

/*----- プライバシーポリシー -----*/
dl.pol dt {
    padding-left: 0px;
    font-weight: bold;
    border-bottom: solid 1px #005DD8;
}

dl.pol dt:before {
    font-family: FontAwesome;
    content: "\f152";
    padding: 0 3px;
    color: #005DD8;
}

dl.pol dd {
    padding: 0;
    margin: 0.5em 0 0.5em 1em;
    padding: 3px;
}

/*----- Samurai Page -----*/
.img-list-item,.img-list-item-r {
    display: block;
    padding: 10px 5px 5px;
    margin-bottom: 10px;
    border-bottom: #b5b87e 1px dashed;
    overflow: hidden;
}

.img-list-item img {
    display: block;
    float: left;
}
.img-list-item-r img {
    display: block;
    float: right;
    margin-left: 10px;
}
.img-list-cont {
    display: block;
    overflow: hidden;
    padding-left: 10px;
}

.img-list-cont h4 {
    margin-top: 0;
    border-bottom: solid 2px #005DD8;
    color: #005DD8;
}

/* ----- Page Topic Arcive Menu ----- */
.content-sub h3.topic_title {
    background: gray;
    color: #FFFFFF;
    margin: 0px;
    padding: 7px;
    border-bottom: none;
}

.reflect_archive_list ul {
    list-style: none;
    margin: 0px;
    padding-left: 0;
}

.reflect_archive_list ul li {
    margin-top: 0px;
    margin-bottom: 0;
    border-left: 5px solid gray;
}

.reflect_archive_list li a {
    display: block;
    padding: 5px 5px 5px 10px;
    margin: 0 0 1px 0;
    background-color: #f6f6f6;
    border-right: 10px solid #fff;
    color: #666;
    text-decoration: none;
    border-left: 2px solid #ddd;
}

.reflect_archive_list li a:hover {
    background-color: #eee;
    color: #657fff;
    border-right: 16px solid #eee;
    font-weight: 600;
}

a.reflect_archive_all {
    display: block;
    padding: 5px 5px 5px 10px;
    margin: 0 0 1px 0;
    background-color: #f6f6f6;
    border-right: 10px solid #fff;
    color: #666;
    text-decoration: none;
    border-left: 5px solid gray;
}

a.reflect_archive_all:hover {
    background-color: #eee;
    color: #657fff;
    border-right: 16px solid #eee;
    font-weight: 600;
}

/*------ 新ギャラリー ------*/
.item-radius {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #EEE;
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    border: 2px solid #FFF;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    transition: 0.2s linear;
}

.item-radius img {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.list_box_case {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /*-webkit-justify-content: space-around;
    justify-content: space-around;*/
}

.list_box_case .list_box {
    width: 31%;
    /* 3列表示 */
    background-color: #EEE;
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 2px solid #FFF;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    transition: 0.2s linear;
    margin-bottom: 20px;
    margin-left: 10px;
}

.list_box_case .list_box:hover {
    background-color: #FFF;
    -webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px 0px;
    -moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px 0px;
    box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px 0px;
}

.list_box_case .list_box img {
    width: 100%;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    /* margin-top: 15px; */
    margin-bottom: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.list_box h4.list_title {
    font-size: 1.4rem;
    text-align: center !important;
    margin: 0px;
    padding: 5px;
    color: #044760 !important;
    background-color: #F9F9F9;
    border-bottom-color: #BBB;
    border-bottom-style: solid;
}

.list_box p {
    font-size: 1.4rem;
    padding: 5px;
    margin: 0px;
}

/* レスポンシブ対応Youtube movie */
div.movie-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
div.movie-wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

  /* PCで"pc"のclassがついた画像が表示 */
  .pc { display: block !important; }
  .sp { display: none !important; }

/*ここからタブレット用（481px～800px）
---------------------------------------------------------------------------*/
@media screen and (max-width:800px) {
    .innerbox {
        position: relative;
        width: auto;
        margin: 0 auto;
    }

    .content {
        width: 100%;
        padding: 0px 5px;
    }

    .content-main,
    .content-sub,
    .content-main-1col {
        float: none;
        width: auto;
        margin-bottom: 10px;
    }

    /*------ flex-wrap Items -----*/
    .flex-col4 {
        width: 46%;
        margin: 1%;
    }

    /* トップページ 8バナー */
    .scale_up {
        width: 160px;
        height: 160px;
    }

    .scale_up img {
        width: 154px;
        height: auto;
    }

    /* Topics ImageBox */
    div.imagebox {
        width: 49%;
    }

    /*------ 新ギャラリー ------*/
    .list_box_case .list_box {
        width: 48%;
    }
}

/*ここからスマートフォン用（480px以下）
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
    header {
        text-align: center;
        height: auto;
    }

    header #logo {
        position: static;
        padding: 8px 0px;
    }

    /* multi language */
    header #mlang {
        position: static;
        width: auto;
        margin: 0 auto;
    }

    header #gnavi {
        display: none;
        /*        position: static;
        width: auto;
        margin: 0 auto; */
    }

    header #gnavi ul {
        padding: 0;
    }

    /* footer menu */
    .footMenu {
        position: absolute;
        right: 10px;
    }

    .footMenu ul {
        margin: 0;
        text-align: left;
    }

    .footMenu li {
        display: block;
        margin: 0 0 0 20px;
        list-style: none;
    }

    .copyright {
        clear: both;
    }

    a.page-top {
        position: fixed;
        bottom: 10px;
        right: 10px;
    }
    .font-s {
        font-size: 90% !important;
    }
  img.center{
    float: none;
  }
  img.left,
  img.right {
    float: none;
    margin: 10px;
  }

    /*------ flex-wrap Items -----*/
    .flexitem-margin {
        margin: 0 5px 10px 5px;
    }

    .flex-col2 {
        padding: 5px;
        width: 100%;
    }

    .flex-col3 {
        padding: 5px;
        width: 100%;
    }

    .flex-col4 {
        padding: 5px;
        width: 48%;
    }
  /* Flexbox 画像、テキスト */
  .tkflxbox {
    display: flex;
    flex-direction: column;
  }
  .tkflxbox .text {
    width: 100%;
  }
  .tkflxbox .pict {
    width: 100% !important;
    text-align: center;
  }

    /*------  テーブル ------ */
    table {
        width: 100%;
    }

    table th,
    table td {
        display: block;
    }

    table th,
    table td {
        border-top: none;
    }

    table tr:first-child th {
        border-top: 1px solid #999;
    }

    /* テーブルマルチカラム */
    table.multicol {
        width: 100%;
        margin: 0 auto;
    }

    table.multicol .heading {
        display: none;
    }

    table.multicol td {
        display: block;
    }

    table.multicol td::before {
        content: attr(data-label);
        font-size: .0.9rem;
        color: #666;
        display: block;
        margin-bottom: 0.25rem;
    }

    table.multicol td.head:first-child {
        border-top: 1px solid #999;
    }

    table.multicol .head {
        background: #eee;
        font-weight: 900;
        text-align: center;
    }
    /* レスポンシブテーブル06 */
    .tbl-r06 {
        width: 80%;
     }
     .tbl-r06 .thead {
    	display: none;
     }
     .tbl-r06 td {
     	display: inline-block;
     }
     .tbl-r06 span {
     	font-weight: bold;
     }
     .tbl-r06 .last {
     	border-bottom: none;
     }
     .tbl-r06 span.dn {
     	display: inline;
     }

    /* テキスト回り込み */
    .imgintxt-l,
    .imgintxt-r {
        float: none !important;
        margin: 10px !important;
        max-width: 100%;
        text-align: center;
    }

    /* トップページ 8バナー */
    .scale_up {
        width: 150px;
        height: 150px;
    }

    .scale_up img {
        width: 142px;
        height: auto;
    }

    /* 新ギャラリー */
    .list_box_case .list_box {
        width: 98%;
        margin-left: 5px;
    }

    /* Topics ImageBox */
    div.imagebox {
        width: 100%;
        float: none;
    }

    div.imgcap_l,
    div.imgcap_r {
        float: none;
    }

    dl.horizon dt {
        clear: left;
        width: 100%;
    }
    dl.hlist dt {
        clear: left;
        width: 100%;
    }

  /* dlリスト横並び */
  dl.tkflx {
    padding: 15px 0;
    border-bottom: 1px solid #b8b8b8;
  }
  dl.tkflx dt {
    clear:both;
    width: 100%;
    padding: 5px;
    background: #e6e6e6;
    margin-left: 0;
  }
  dl.tkflx dd {
    margin-left:1.2em;
  }

  /* スマホで"sp"のclassがついた画像が表示 */
      .pc { display: none !important; }
      .sp { display: block !important; }

}
/*------------------------------------------------*/

/*--- タイムライン ---*/
.timeline {
    list-style: square;
}

.timeline > li {
    margin-bottom: 40px;
}

.timeline-date {
    font-weight: 800;
}
.timeline-content {
    padding-left: 10px;
}

@media (min-width : 640px) {
    .timeline > li {
        overflow: hidden;
        margin: 0;
        position: relative;
    }

    .timeline-date {
        width: 110px;
        float: left;
        margin-top: 20px;
        font-weight: 800;
    }

    .timeline-content {
        width: 75%;
        float: left;
        border-left: 3px #e5e5d1 solid;
        padding-left: 30px;
        min-height: 6em;
    }

    .timeline-content:before {
        content: '';
        width: 12px;
        height: 12px;
        background: #6fc173;
        position: absolute;
        left: 106px;
        top: 24px;
        border-radius: 100%;
    }
}

/*--- DLリスト ---*/
.DispList dl {
    padding: 15px 10px;
    border-bottom: 1px solid #ccc;
}

.DispList dt {
    padding-bottom: 5px;
    font-weight: 800;
}
.DispList a {
    color: #06F;
    font-size: 100%;
    text-decoration: none;
}
.DispList a:hover {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    .DispList dt {
        clear: left;
        float: left;
        width: 26%;
    }
    .DispList dd {
        margin-left: 27%;
    }
}
