@charset "utf-8";
/* CSS Document */


.closing{
color: #fff;
background-color:rgb(26, 60, 128);
width: 284px;
margin: 10px 10px 10px 12px;
  padding: 20px 8px 20px 10px;
  box-sizing: border-box;
  line-height: 12px;
  border-radius: 16px;
  border: 2px solid #4a6eb7;
  text-align: center;
  display: inline-block;
  font-size: 19px;
  font-weight: bold;
line-height: 25px;
}

.closing:hover{
opacity: 0.8;
}

.closing_smp{
display: none;
}

header {
  width: 100%;
  position: relative;
  z-index: 2400;
}



.en_btn{
position: absolute;
right: 0px;
  bottom: 70px;
}

.box_1180 {
  width: 1180px;
  height: 46px;
}

.header1{

background:linear-gradient(to right,rgba(22,68,136,0.5) 0%,rgba(22,68,136,0.1) 100%);
z-index: -10;
position: relative;
height: 114px;


}

img.jspen_logo{

object-fit: contain;
}

.logo_title_box{

display: flex;
justify-content: space-between;
align-items: center;
}

.header2 {
  height: 116px;
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
header h1 {
display: flex;
align-items: center;
}

header h1 img{
margin-left: 30px;
}


.box_blue {
  height: 46px;
  width: 100%;
  background: rgb(71, 134, 205);
  background: linear-gradient(90deg, rgba(71, 134, 205, 1) 0%, rgba(0, 71, 157, 1) 100%);
  display: flex;
  justify-content: center;
}
header #box_headr {
  text-align: right;
  display: flex;
  vertical-align: middle;
  position: relative;
  top: 5px;
  width: 620px;
  justify-content: space-between;
  margin-right: 20px;
  margin-left: auto;
}
header #box_headr a {
  display: block;
  margin: auto 10px;
  transition: .1s ease-out;
}
header #box_headr img.twitter {
  display: block;
  transition: .1s ease-out;
  width: 24px;
  height: 21px;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
  top: 3px;
}

header #box_headr img.twitter:hover{
opacity: 0.7;
}

header #box_headr img.youtube {
  display: block;
  transition: .1s ease-out;
  width: 28px;
  height: 20px;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
  top: 3px;
}
header #box_headr img.youtube:hover{
opacity: 0.7;

}
header #box_headr a:hover {
  text-decoration: none;
  opacity: 0.7;
}
header #box_headr a#search {
  color: #111;
  padding: 10px 4px;
  font-size: 16px;
  display: block;
}
header #box_headr a#search::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f002';
  padding-top: 0.8em;
  padding-right: 3px;
  color: #222;
  font-size: 17px;
  display: block;
}
.cmn-toggle {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}
.cmn-toggle + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  user-select: none;
}
input.cmn-toggle-round-flat + label {
  padding: 2px;
  width: 122px;
  height: 21px;
  background-color: #ffffff;
  border-radius: 60px;
  transition: background 0.4s;
  color: red;
  margin-top: 5px;
}
input.cmn-toggle-round-flat + label:before {
  display: block;
  position: absolute;
  content: "";
}
input.cmn-toggle-round-flat + label:after {
  display: block;
  position: absolute;
  content: "";
  color: #001DFF;
}
input.cmn-toggle-round-flat + label:before {
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  background-color: #fff;
  border-radius: 60px;
  transition: background 0.4s;
}
input.cmn-toggle-round-flat + label:after {
  top: 2px;
  left: 3px;
  bottom: 2px;
  width: 64px;
  background-color: #00479d;
  border-radius: 52px;
  transition: margin 0.4s, background 0.4s;
  color: #001DFF;
}
input.cmn-toggle-round-flat:checked + label {
  background-color: #ffffff;
}
input.cmn-toggle-round-flat:checked + label:after {
  margin-left: 56px;
  background-color: #00479d;
}
.btn_text_box {
  display: flex;
  justify-content: space-between;
}
input.cmn-toggle-round-flat + label div.btn_jpn {
  z-index: 30;
  position: relative;
  margin-right: 10px;
  color: #ffffff;
  transition-duration: 0.5s;
  left: 18px;
  bottom: 2px;
  font-family: 'Segoe UI';
  font-weight: bold;
}
input.cmn-toggle-round-flat:checked + label div.btn_jpn {
  z-index: 30;
  position: relative;
  color: #00479d;
}
input.cmn-toggle-round-flat + label div.btn_eng {
  z-index: 30;
  position: relative;
  margin-right: 10px;
  color: #00479d;
  transition-duration: 0.5s;
  right: 6px;
  bottom: 2px;
  font-family: 'Segoe UI';
  font-weight: bold;
}
input.cmn-toggle-round-flat:checked + label div.btn_eng {
  z-index: 30;
  position: relative;
  margin-right: 10px;
  color: #ffffff;
}
.login, .ippan {
  color: white;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
  top: 2px;
  font-size: 13px;
  font-weight: 530;
}
#box_search {
  width: 190px;
  height: 26px;
  margin-top: 5px;
}
#box_search_in {}
.search_text {
  box-sizing: border-box;
  padding: 9px 20px 9px 8px;
  border: 1px solid #CCC;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 26px;
  width: 190px;
  height: 26px;
  background: rgba(255, 255, 255, 0.80);
}
#search_icon {
  position: relative;
  right: 5px;
  bottom: 24px;
}
header #box_headr a#box_lang {
  color: #fff;
  padding: 6px 32px;
  font-size: 16px;
  border-radius: 4px;
  background-color: #003399;
}
/* GlobalNav{ */
nav#global_navi {
background: rgba(0,50,100,0.75);
  height: 44px;
  text-align: center;
  margin-top: auto;
  margin-bottom: auto;
    z-index: 100;
  position: relative;
}
#global_navi_in {
  width: 1266px;
  margin: 0 auto;
}
#global_navi_in ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
}



#global_navi_in > ul {
width: 1270px;
}

#global_navi_in ul li {
  float: left;
  height: 44px;
  margin: 0;
  padding: 0;
  position: relative;
}
#global_navi_in ul li a {
  display: block;
  margin: 0;
  height: 44px;
  box-sizing: border-box;
  padding: 12px 31px 0 31px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
font-family: a-otf-ryumin-pr6n, serif;
font-weight: bold;
}

#global_navi_in ul li a:hover {
  display: block;
  margin: 0;
  height: 44px;
  padding: 12px 31px 0 31px;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
font-family: a-otf-ryumin-pr6n, serif;
font-weight: bold;
background-color: rgba(0, 42, 82, 0.75);
z-index: 30;
transition-duration: 0.1s;
}

nav#global_navi ul li.gn_01 a{
font-weight: normal;
}


#global_navi_in ul li a:hover, #global_navi_in ul li a.on {
  font-weight: bold;
}
#global_navi_in ul li.gn_08 a {
}
nav#global_navi ul li.gn_01 a {
  display: block;
  font-size: 20px;
}
nav#global_navi ul li.gn_01 a:hover, nav#global_navi ul li.gn_01 a.on {
  display: block;
}

nav#global_navi ul li.gn_01 .box_pulldown_in ul{
}


nav#global_navi ul li:hover .box_pulldown{
  display: block;
  position: absolute;
  left:0px;
  paddning:15px 0 0 0;
  width: 300px;
}


nav#global_navi ul li:hover .ico_pulldown {
  display: block;
}
.box_pulldown {
  display: none;
  box-shadow: 0px 0px 11px 0px rgba(0, 0, 0, 0.22);
  color: #333;
  font-weight: normal;
  text-align: left;
  position: relative;
  left: 0;
  width: 200px;
  z-index: 30;
  top:35px;
  
}
.box_pulldown_in {
  width: 300px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
}

.box_pulldown_in ul{
background-color: rgba(0, 30, 60, 0.8);
}


.vertical_border {
  width: 1px;
  margin-top: 26px;
  margin-bottom: 26px;
  background-color: #fff;
  opacity: 0.5;
}
.box_pulldown_in h2 {
  color: white;
  font-size: 27px;
  font-weight: bold;
  margin-left: 30px;
  margin-top: auto;
  margin-bottom: auto;
}
.box_pulldown_in h2 span {
  display: block;
  color: #4585cc;
  font-size: 14px;
  position: relative;
  top: 13px;
}
#global_navi .box_pulldown_in ul {
  list-style: none;
  margin: 9px 0 32px;
  padding: 0;
}
.box_pulldown_in ul li {
  break-inside: avoid-column;
  width: 235px !important;
  height: auto !important;
  float: none !important;
  background: none !important;
  color: #fff;
}
#global_navi_in ul li .box_pulldown_in ul li.normal a {
  height: auto !important;
  position: inherit !important;
  color: #fff;
  width: 227px !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 5px 4px 5px 4px;
  padding: 13px 5px 11px 27px;
  line-height: 1.2;
  font-size: 15px;
  border-radius: 5px;
  text-indent: -9px;
}
#global_navi_in ul li .box_pulldown_in ul li.sub a {
  height: auto !important;
  position: inherit !important;
  color: #fff;
  width: 235px !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 0px 0 0 21px;
  padding: 8px 5px 8px 13px;
  line-height: 1.2;
  font-size: 15px;
  border-radius: 5px;
  text-indent: -0.35em;
}
#global_navi_in ul li .box_pulldown_in ul li.normal a::before {
  display: inline-block;
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 13px;
  margin-right: 5px;
}
#global_navi_in ul li .box_pulldown_in ul li.sub a::before {
  display: inline-block;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  margin-right: 5px;
  position: relative;
}
#global_navi_in ul li .box_pulldown_in ul li.normal a:hover {
  background-color: rgba(255, 255, 255, 0.9);
  color: #003473;
}
#global_navi_in ul li .box_pulldown_in ul li.sub a:hover {
  background-color: #dde0f4;
  color: rgba(0, 30, 60, 1)
}
/* News & Journal{ */
.wrap_news {
  width: 100%;
  height: 547px;
  text-align: center;
}
.wrap_shibu {
  width: 100%;
  min-width: 1200px;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
  background: #003399;
}
.wrap_journal {
  width: 100%;
  height: 330px;
  text-align: center;
  background: url('../img/dot.png') no-repeat top -50px right -60px;
  margin-right: auto;
  margin-left: auto;
}
.wrap_journal::before {
  position: absolute;
  z-index: 10;
  top: -178px;
  left: 0;
  width: 209px;
  height: 354px;
  background-image: url("../img/dot.png");
  transform: scale(-1, 1);
  background-repeat: no-repeat;
  content: "";
}
.wrap_pickup {
  width: 100%;
  min-width: 1200px;
  height: 483px;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 15;
}
.decoration {
  width: 100%;
  background: url('../img/dot.png') no-repeat top -50px right -60px;
}
.wrap_media {
  width: 100%;
  height: 501px;
  text-align: center;
  padding: 0;
  background: #444 url('../img/background_media.jpg') center center no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-origin: initial;
  background-clip: initial;
  position: relative;
}
.wrap_media::before {
  position: absolute;
  z-index: 10;
  top: -185px;
  width: 209px;
  height: 354px;
  right: 0px;
  background-image: url("../img/dot.png");
  background-repeat: no-repeat;
  content: "";
}
.media_box {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  width: 1004px;
}
.media_twitter {
  width: 500px;
  height: 350px;
  padding-top: 75px;
  padding-bottom: 75px;
}
.media_right {
  width: 410px;
  padding-top: 75px;
  padding-bottom: 75px;
}
.followus {
  font-size: 33px;
  color: white;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: bold;
  position: relative;
  bottom: 5px;
}
.twitter_btn {
  margin-top: 19px;
}
.youtube_btn {
  margin-top: 9px;
  margin-bottom: 0;
}
.shibu_con {
  width: 1170px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.shibu_con .item_left {
  width: 520px;
  box-sizing: border-box;
}
.shibu_con .item_right {
  width: 630px;
  box-sizing: border-box;
}
#box_shibunews {
  box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 1px 1px 3px #000;
  padding: 25px 18px 20px 20px;
}
#box_shibunews h2 {
  text-align: center;
  margin-top: 12px;
  margin-bottom: 22px;
}
#box_shibunews .box_topics {
  text-align: left;
}
#box_shibunews .news_btn_box {
  margin-top: 10px;
}
#box_shibunews .box_topics ul.newsList li:nth-child(3) {
  width: 400px;
}
ul.newsList li:nth-child(2) div.t_shibu {
  background-color: #003399;
  width: 60px;
}
.wrap_news2 {
  background-color: transparent;
  background-position: bottom -150px left -50px;
  background-repeat: no-repeat;
  min-width: 1200px;
  padding-top: 58px;
}
.news_con {
  width: 1180px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.wrap_news .item_left {
  width: 811px;
  height: 430px;
  box-sizing: border-box;
}
.wrap_news .item_right {
  width: 325px;
  height: 430px;
  box-sizing: border-box;
  padding-top: 0px;
  background: rgb(216, 227, 236);
  background: linear-gradient(0deg, rgba(216, 227, 236, 1) 60%, rgba(235, 238, 240, 1) 100%);
  text-align: left
}
.wrap_news .item_right h2 {
  color: #00479d;
}
.wrap_news .item_right .forpatients {
  height: 40px;
}
.wrap_news .item_right .ippan_text_box {
  margin-left: 30px;
  margin-right: 24px;
  height: 50px;
  position: relative;
  bottom: 6px;
}
.wrap_news .item_right .ippan_text_box div {
  font-size: 15px;
  line-height: 21px;
}
.wrap_news .item_right .ippan_slide_box {
  height: 340px;
}
.wrap_news .item_right h2 {
  font-weight: bold;
  font-size: 24px;
}
.wrap_news .item_right h2::before {
  display: inline-block;
  color: #00479d;
  content: "\f138";
  font-size: 14px;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 5px;
  position: relative;
  bottom: 4px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


footer a {
	color: #fff !important;
	text-decoration: underline !important;
}

footer nav {
  margin-bottom: 20px;
  width: 1180px;
  margin-right: auto;
  margin-left: auto;
}
.wrap_contents {
  width: 100%;
  text-align: center;
  padding: 0;

  position: relative;
  object-fit: contain;


}


.content_build{
background-image: url("../img/main_img_1.png");
background-position: -191% 80%;
  object-fit: cover;
}

.content_sea{
background-image: url("../img/main_img_2.webp");
  background-position: center center;
    object-fit: contain;
}

.content_ship{
background-image: url("../img/main_img_3.webp");
    background-position: 29% 20%;
    object-fit: contain;
}


.wrap_contents::before{

}


.wrap_contents .iwrap {
  background-position: top -150px right -50px;
  background-repeat: no-repeat;
  min-width: 1200px;
  background-color: rgba(255,255,255,.8);
}
.contents_con {
  width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
    background-color: #fff;
  padding-right: 50px;
  padding-left: 50px;
  padding-top: 40px;
}
.contents_con .item_left {
  width: 280px;
  box-sizing: border-box;
  padding: 0px 0px 50px 0
}
.contents_con .item_right {
  width: 920px;
  box-sizing: border-box;
  padding: 0px 0 50px 50px;
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 49%, rgba(255, 255, 255, 1) 100%);
  text-align: left;
  min-height: 550px;
}
/* form */
select {
  height: 32px;
  border-radius: 5px;
  padding-right: 13px;
  padding-left: 13px;
  line-height: 38px;
  background-color: #ecf0f1;
  display: inline;
  font-family: inherit;
  font-size: .894rem;
  border: 1px solid #95a5a6;
}
.box_bnr {
  overflow: hidden;
  width: 1170px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding-top: 35px;
}
ul.list_bnr {
  display: inline-block;
  margin: auto;
  padding: 0;
  list-style: none;
}
ul.list_bnr li {
  padding: 0 40px 0 0;
  display: inline-block;
  vertical-align: middle;
}
ul.list_bnr li a:hover img {
  transition: .3s ease-out;
  opacity: .7;
}
.wrap_bnr {
  width: 100%;
  height: 164px;
  text-align: center;
  background-color: #fff;
  border-bottom: 1px #d3d3d3 solid;
}
footer {
  padding: 0;
background-color: #5780A2;
  width: 100%;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
}

.wrap_foot01 {
  width: 100%;
  height: 85px;
  text-align: center;
  background-color: #ffffff;
  color: #464646;
}
.wrap_foot02 {
  width: 100%;
  height: 160px;
  text-align: center;
  background-color: #ebebeb;
  color: #464646;
}
.wrap_foot03 {
  width: 100%;
  height: 55px;
  text-align: center;
  background-color: #18170d;
  color: #fff;
  font-size: 16px;
}
.wrap_foot03 #copyright {
  font-size: 17px;
  padding-top: 13px;
}
.box_footer {
  width: 1180px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.item {
  text-align: left;
}
.flogo {
  display: flex;
  justify-content: space-between;
  margin-top: 44px;
  padding-left: 10px;
  width: 380px;
}
.flogo img {
  display: block;
  height: 74px;
  width: auto;
}
.footer_link {
  display: flex;
  justify-content: space-between;
  width: 428px;
  margin-right: 0;
  margin-left: auto;
  padding-right: 17px;
  margin-top: 36px;
}
.footer_link a::before {
  display: inline-block;
  content: "\f0a9";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0e335f;
  font-size: 14px;
  margin-right: 7px;
  position: relative;
}
.flogo .address {
  width: 350px;
  text-align: left;
  margin-left: 15px;
}
.address h3 {
  text-align: left;
  line-height: 1.32;
  margin: 10px 0 1.7rem 0;
  font-weight: bold;
  color: #222;
  position: relative;
  left: 13px;
  font-size: 20px;
}
.address h3 span {
  font-size: 86%;
  font-weight: normal;
  font-family: "Open Sans";
}
.address p {
  line-height: 1.6;
  margin: 1.25rem 0;
  color: #333;
}
.address p span {
  color: #092a75;
}
.box_fnavi {
  text-align: right;
  width: 620px;
  margin-left: auto;
  margin-top: 12px;
  font-size: 15px;
  padding-right: 17px;
}
.fnavi {
  width: 1000px;
  height: 85px;
  margin-right: auto;
  margin-left: auto;
}
.fnavi h3 {
  text-align: left;
  font-size: 1rem;
  font-weight: bold;
  color: #4c4c4c;
  border-bottom: 2px #4c4c4c solid;
  padding-bottom: 5px;
  margin-top: 0;
}
.fnavi nav {
  margin-bottom: 20px;
}
ul.footer_navi {
  list-style: none;
  margin: 1rem auto;
}
ul.footer_navi li {
  margin-left: 0;
}

ul.footer_navi2 {
  list-style: none;
  margin: 1rem auto;
}
ul.footer_navi2 li {
  margin-left: 25px;
}
ul.fnavi li {
  display: block;
  float: left;
  padding: 0 3px 0 3px;
  ;
  border-left: 1px solid #333333;
  line-height: 1;
  margin-top: 36px;
  font-size: 16px;
  height: 16px;
}
ul.fnavi li.list_last {
  display: block;
  float: left;
  margin-right: 0px;
  line-height: 1;
  padding: 0 3px 0 3px;
  border-right: 1px solid #333333;
}
ul.fnavi li a {
  display: inline;
  padding: 12px 34px;
  background: none;
  border-radius: 5px;
}
ul.fnavi li a:hover {
  background: #f2f2f2;
  text-decoration: none;
  color: #464646;
}
footer hr {
  clear: both;
  display: block;
  height: 0;
  width: 1200px;
  margin: 20px auto;
  padding: 0;
  border: 0;
  overflow: hidden;
  border-top: 1px solid #447e91;
}

#global_navi_smp{

display: none;
}



#footer_in{
	width:1120px;
	margin:0 auto;
	overflow:hidden;
	color:#fff;
      display: flex;
  height: 200px;
  box-sizing: border-box;
align-items: center;
	}

#footer_in_2{
	width:1120px;
display: flex;
      justify-content: space-between;
}
    
#box_logo_footer{
	float:left;
	box-sizing: border-box;
	}
#logo_footer{
	width:78px;
	}
#text_logo_footer_ja{
	font-size:18px;
	font-weight:bold;
    text-align: left;
    width: 400px;
      line-height: 1.3;
	}
#text_logo_footer_en{
	font-size:14px;
	padding:0 0 0 78px;
	font-family: georgia, serif;
	font-style: oblique;
	}
    
.footer_address{
font-size: 14px;
}
    
#office1{
	float:right;
	text-align:left;
	padding:10px 2% 10px 0;
	line-height: 1.3;
	box-sizing: border-box;
	}
#office2{
	width: 600px;
	float:right;
	text-align:left;
	line-height: 1.4;
	box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
	}
    
.office2_address{

font-size: 14px;
}
    
#copy{
	font-size: .9em;
	text-align:center;
	color:#d8d1c6;
	background:#183B73;
	padding:10px 0;
	}
#page-top{
	position:fixed;
	z-index: 1000;
    right: 10px;
    bottom: 10px;
	}


#search_button{
background-color: #ABABAB;
height:40px;
width: 40px;
position: relative;border-radius: 25px;
color: white;
font-family: a-otf-ryumin-pr6n, serif;
font-weight: 800;
font-size: 23px;
  bottom: -15px;
}

#search_button span{
color: #fff;
margin-left: 12px;
position: relative;
top:1px;
}

#search_button span::before {
  display: inline-block;
  color: #fff;
  content: "\f002";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 24px;
position: relative;
bottom: 2px;
right: 4px;
opacity: 1;
}

#object{
height: 880px;
}

#object_content{
height: 0px;
}


/*ボタン*/
span.btn_gr{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 8px 18px;
  user-select: none;
  transition: all 0.1s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: white;
  border-radius: 38px;
  background-color:#ACACAC;
  border: 6px double #c4c4c4;
}

span.btn_b{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 8px 18px;
  user-select: none;
  transition: all 0.1s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: white;
  border-radius: 38px;
  background-color: #2961B9;
  border: 6px double #3a85d7;
}

span.btn_b:hover {
  color: white;
  background: #3a85d7;
}


.greeting_box{
display: flex;
justify-content: space-between;
}

.greeting_box .honbun{
width: 68%;
text-align: left
}

.greeting_box .greeting_pic{
width: 28%;
text-align: center;
}

.greeting_box .greeting_pic img{
width: 100%;
}


@media screen and (max-width: 700px){


.item_right img{
max-width: 100%;
}


.sns_icons{
display: none;
}

  .theme_bg {
    width: 100%;
    height: 100%;
  }
  .theme_bg_1 {
    width: 100%;
    height: 100%;
  }

  img.jspen_logo {
    width: 22%;
    margin-top: 2px;
  }
  
  .logo_c {
    top: 560px;
  }
  .logo_c div img {
    width: 25%;
    right: -3px;
  }
  
    .main_img_text2 {
    width: 58%;
    top: 224px;
  }
  .main_img_text2 img {
    width: 100%;
  }
  .main_img_text1 {
    width: 90%;
    top: 480px;
  }
  .main_img_text1 img {
    width: 100%;
  }
  .logo_c div {
    width: 100%;
  }

  #wrap_news li span.news_date{
  width: 30%;
  }
  
  #wrap_news li span.news_content{
  width: 66%;
  }
  
  .gradabox{
  background: #fff
  }
  #wrap_news span.shinchaku {
        background: linear-gradient(to right, #103D93, #4682E1);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  
  .gradabox::after{
  height: 3px;
  width: 100%;
  display: block;
  background: linear-gradient(to right, #103D93, #4682E1);
  content: '';
  }

nav#global_navi {
display: none;
}

#search_button_smp{
background-color: #ABABAB;
height:40px;
width: 40px;
position: relative;border-radius: 25px;
color: white;
font-family: a-otf-ryumin-pr6n, serif;
font-weight: 800;
font-size: 23px;
    margin-left: auto;
    margin-right: auto;
}

#search_button_smp span{
color: #fff;
margin-left: 12px;
position: relative;
top:1px;
}

#search_button_smp span::before {
  display: inline-block;
  color: #fff;
  content: "\f002";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 24px;
position: relative;
bottom: 2px;
right: 6px;
opacity: 1;
}



/* Menu{ */
#box_spmenu{
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	z-index:10000;
	height:44px;
	width: 44px;
	
	background-color: rgba(255,255,255,0.8);
border-bottom:1px solid #2961B9;
border-left:1px solid #2961B9;
	
	}
.titlespmenu{
	color:#444;
	font-family:Arial, Helvetica, sans-serif;
	position:absolute;
	right:50px;
	top:9px;
	font-size:16px;
	}
#btn_menu{
	}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	display:block;
	height:42px;
}
.menu-trigger span {
	position: absolute;
	right:7px;
	width:30px;
	height: 3px;
	background-color: #2961B9;
}
.menu-trigger span:nth-of-type(1) {
	top: 11px;
}
.menu-trigger span:nth-of-type(2) {
	top: 21px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 8px;
}
.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
}
.active span:nth-of-type(2) {
	opacity: 0;
}
.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
}
#sidr-menu {
	margin: 0;
	padding: 0;
	background-color:#E8F3FF;
	text-align: center;
	margin-top: 0px;
}
body.sidr-open #sidr-menu {
	box-shadow: 0px 0px 5px 3px rgba(0,0,0,0.11);
}
.bnr {
	margin-top: 0 !important;
}
#sidr-menu .bnr a img {
	width: 90%;
	height: auto;
}
#sidr-menu ul {
	list-style:none;
	margin:0;
	padding:0;
	margin-bottom: 18px;
	}
#sidr-menu ul li {
	margin:0;
	padding:0;
	border-top:1px solid #fff;
	border-bottom:1px solid #c9dbfa;
	}
#sidr-menu ul li a{
	display:block;
	color:#2961B9 !important;
	text-align:left;
	padding:10px 10px 10px 30px;
	background-color:white;
	text-indent: -10px;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 900;
	}
#sidr-menu ul li a::before {
    display: inline-block;
    color: #2961B9;
    content: "\f138";
    font-size: 12px;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 8px;
}
#sidr-menu ul li a:hover {
	text-decoration: none;
}
#sidr-menu ul li a.on {
	color: #fff !important;
	background: #008cbf;
	}
#headernavi{
	list-style:none;
	padding:0;
	margin:0;
	width: 160px;
	}
.enheader {
}
#headernavi li{
	padding:0 12px;
	margin:0;
	float:left;
	}
#headernavi li a{
	display:block;
	text-decoration:none;
	color:#434343;
	font-size:9px;
	text-align:center;
	font-family:Arial, Helvetica, sans-serif;
	padding:18px 0 0 0;
	line-height: 2.5;
	}
div#nav_head {
    width: 100%;
    margin: 0 auto 20px auto;
    text-align: center;
}
#sidr-menu ul#headernavi {
    list-style: none;
    padding: 0;
    margin: 0 auto;
}
#sidr-menu ul#headernavi li {
	border-top: none;
	border-bottom: none !important;
}
#sidr-menu ul#headernavi li.ico_link a{
	background: #ededfd url('../img/ico_link.png') no-repeat center 0;
	padding:18px 8px 10px 8px;
	}
#sidr-menu ul#headernavi li.ico_sitemap a{
	background: #ededfd url('../img/ico_sitemap.png') no-repeat center 0;
	padding:18px 8px 10px 8px;
	}
#sidr-menu ul#headernavi li.ico_search a{
	background: #ededfd url('../img/ico_search.png') no-repeat center 0;
	padding:18px 8px 10px 8px;
	}

#sidr-menu ul#headernavi li.ico_link a::before, #sidr-menu ul#headernavi li.ico_contact a::before, #sidr-menu ul#headernavi li.ico_sitemap a::before, #sidr-menu ul#headernavi li.ico_search a::before {
	content: "";
	margin-right: 0;
}
.lang {
	clear: both;
	text-align: center;
}
.lang a {
	margin: 15px auto;
	width: 196px;
	padding:15px;
	color:#ffffff;
	font-size: 15px;
	line-height: 120%;
	text-align: center;
	text-decoration: none;
	background: #2676dd;
	display: block;
	position:relative;
	-webkit-border-radius: 24px;

	-moz-border-radius: 24px;
	border-radius: 24px;
	-webkit-transition: 0.3s ease-out;
	-moz-transition: 0.3s ease-out;
	-o-transition: 0.3s ease-out;
	transition: 0.3s ease-out;
}
.lang a i {
	margin-right: 6px;
}
a#area_close {
	display:block;
	background-color:#2961B9;
	padding: 8px;
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	text-decoration: none;
	
}
#sidr-menu div.sidr-logo {
	text-align:center;
	background-color:#fff;
	padding-top: 10px;
}
#sidr-menu div.sidr-logo img {
	width: 230px;
	height: auto;
}

.pulldownmenu{
	display:none;
	}


.submenu_title{
background-color:#008f9d;
  height: 30px;
  color: white;
  text-align: center;
  align-content: center;
  font-family: a-otf-ryumin-pr6n, serif;
font-weight: bold;padding-top: 4px;
padding-top: 1px;
  font-size: 18px;
}
#submenu{
background-color: #3A3A3A;
color: white;
font-size: 12px;
padding-bottom: 2px

}

.subnavi li{
list-style: none;
text-align: left;
border-bottom: 2px dotted #333333;
}

.subnavi a:link, a:visited{
color: #333333;

}

.subnavi a{
list-style: none;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 3%;
display: block;
width: 94%;
}

.breadcrumbs{
text-align:left;
padding-left: 10px;
margin-top: 20px;
margin-bottom: 20px;
}

.item_right h1{
color: #008f9d;
font-family: a-otf-ryumin-pr6n, serif;
padding-left: 2%;
font-size: 20px;
  padding-top: 4px;
  padding-bottom: 4px;
  background-color: rgba(255,255,255,0.8)
}


  body {
    min-width: auto;
  }
  header {
    height: 110px;
  }
  .container {
    width: 100%;
  }
  .header2 {
    width: 94%;
    height: 110px;
    justify-content: left;
    margin-left: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .header1 {
    background-color: rgba(41, 97, 185, 0.55);
    height: 100px;
  }

  .copyright_smp {
    display: block;
    color: white;
    position: absolute;
    right: 23px;
    top: 620px;
    font-size: 12px;
  }
  header h1 {
    display: block;
  }

  #search_button {
    display: none;
  }
  header h1 img {
    width: 100%;
    margin-left: 0px;
  }
  .bokashi {
    display: none;
  }
  .container {
    height: 660px;
  }
  
  .logo_title_box {
    width: 100%;
    margin-left: 0%;
    display: block;
  }

  

  #news{
  height: 277px;
  }
  
  #object {
    height: 540px;
  }
  #wrap_news {
    width: 100%;
  }
  
  #wrap_panel{
  padding-top: 40px;
      padding-bottom: 5px;
  }
  
  .panel_row {
    width: 345px;
    display: flex;
    height: auto;
        flex-wrap: wrap;
            z-index: 100;
    position: relative;
  }
  .panel {
    height: 120px;
    width: 168px;
    margin-bottom: 14px;
  }
  .panelpic {
    width: 100%;
    height: 120px
  }
  .panel .paneltitlebox {
    width: 100%;
    height: 30px;
    top:90px;
  }
  
  .panel span.paneltitle{
  font-size: 16px;
  line-height: 14px;
  }
  
  .panelpic img {
    width: 100%;
  }
  #footer_in {
    width: 100%;
    height: auto;
    display: block;
  }
  #footer_in_2 {
    width: 100%;
    display: block;
  }
  #text_logo_footer_ja {

    width: 94%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
        font-size: 16px;
  }
  
  .footer_address{
  font-size: 13px;
  }
  
  #office2 {
    width: 94%;
    margin-top:20px;
    margin-left: auto;
    margin-right: auto;
        float: initial;
        margin-bottom: 20px;
        font-size: 16px;
  }
  
  .office2_address{
  font-size: 13px;
  }
  
  
  /*ここからコンテンツページ*/
  
  .contents_con{
  display: block;
  width: 100%;
  padding-right:3%;
  padding-left: 3%;
      padding-top: 10px;
  }
  
  .wrap_contents .iwrap{
  min-width: 100%;
  width: 100%;
}
  
  .contents_con .item_right{
width: 100%;  
padding-left: 0;

  }
  
  .contents_con .item_left{
  width: 100%;
      padding-bottom: 24px;
  }
  
  .wrap_contents{
  width: 94%;
  }
  
  nav.subnavi ul li{
  width: 100%!important;
  }
  
  .category_title div{
  display: none;
  }
  
  .item_right h1::after{
  width: 100%;
  }
  
  header.content_header{
    background-position: top 0 right 55%;
    height: 200px;
  }
  
  nav.subnavi div.submenu_title{
    height: 22px;
  font-size: 14px;
  padding-left: 10px;
  }
  
  nav.subnavi ul li a{
    padding: 8px 10px;
  }
  
  
  .greeting_box{
display: flex;
flex-direction: column-reverse;
}

.greeting_box .greeting_pic{
text-align: center;
width: 100%;
}

.greeting_box .greeting_pic img{
width: 60%;
}

.greeting_box .honbun{
width: 100%;
}


#movie{
height: 860px;
background-image: url("../img/movie_bg.png");
background-position: center center;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
padding-right: 10px;
    padding-left: 10px;
    flex-direction: column;
}

#movie01{
width: 100%;
}

#movie h2{
background:rgba(255, 255, 255, 0.5);
font-weight: bold;
margin-bottom: 10px;
width: 100%;
margin-left: auto;
    margin-right: auto;
        display: flex;
    justify-content: space-between;
}

#movie h2::before{
content:"";
border-top: 3px solid #20419A;
display: block;
position: relative;
top:18px;
width:130px;
}

#movie h2::after{
content:"";
border-top: 3px solid #20419A;
display: block;
position: relative;
top:18px;
width:130px;
}

#movie video{
width: 100%;
}

#posterarea{
padding-left: 0;
margin-top: 15px;
}


#wrap_panel{
height:auto;
}

.app img{
width:345px;
}

.en_btn{
position: absolute;
right: 40px;
  bottom: 65px;
}

.abst_logo{
width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: right;
  top:-18px;

}

.abst_logo img.right{
position: relative;
  top: 16px;
  width:145px;
  margin-right: 10px;
}

.abst_logo .bnr_sanka img{
width: 145px;

}

.bnr_sanka{
display: flex;
align-items: center;
margin-top: 14px;
}

.abst_logo .nyukai{
top:8px;
margin-top: 4px!important;
}


.closing{
color: #fff;
background-color:rgb(26, 60, 128);
width: 192px;
margin: 0px 10px 10px 12px;
box-sizing: border-box;
text-align: center;
font-size: 13px;
padding: 3px 3px 5px 3px;
line-height: 18px;
border-radius: 11px;
}

.item_right h1.closing_h1{
height: auto!important;
padding-top: 4px;
padding-bottom: 8px;

}


}


