@charset "UTF-8";

/*////// 共通 //////*/
/*  Links
--------------------------------------- */
a {
  color: #0039e1;
  text-decoration: none;
  cursor: pointer;
}

a:link, a:visited {
  color: #0039e1;
  text-decoration: none;
}

a:active, a:hover, a:focus {
  color: #0039e1;
  outline: none;
  text-decoration: underline;
}

/* -------------------------------------------------------------------

    Base Style

-------------------------------------------------------------------- */
/*  Universal Reset
--------------------------------------- */
html, body, div, main, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, svg,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: top;
  background: transparent;
  zoom: 1;
}

/*  HTML5 Display Definitions
--------------------------------------- */
main, section, nav, article, aside, hgroup, menu, summary, svg,
header, footer, figure, figcaption, details, picture {
  display: block;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

/*  Typography
--------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-size: 100%;
  font-weight: normal;
}
em {
  font-style: normal;
  font-weight: bold;
}
strong, b {
  color: #333;
  font-weight: bold;
}
sup {
  position: relative;
  top: -4px;
  vertical-align: middle;
  line-height: 0;
  font-size: 65%;
}
sub {
  position: relative;
  top: 0;
  vertical-align: middle;
  line-height: 0;
  font-size: 65%;
}
pre {
  font-family: monospace, sans-serif;
  white-space: pre-wrap;
  word-wrap: break-word;
}
/*  Horizontal Rule
--------------------------------------- */
hr {
  display: none;
}
/*  Embedded Content
--------------------------------------- */
img {
  border: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
svg:not(:root) {
  overflow: hidden;
}
/*  List Content
--------------------------------------- */
ul, ol {
  list-style: none;
}
/* -------------------------------------------------------------------

    layout

-------------------------------------------------------------------- */
.inner {
  width: 1000px;
  margin: 0px auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    padding: 0 15px;
  }
}
/* -------------------------------------------------------------------

    basic

-------------------------------------------------------------------- */
html {
  overflow: auto;
  position: relative;
}
body {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
}

.forPc {
  display: block;
}
.forSp {
  display: none;
}
@media screen and (max-width: 767px) {
  .forPc {
    display: none;
  }
  .forSp {
    display: block;
  }  
}
 html {
  overflow:visible;
  font-size: 14px;
 }
 body {
  overflow-y: visible;
  overflow-x: visible;
  line-height: 1.5;
  font-size: 14px;
  font-family:"Noto Sans JP",sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 767px) {
 html {
  overflow:auto;
}
body {
  overflow-y: hidden;
  overflow-y: auto;
  word-break: break-all;
}
}
* html body {
  font-size: 84%;
}
*:first-child + html body {
  font-size: 84%;
}

.main {
  background: #fff;
  overflow-wrap:anywhere;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}

.w-1000 {
  max-width: 1360px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .w-1000 {
    width: 100%;
  }
}

.r_180 {
  transform: rotate(180deg);
}
.content_h {
  font-family: "Shippori Mincho B1", serif;
}


/*////// FV //////*/   
.fv {
  width: 100%;
}
.fv_img {
  width: 100%;
}
.fv_pc, .fv_sp {
  object-fit: cover;
  object-position: center;
}

.logo_area {
  height: 120px;
  background: #fff;
}
.logo_area img {
  width: 200px;
  margin: 0 1%;
  padding-left: 30px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
.logo_area {
  height: 80px;
}
.logo_area img {
  margin-top: 8%;
  width: 40%;
}
}
/*////// lead //////*/   
.lead_txt {
  color: #2E6589;
  margin:0 auto;
  padding: 120px 0;
  position: relative;
}
.lead_txt-oj {
  font-size: 1.5rem;
  line-height: 2.8rem;
  width: 92%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .lead_txt {
  padding: 80px 0;
}
.lead_txt-oj {
  font-size: 1.0rem;
  line-height: 2.4rem;
}
}

/*////// 進化 //////*/   
.evolution_img01 {
  width: 80%;
  margin: 0 auto;
  margin-top: 80px;
}
/*.evolution .js-onscreen {
}*/
@media screen and (max-width: 767px) {
  .evolution_img01 {
    width: 100%;
    margin-top: 0;
  }
}

/*////// コンテンツ各種 2カラム //////*/   
.content.content02 {
  background: #fff;
}
.content02_box_wrap {
  margin: 0 auto;
}
.content02_box {
  display: flex;
  justify-content: flex-start;
  margin: 60px 0;
  border: 3px solid #2E6589;
  background-color: #2E6589;
}
.left_box {
  color: #F9F9F9;
  width: 30%;
  align-self: flex-start;
  position: sticky;
  top: 40px;
  bottom: auto;
}
.left_box .inner {
  display: block;
  width: 87%;
  margin: 0 auto;
}
.left_box .inner .inner_grid {
   display: flex;
   flex-direction: column;
   gap: 40px;
   margin: 40px 0;
}
.left_box h3 {
  font-size: 2.4rem;
  line-height: 5.6rem;
  letter-spacing: 0.8rem;
  font-family: "Shippori Mincho B1", serif;
}
.left_box p {
  line-height: 2.6rem;
  letter-spacing: 0.2rem;
  line-break: strict;
}
.right_box {
  width: 70%;
  background-color: #FFF;
}
.right_box ul {
  width: 85%;
  margin: 0 auto;
}
.right_box ul li {
  width: 100%;
  padding: 60px 0;
}
.right_box ul li:not(:last-child) {
  border-bottom: solid 2px rgb(46,101,137, 0.5);
}
.right_box ul li img {
  width: 100%;
  object-fit:contain;
  margin-bottom: 15px;
  border: 1px solid rgb(46,101,137, 0.3);
}
.right_box ul li p {
line-height: 2.0rem;
color: #2E6589;
padding: 20px;
background-color: rgb(46, 101, 137, 0.05);
font-size: 1.1em;
}
.content02_box-img {
  width: 90%;
  margin: 0 auto;
}
.content02_box-img img {
  margin-top: 60px;
animation: fluffy 3s infinite;
}

@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}
@media screen and (max-width: 767px) {
  .content02_box {
    display: grid;
    justify-content: center;
    grid-template-rows: 1fr;
    margin: 0;
  }
  .left_box {
    width: 100%;
  }
  .left_box .inner {
    width: 97%;
}
.left_box .inner .inner_grid {
   display: flex;
   flex-direction: column;
   gap: 20px;
}
.left_box h3 {
  font-size: 2.0rem;
  line-height: 4.0rem;
  letter-spacing: 0.6rem;
}
.left_box p {
  line-height: 2.2rem;
  letter-spacing: 0.2rem;
}
.right_box {
  width: 100%;
}
.content02_box-img {
  width: 85%;
}
@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
}

/*////// 15年の歩み //////*/   
.content01_wrap {
  position: relative;
  background-color: #2E6589;
  top: 0px;
  padding-bottom: 180px;
  margin-top: -3px;
}
.content01 .content_h {
  font-size: 4.5rem;
  letter-spacing: 0.5rem;
  color: #F9F9F9;
  text-align: center;
}
.content01 h2 {
  padding-top: 80px;
  margin-bottom: 80px;
}
.content01_inner {
  background: rgb(255, 255, 255, 0.9);
  padding: 60px 0;
}
.content01_flow {
  display: flex;
  justify-content: center;
  align-items: center;
}
.content01_flow-box01 {
  position: relative;
　width: 70%;
}
.content01_flow-box01::before {
  content: "";
  width: 5px;
  height: 105%;
  background: #2E6589;
  display: block;
  position: absolute;
  border-radius: 2.5px;
}
.content01_flow-box01 > li:not(:last-child) {
  margin-bottom: 30px;
}
.content01_flow-box01 dl {
  padding-left: 25px;
  position: relative;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  color: #333;
}
.content01_flow-box01 dd p {
  margin-bottom: 7px;
}
.content01_flow-box01 dd b {
  color: #2E6589;
}

.Anniversary_dots::before {
  content: "";
  display: block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: -6px;
  top: 12px;
  background: #2E6589;
  border-radius: 50%;
}
.content01_flow-box01 > li dl dt  {
  font-size: 1.2rem;
  align-items: baseline;
  text-align: center;
  background-color: rgb(46, 101, 137, 0.12);;
  color: #2E6589;
  padding: 15px 5px 5px;
  font-weight: 600;
  display: inline-block;
  letter-spacing: 0.1rem;
}

.content01_flow-box01 > li dl dd  {/* narita追記 */
  font-size: 1.1rem;
}

.content01_flow-box01 p.rate {/* narita追記 */
    margin: 0.2vw;
    font-size: 0.9rem;
    color: #333;
    font-weight: 400;
}


.content01_img01-inner {
  margin: 0 auto;
  width: 80%;
  padding: 40px 0;
}
.content_bg.bg_rb {
  background: #2E6589;
  margin-top: -3px;
}
.content_bg.bg_rb img {
  filter: drop-shadow(0 -15px 10px #224c69 );
}
@media screen and (max-width: 767px) {

.content01_flow-box01 p.rate {/* narita追記 */
    text-align: left;
    font-size: 0.85rem;
    margin: 0;
    line-height: 1.4rem;
}
.content01_wrap {
  padding-bottom: 80px;
}
.content01 .content_h {
  font-size: 2.5rem;
}
.content01 h2 {
  margin-bottom: 20px;
}
.content01_inner {
  background: rgb(255, 255, 255, 1.0);
}
.content01_flow {
  width: 90%;
  margin: 0 auto;
}
.content01_flow-box01::before {
  /*height: 103%;*/
　content: none !important; /* または content: "";　narita追記 */
  display: none !important;
}

.Anniversary_dots::before {/* narita追記 */
　content: none !important; /* または content: "";　narita追記 */
  display: none !important;
}

.content01_flow-box01 > li:not(:last-child) {
  margin-bottom: 40px;
  color: #333;
}
.content01_flow-box01 dl {
  grid-template-columns: 1fr;
  gap: 1%;
  padding-left: 0px;
}
.content01_flow-box01 > li dl dt {
  margin-bottom: 0;
  display: grid;
  grid-template-columns: 28% 1fr;
  align-items:flex-start;
  padding: 15px 5px;
}
.content01_flow-box01 > li dl dd {
 width: 95%;
 margin: 0 auto;
 padding-top: 10px;
}
.content01_flow-box01 > li dl dd p {
  margin-bottom: 5px;
  line-height: 1.5rem;
}
.content01_flow-box01 > li dl dd p.list_item {
  padding-left: 1em;      /* 全体を1文字分右に寄せる */
  text-indent: -1em;     /* 1行目だけを1文字分左に戻す */
}
.content01_img01-inner {
  width: 90%;
  padding: 20px 0 0;
}
}

/*////// キャンペーン //////*/   
.content.content03 {
  background: #2E6589;
  padding-bottom: 120px;
  margin-top: -3px;
}
.content03 .content_h {
  font-size: 4.5rem;
  letter-spacing: 0.2rem;
  color: #F9F9F9;
  text-align: center;
  padding: 60px 0;
}
@media screen and (max-width: 767px)  {
  .content03 .content_h {
    font-size: 2.5rem;
    padding: 40px 0;
  }
}

/*////// スライド（slick） /////*/
/* --------------------------------------------------------------------
	slider
--------------------------------------------------------------------- */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  /*overflow: hidden;*/
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-loading .slick-list {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 44%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 1000;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  opacity: 1;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -25px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0px;
}

.slick-dots {
  position: absolute;
  bottom: -32px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 2px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
  background: #fff;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 40px;
  height: 2px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li {
  outline: none;
  opacity: .6;
}

.slick-dots li.slick-active {
  outline: none;
  opacity: 1;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li.slick-active button:before {
  opacity: .6;
  color: black;
}

.source_wrap {
  width: 100%;
  min-height: 120px;
  border: 1px solid #333;
  padding: 0.5em 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: 20px;
  background-color: #000;
  color: #1AFF00 !important;
  text-align: left !important;
  border-radius: 0px;
  font-size: 12px;
}

.preDiv {
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .preDiv {
    margin-bottom: 30px;
  }
}

.modulettl {
  font-size: 179%;
  padding: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  color: #fff;
  text-align: center;
  background: #001f7a;
  margin-bottom: 20px;
}

.spse {
  display: none;
}

@media screen and (max-width: 320px) {
  .spse {
    display: block;
  }
}








.slide-items01 {
  width: 100%;
  margin: 0 auto;
  display: flex;
}
.slide-items01 li {
  position: relative;
  margin: 10px;
  background: #fff;
}
.slide-items02 {
  width: 100%;
  margin: 0 auto;
}
.video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.slide-controls {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  top: 50%;
}
.lower_slide {
  width: 80%;
  margin: 0 auto;
  position: relative;
}
.slick-prev, .slick-next {
  width: 50px;
  height: 50px;
}
.slick-prev:before {
  display: none;
}
.slick-next:before {
  display: none;
}
.slick-dots li {
  background-color: #2E6589;
  width: 20px;
}
.slick-dots li button:before {
  color: #F9F9F9;
}
.slick-dots li.slick-active button:before {
  color: #F9F9F9;
}
@media screen and (max-width: 767px) {
  .lower_slide {
    width: 100%;
  }
  .slick-prev {
    left: 25px;
  }
  .slick-next {
    right: 25px;
  }
  .slick-dots li {
  width: 0;
}
  .slick-dots li button:before {
    font-size: 5vw;
  }
}





.bg_sea {
  animation: fluffy 5s infinite;
  margin-top: -30px;
}


/*////// 挨拶 //////*/   
.ending_txt {
  display: flex;
  gap: 80px;
  justify-content: center;
  align-items: center;
  margin-top: -30px;
  vertical-align: middle;
}
.ending_txt-img {
  width: 25%;
  filter: drop-shadow(30px -30px 0 #2E6589);
}
.ending_txt-oj {
  color: #333;
  font-size: 1.6rem;
  line-height: 3.0rem;
  letter-spacing: 0.2rem;
  font-family: "Shippori Mincho B1", serif;
}
.ending_txt-oj.box_01 {
  margin-bottom: 40px;
}
.ending_txt-oj.box_02 {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .ending_txt {
    flex-direction:column;
    gap: 40px;
}
.ending_txt-img {
  width: 45%;
  filter: drop-shadow(20px -20px 0 #2E6589);
}
.ending_txt-oj {
  font-size: 1.1rem;
  line-height: 2.0rem;
  letter-spacing: 0.1rem;
  width: 92%;
  margin: 0 auto;
}
.ending_txt-oj.box_01 {
  margin-bottom: 20px;
}
}

/* ///// oricon ///// */
.oricon_img {
  margin: 0 auto;
  width: 80%;
}
.oricon_img img {
  margin-top: -30px;
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .oricon_img {
  width: 75%;
}
.oricon_img img {
  margin-top: -20px;
  margin-bottom: 80px;
}
}

/*////// footer //////*/   
#footer .footer01 {
  background-color: #2E6589;
  width: 100%;
}
.footernav {
  display: none;
}
#footer .footer01 .inner {/* narita追記 */
  width: 1400px;
}
#footer .footer01 .inner .footertext {
  border-bottom: none;
  padding: 40px 0px;
}
#footer .footer01 .inner .footertext p {
  color: #F9F9F9;
  font-size: 86%;
  line-height: 2;
  margin-bottom: 20px;
}

#footer .footer02 {
  background: #fff;
  padding: 50px 0px 35px;
}
#footer .footer02 .inner .copy {
  color: #2E6589;
  text-align: center;
  font-size: 86%;
  padding-top: 65px;
}
@media screen and (max-width: 767px) {
#footer .footer01 .inner {/* narita追記 */
    width: 380px;
}
  #footer .footer01 .inner .footertext {
    padding: 25px 0;
  }
    #footer .footer01 .inner .footertext p {
    font-size: 72%;
  }
    #footer .footer02 {
    padding: 30px 0px 15px;
  }
    #footer .footer02 .inner .copy {
    padding-top: 55px;
    font-size: 72%;
  }
}