@charset "utf-8";
* {
   box-sizing: border-box;
}
body {
   margin: 0;
   padding: 0;
   height: 100%;
   font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #fff;
   letter-spacing : 0.2em;
}
header {
   z-index: 9999;
   padding: 30px 4% 10px;
   position: fixed;
   top: 0;
   width: 100%;
   background-color: transparent;
   display: flex;
   align-items: center;
   transition: all .2s ease-out;
}
header.min-header {
   padding: 10px 4%;
   background-color: #293f4d;
}
h1 {
   margin: 0; padding: 0;
   font-size: 20px;
}
a {   
   text-decoration: none;
   color: #fff;
}

p {
     line-height: 2;
}

p.slide-bottom {
   margin-left: 10em;
   margin-right: 10em;
   text-align: justify;
}

p.ooo {
   text-align: left;
}

nav {
   margin: 0 0 0 auto;
}
ul {
   list-style: none;
   margin: 0;
   display: flex;
}
li {
   margin: 0 0 0 15px;
   font-size: 14px;
}
.main-visual {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100vh;
   background: url('img/home.jpeg') top center / cover no-repeat;
}
.main-visual h2 {
   margin: 0 0 40px 0;
   font-size: 30px;
   font-weight: normal;
   color: #fff;
}
.sp-nav {
   display: none;
}


a.button {
   display: block;
   width: 250px;
   margin: 0 auto;
   padding: 15px 30px;
   text-align: center;
   border: 1px solid #fff;
   transition: all .3s ease-out;
}
a.button:hover {
   color: #505050;
   background-color: #fff;
}
/* section */
.flex {
   display: flex;
}
section {
   overflow: hidden;
   text-align: center;
   padding: 100px 0;
}
section h2 {
   margin: 0 0 50px 0;
   color: #293f4d;
   text-align: center;
}
section p {
   color: #293f4d;
}
.photo {
   width: 55%;
   height: 500px;
   background: #fff url(section-bg.jpg) center/ cover no-repeat;
}
.photo + div {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 45%;
}
#service {
   background-color: #f7f7f7;
}
#service .icon_list {
    display: block;
    margin: 0 auto;
    max-width: 800px;
}
#service ul {
   margin: 0;padding: 0;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}
#service ul li {
    width: 25%;
    margin: 0;
    text-align: center;
}
#service ul li:nth-of-type(2){
   transition-delay: .2s;
}
#service ul li:nth-of-type(3){
   transition-delay: .4s;
}
#service ul li:nth-of-type(4){
   transition-delay: .6s;
}
#service ul li img {
    max-width: 116px;
}
#service ul li p {
    font-size: 14px;
    color: #f73f6f;
}
#service p {
   margin: 0 0 40px 0;
}
#service a.button {
   color: #293f4d;
   border: 1px solid #293f4d;
}
#service a.button:hover {
   color: #fff;
   background-color: #293f4d;
}

footer {
   padding: 50px 0 20px;
   background-color: #293f4d;
   text-align: center;
}

@media screen and (max-width: 640px) {
   /*ハンバーガーメニュー*/
   .pc-nav {
      display: none;
   }
   .sp-nav {
      z-index: 1;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: block;
      width: 100%;
      background: rgba(0, 0, 0, .8);
      opacity: 0;
      transform: translateY(-100%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 0 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #fff;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 70%;
      height: 2px;
      background-color: #fff;
   }
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
   }
   .sp-nav li {
      margin: 0;
      padding: 0;
   }
   .sp-nav li span {
      font-size: 15px;
      color: #fff;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 20px 0;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }
   .main-visual {
      padding: 0 4%;
   }
   h2 {
      line-height: 1.6;
      text-align: center;
   }
   /* section */
   #service ul li {
      width: 50%;
   }
}
table {
   max-width: 700px;
   margin: 0 auto;
   color: #aaa;
}

/* フェードイン用のCSS */

/* 上からフェードイン */
.slide-top {
   opacity: 0;
   transform: translate(0, -20px);
   transition: all 1s ease-out;
 }

/* 下からフェードイン */
.slide-bottom {
   opacity: 0;
   transform: translate(0, 20px);
   transition: all 1s ease-out;
 }

 /* 左からフェードイン */
.slide-left {
   opacity: 0;
   transform: translate(-20px, 0);
   transition: all 1s ease-out;
 }

/* 右からフェードイン */
.slide-right {
   opacity: 0;
   transform: translate(20px, 0);
   transition: all 1s ease-out;
 }






/*2page*/

.wrapper {
  max-width: 1200px;
  padding: 0 16px;
  margin: 0 auto;
}
.readmore {
  font-size: 0.875rem;
  text-align: center;
}
/*
疑似要素で下線を設定するために、「position: relative;」を設定
*/
.readmore a {
  padding-bottom: 1px;
  color: #333;
  position: relative;
}
/*
「position: absolute;」を設定し、left、bottomで下線の位置を調整
widthとheightで線の長さと高さを設定
疑似要素で線を表示させるためには、「content: '';」を設定すること
「transition: all 200ms ease;」でホバー時の速度などを設定
*/
.readmore a::after {
  content: '';
  position: absolute;
  height: 1px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: #333;
  transition: all 200ms ease;
}
/*
ホバー時の下線の設定
「opacity: 0;」下線を非表示
「transform: translateY(3px);」下に3px移動
→下に3px移動しながら下線を非表示にする
*/
.readmore a:hover::after {
  opacity: 0;
  transform: translateY(3px);
}



#pickup {
  display: flex;
  justify-content: space-between;
  padding-top: 150px;
  margin-bottom: 60px;
}
#pickup article {
  width: 32%;
}
#pickup .article-title {
  font-size: 1rem;
  margin: 10px 0 15px 0;
}

/*-------------------------------------------
container
-------------------------------------------*/
#container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
main {
  width: 100%;
}
main article {
  margin-bottom: 80px;
}
main .article-title {
  font-size: 1.5rem;
  margin: 10px 0 15px 0;
}
main ul {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 10px;
}
main li {
  font-size: 0.875rem;
  margin-right: 20px;
}
main .text {
  padding: 10px 40px 30px 40px;
}

/*-------------------------------------------
aside
-------------------------------------------*/
#sidebar {
  width: 33%;
  padding: 20px;
}
#sidebar .side-title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.author {
  text-align: center;
  margin-bottom: 60px;
}
.author img {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  margin-bottom: 30px;
}
.author .profile {
  font-size: 0.875rem;
  text-align: left;
}
.ranking {
  text-align: center;
  margin-bottom: 60px;
}
.ranking article {
  margin-bottom: 30px;
}
.ranking .article-title {
  font-size: 0.875rem;
  font-weight: normal;
  text-align: left;
}
.archive {
  text-align: center;
  margin-bottom: 60px;
}
.archive ul {
  border-bottom: solid  1px black;
}
.archive li {
  font-size: 0.875rem;
  border-top: solid  1px #777;
  padding: 20px;
  text-align: left;
}

/*-------------------------------------------
footer
-------------------------------------------*/
#footer {
  font-size: 0.875rem;
  background-color: #f7f7f7;
}
#footer .content {
  display: flex;
  justify-content: space-between;
  padding-top: 50px;
  padding-bottom: 50px;
}
#footer .item {
  width: 30%;
}
#footer .footer-title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 30px;
}

#footer ul.about-list {
  margin: 20px 0;
}
#footer ul.about-list li {
  margin-bottom: 5px;
}
#footer ul.about-list .arrow {
  position: relative;
  display: inline-block;
  padding-left: 12px;
  color: #333;
}


#footer ul.about-list .arrow::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -6px;
}
#footer .menu-list {
  border-bottom: solid  1px #777;
}
#footer .menu-list > li {
  border-top: solid  1px #777;
  padding: 15px;
  text-align: left;
}
#footer .copyright {
  font-size: 0.750rem;
  text-align: center;
  padding: 10px 0;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 767px) {
  /*-------------------------------------------
  header
  -------------------------------------------*/
  #header .site-title {
    padding: 20px 16px;
  }
  #navi {
    /* 横スクロールを表示 */
    overflow-x: scroll;
  }

  /*-------------------------------------------
  pickup
  -------------------------------------------*/
  #pickup {
    flex-direction: column;
    padding-top: 140px;
  }
  #pickup article {
    width: 100%;
    margin-bottom: 30px;
  }

  /*-------------------------------------------
  container
  -------------------------------------------*/
  #container {
    flex-direction: column;
  }
  main {
    width: 100%;
  }

  /*-------------------------------------------
  aside
  -------------------------------------------*/
  #sidebar {
    width: 100%;
    padding: 0;
  }

  /*-------------------------------------------
  footer
  -------------------------------------------*/
  #footer .content {
    flex-direction: column;
  }
  #footer .item {
    width: 100%;
    margin-bottom: 30px;
  }
}


.obe{
   width: 100%;
}




.content2 {
   clear: both;
}

.main_cont {
   margin-bottom: 10px;
}
.content2::after {
   content: ".";
   display: block;
   height: 0;
   font-size: 0;
   clear: both;
   visibility: hidden;
}
.content2 p {
   line-height: 1.8;
   font-size: 16px;
   margin-bottom: 30px;
   margin-right: 15px;
   margin-left: 15px;
   margin-top: 10px;

   .content2.news h2 {
   border-bottom-width: 1px;
   border-bottom-style: dotted;
   border-bottom-color: #00365E;
}
.content2.news ul li {
   margin-bottom: 10px;
   padding-bottom: 10px;
   border-bottom-width: 1px;
   border-bottom-style: dotted;
   border-bottom-color: #B5A57B;
}
.content2.news ul li a {
   font-size: 14px;
   color: #333;
   text-decoration: none;
   letter-spacing: 1px;
}