/*
    Theme Name: I-Port
*/

/*------------- 初期化 -------------*/
body {
    /* background-color: #f4f7f9ee; */
    background-image: url(images/bg_wave_blue.png);
    background-size: 550px;
}
body,.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
a {
    color: #0e419b;
}
p {
    line-height: 2;
    margin-bottom: 2rem;
}
ul {
    margin: 0;
}
figcaption {
    text-align: center;
}
.wp-block-separator {
    border-top: none;
    border-bottom: 1px solid #c9d9e8;
}
.fb_iframe_widget {
    display: block !important;
    text-align: center;
}
/*------------- ユーティリティ -------------*/
.button {
    border-radius: 50px;
}
.button:focus,
.button:hover {
    background-color: #2c72eb;
    color: white;
}
a.btn {
    border: none;
    background: #1876f2;
    color: white;
    padding: 0.7rem 3rem;
    font-weight: bold;
    border-radius: 99px;
}
a.btn:hover {
    background: #338bff;
}
.more-btn {
    margin: 0 auto 100px;
    padding: 10px 0;
    clear: both;
    color: #004373;
    font-size: 1.2rem;
    font-weight: bold;
    width: 170px;
    cursor: pointer;
    position: relative;
}
.memBlock {
    border-top: 1px solid silver;
}
.memBlock .more-btn:after {
    content: "";
    display: block;
    float: right;
    width: 0.6em;
    height: 0.6em;
    margin-left: 1.2rem;
    margin-top: 8px;
    border-left: 2px solid #004373;
    border-bottom: 2px solid #004373;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    box-sizing: border-box;
}
.new-icon {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    display: block;
    width: 1px;
    height: 1px;
    overflow: hidden;
    text-indent: 100%;
    line-height: 2em;
    background-image: url(images/icon_new_red.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    transition: top .3s, width .3s, height .3s, opacity .1s;
}
.new-icon.loaded {
    top: -20px;
    opacity: 1;
    width: 30px;
    height: 17px;
}
.hissu {
    color: red;
    margin: 0 0.5rem;
    font-size: 0.8rem;
}

/*------------- モバイル -------------*/
#drawer-btn {
    text-align: right;
    display: block;
    width: auto;
    height: auto;
    position: fixed;
    right: 1rem;
    top: 16px;
    padding: 0.5rem 0;
    color: #2961b8;
    font-size: 1.4rem;
    z-index: 20;
}
.mm-menu {
    background: #dce6f0;
    border-bottom-color: #b8cce0;
}
.mm-menu a {
    color: #2961b8;
}
.mm-searchfield input {
    background: white;
}
.mm-listitem:after {
    border-bottom-color: #b8cce0;
}
.mm-menu .mm-listview .mm-btn_next:after,
.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before {
    border-color: #2961b8;
}
.mm-menu .mm-navbar>* {
    color: #667f99;
}
.mm-menu .mm-navbar a {
    color: #2961b8;
}

/*------------- 基本ブロック -----------------*/
header {
    background: white;
    position: relative;
}
#content {
    padding: 0;
}
#contents-middle {
    background: white;
    padding-bottom: 2rem;
}
#contents-bottom {
    /* background: white; */
}
.sns-icon {
    background: white;
    padding: 1rem 0;
}
footer {
    background: white;
    color: #333;
    padding: 1rem 0 2rem;
}

/*------------- グローバルメニュー -------------*/
#contents-menu {
    padding: 1rem 0;
    align-items: center;
}
.globalMenu {
    list-style: none;
}
.globalMenu li {
    display: inline-block;
    margin: 1em 1.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    position: relative;
}
.globalMenu a {
    position: relative;
    white-space: nowrap;
    padding-bottom: 3px;
}
.globalMenu ul {
    display: none;
}
.globalMenu.left li:first-child a {
    border-bottom: 1px solid #0e419b;
}
.has_child:hover ul li a {
  display: inline-block;
  padding: 0.5em 1em;
  width: 100%;
}
/* .globalMenu li a:hover, */
.globalMenu li.current > a {
    border-bottom: 2px solid #0e419b;
}
.has_child:hover ul li.current a {
  border-bottom: none;
  /* border-left: 2px solid #0e419b; */
  background-color: #dce6f0;
}
.has_child:hover ul li a:hover {
  background-color: #dce6f0;
}
h1.imgLogoMain {
    margin: 0;
}
h1.imgLogoMain a {
    display: flex;
    justify-content: center;
    align-items: center;
}
.gm_menujp {
    position: absolute;
    display: none;
    color: #258faf;
    font-size: 70%;
    white-space: nowrap;
    top: 1.7rem;
}
.has_child:hover ul {
    position: absolute;
    display: block;
    z-index: 10;
    background: white;
    border-radius: 0 10px 10px 10px;
    box-shadow: 5px 5px 10px hsl(218deg 70% 30% / 50%);
    margin: 0;
    overflow: hidden;
}
.has_child:hover ul li {
    width: 100%;
    border-bottom: 1px solid #c9d9e8;
    margin: 0;
    /* padding: 0.5em 1em; */
}
.has_child:hover ul li:last-child {
    border: none;
}
#gm_searchGrp {
    position: relative;
}
#gm_searchGrp button {
    background: transparent;
    color: #0e419b;
    padding: 0.5em;
    font-size: 1.3rem;
    margin: 0;
}
#gm_searchGrp .search-field {
    width: 0;
    height: 30px;
    margin-left: 1rem;
    padding: 0;
    border-radius: 50px;
    border: none;
    transition: all 0.5s ease;
    position: absolute;
    top: 0;
    left: 0;
}
#gm_searchGrp .expand-search {
    opacity: 0;
    width: 100%;
    border: 1px solid #ffffff;
    padding: 0.5rem;
    background: transparent;
    height: 40px;
}
#gm_searchGrp:hover .expand-search {
    opacity: 1;
    box-shadow: 10px 10px 10px grey;
    width: 300px;
    border: 1px solid #004373;
    margin: 0;
    position: absolute;
    top: 40px;
    left: -125px;
}


/*------------- 記事ブロック -------------*/

div.post,
div.page {
    box-shadow: 0px 2px 5px #c0c0c044;
    background: white;
    position: relative;
}
.new_corner {
  width: 44px;
  height: 44px;
  overflow: hidden;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
}
.new_corner .icon_innner {
    color: white;
    font-weight: bold;
    font-size: 12px;
    background: red;
    height: 60px;
    width: 100px;
    letter-spacing: -0.03rem;
    margin-top: -30px;
    margin-left: -51px;
    transform: rotate(314deg);
    align-items: end;
    display: flex;
    justify-content: center;
}
.new_corner.mini {
  width: 26px;
  height: 26px;
}
.new_corner.mini .icon_innner {
    font-size: 10px;
    height: 25px;
    width: 45px;
    margin-top: -8px;
    margin-left: -18px;
    transform: scale(0.7) rotate(314deg);
    line-height: 1.3;
}
#contents-upper .post-wrapper {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
}
.post-wrapper a {
    color: #555;
}
.post-image {
    position: relative;
    overflow: hidden;
}
.image-overlay-content {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.4);
    transition: all 0.4s ease-in-out;
}
.post-wrapper:hover .image-overlay-content {
    opacity: 1;
}
.image-overlay-content p {
    position: absolute;
    top: 50%;
    /* margin-top: -0.5em; */
    text-align: center;
    width: 100%;
    letter-spacing: 0.15em;
    color: #f4f4f4;
    font-size: 1.2rem;
    font-weight: bold;
    opacity: 0;
    transition: all 0.2s linear;
    line-height: 1;
    transform: translateY(-50%);
}
.post-wrapper:hover .image-overlay-content p {
    opacity: 1;
    transition-delay: 0.1s;
    text-shadow: 0 0 30px black;
}
.post-content {
    position: relative;
    word-break: break-all;
}
.post-category {
    position: absolute;
    bottom: 0;
    right: 0;
}
.post-category div {
    line-height: 1.1;
    position: absolute;
    bottom: 0;
    right: 0;
    background: #0e419b;
    color: white;
    padding: 0.2rem 0.5rem;
    font-size: 0.6em;
    font-weight: bold;
    white-space: nowrap;
}
.post-title {
    padding: 0.625rem 0.625rem 0;
}
.post-title h3 {
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    letter-spacing: -0.03rem;
    color: #333;
    display: block;
    min-height: 4.5rem;
}
.post-title p {
    line-height: 1.5;
    font-size: 0.8rem;
    margin-bottom: 0.5em;
}
.post-date {
    font-size: 0.9rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 1.8rem;
    line-height: 1.1rem;
}
.post-metas {
    padding: 0 0.625rem;
    margin-bottom: 0.5rem;
}
.post-pv {
  /* position: relative; */
}
.post-pv .post-pv-inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    line-height: 1;
    padding: 0.5rem 0;
    height: 100%;
    opacity: 0;
}
.post-pv .post-pv-inner.loaded {
  opacity: 1;
  animation: ringo 0.3s ease-in 0s 1;
}
@keyframes ringo {
  0%   { scale: 1.1; opacity: 0; transform: translate(0%, -50%); }
  15%  { scale: 1; opacity: 1; }
  45%  { transform: translate(0%, 0%); }
  70%  { transform: translate(0%, -12%); }
  85%  { transform: translate(0%, 0%); }
  95%  { transform: translate(0%, -3%); }
  100% { transform: translate(0%, 0%); }
}
.post-pv img.icon.ringo {
  height: 1.1rem;
  width: auto;
}
.post-pv span {
    font-size: 0.7rem;
    padding: 0 0.2em;
    color: #0e419b;
}
.post-pv span.number {
    font-size: 1rem;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    line-height: 1;
}
/* .post-metas .post-pv-inner .complete {
  color: rgb(0 149 255);
  transition: color 0.5s;
} */
/* .post-metas .post-pv-inner .complete.active {
  color: #0e419b;
} */

/*------------- トップpost -------------*/
.home .top-post div.post {
    margin: 0 1rem;
}
.top-post .post:hover .image-overlay-content,
.top-post .post:hover .image-overlay-content p {
    opacity: 1;
    text-shadow: 0 0 30px black;
}
.top-post a {
    color: #555;
}
.top-post .post-title {
    margin-top: 1rem;
    padding: 0.625rem 0.9375rem;
}
.top-post .post-category {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
}
.top-post .post-category div {
    top: 0;
    right: 0;
    bottom: auto;
}
.top-post .post-title h2 {
    font-size: 1.1rem;
    font-weight: bold;
    word-break: break-all;
    margin-bottom: 0;
    color: #333;
    background: none;
}
.top-post .post-text p {
    line-height: 1.7;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.sticky-top {
    padding-bottom: 2rem;
}
.slick-arrow {
    width: 35px;
    height: 35px;
    z-index: 5;
    top: 20%;
}
.slick-prev {
    left: 0.625rem;
}
.slick-next {
    right: 0.625rem;
}
.slick-prev:before,
.slick-next:before {
    font-size: 35px;
    color: #ffffff;
    text-shadow: 0 0 10px #0b346b;
}
.slick-dots {
    bottom: calc(-1rem + 7px);
}
.slick-slider .slick-track {
    padding-bottom: 7px;
}
.sticky-top {
  opacity: 0;
  transition: opacity .3s linear;
}
.sticky-top.slick-initialized {
  opacity: 1;
}

/*------------- HOME -------------*/
#contents-upper {
    background-image: url(images/bg_ocean_main11-min.png);
    background-size: auto;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 0;
}
/* #recent-posts {
  opacity: 0;
  transition: opacity .2s;
} */
#recent-posts .grid-margin-x {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}
.wp-pagenavi {
    padding: 1rem 0;
    margin: 2rem auto;
}
.wp-pagenavi span,
.wp-pagenavi a {
    padding: 0;
    margin: 5px;
    width: 2em;
    display: inline-block;
    font-size: 1em;
    font-weight: bold;
    line-height: 2em;
    border: 1px solid #0e419b;
    color: #0e419b;
    border-radius: 5px;
    height: auto;
}
.wp-pagenavi span.pages {
    width: 4em;
    margin-right: 0.5em;
    height: auto;
    /* border: 2px solid #c7cbd1; */
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    background: #0065c7;
    color: white;
    border: 1px solid #0065c7;
}
.wp-pagenavi a.last {
    width: 4rem;
}
#bannerGroup {
    padding: 0.3125rem 0;
}
#bannerGroup .banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: bottom;
    background-size: 100%;
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem;
    border-radius: 5px;
    overflow: hidden;
    transition: background-size 0s ease-out;
}
#bannerGroup .banner:hover {
  background-size: 105%;
  transition: background-size 0.2s ease-out;
}
#bannerGroup .banner a {
    display: block;
    color: white;
    padding: 1rem;
    font-size: 1rem;
    font-weight: bold;
    margin: 0.5rem auto;
    padding: 0.5rem 0.5rem 0.5rem 4.5rem;
    background-image: url(images/logo_002.png);
    background-repeat: no-repeat;
    background-position: 20px center;
    background-size: 40px;
    position: relative;
    text-shadow: 0 0 10px #04193b;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease-out;
}
#bannerGroup .banner a:hover {
  background-color: hsl(205deg 100% 50% / 30%);
}
#bannerGroup .b002 a {
    background-image: url(images/logo_003.png);
}
#bannerGroup .b003 a {
    background-image: url(images/logo_001.png);
}
#bannerGroup .b004 a {
    background-image: url(images/logo_006.png);
}
#bannerGroup .b005 a {
    background-image: url(images/logo_004.png);
}
#bannerGroup .b006 a {
    background-image: url(images/logo_005.png);
}
#bannerGroup .banner a:after {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    background-image: url(images/img_arrow_blue_r.png);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: right center;
}
/* #bannerGroup .banner:hover {
    opacity: 0.9;
} */
#movieSlide {
    margin: 3rem auto;
    padding-bottom: 2rem;
}
#movieSlide .slick-arrow {
    bottom: 20px;
    top: auto;
}
.movie-content {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.movie-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.movie-description {
    height: auto;
    color: white;
    padding: 1em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: bottom;
    background-size: cover;
}
.movieSubTitle {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    color: #99c0ff;
    border-bottom: 2px solid #99c0ff;
}
#instaPosts {
    padding: 0 0 3rem;
}
.sb_instagram_header {
    padding: 5px 0.625rem !important;
}
.sbi_header_img_hover,
.sbi_header_hashtag_icon {
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: center;
    background-size: 100%;
}
#sb_instagram #sbi_load .sbi_load_btn {
    background: white;
    color: #0e419b;
    border: 2px solid #0e419b;
}
#sb_instagram a.sbi_load_btn {
    border-bottom: 2px solid #0e419b !important;
}
#sb_instagram.sbi_col_3.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_4.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_5.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_6.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_7.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_8.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_9.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_10.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_mob_col_1 #sbi_images .sbi_item {
    width: 33%;
}
footer ul {
    list-style: none;
}
/* footer .medium-offset-2 .footerMenu {
    margin-left: 2rem;
} */
footer .menu-footer-container {
    display: inline-block;
    width: 10em;
    padding: 1rem 0;
    list-style: none;
    line-height: 2em;
}
footer .site-description {
    font-size: 0.8rem;
    margin-bottom: 1rem;
    line-height: 1.4;
}
#credit img.logo {
    padding: 1rem 0;
    width: 50%;
}
.site-credit {
    margin: 0.5rem 0;
    font-size: 0.8rem;
}
.btn-nav {
    height: 4rem;
    width: 4rem;
    display: none;
    position: fixed;
    z-index: 2;
    right: 1rem;
    bottom: 1rem;
    background: #ffffff33;
    box-shadow: 0 6px 15px #44444444;
    margin-bottom: 0;
}
.btn-nav a {
    display: inline-block;
    height: 3rem;
    width: 3rem;
}
.btn-nav a span {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 1rem;
    height: 1rem;
    margin-left: -0.5rem;
    border-left: 3px solid #004373;
    border-bottom: 3px solid #004373;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    box-sizing: border-box;
}
.btn-nav:hover a span {
    border-left: 3px solid white;
    border-bottom: 3px solid white;
}

/*--------------- アーカイブ ---------------*/
h1.page-title {
    font-size: 1rem;
    font-weight: bold;
    padding: 0.8rem 0;
    margin-bottom: 0;
    color: white;
    background-image: url(images/bg_deep_ocean.jpg);
    background-size: 100%;
    background-position: center;
    text-align: center;
    padding: 1rem 0;
}
.category div.post.format-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

/*----------------- シングルページ ------------------*/
.post-header {
    position: relative;
}
.single-format-standard .post-title {
    padding: 0.625rem;
}
.single-format-standard .post-title h1 {
    font-size: 1.15rem;
    margin: 1rem 0rem;
    letter-spacing: -0.03rem;
}
.single-format-standard .post-image img {
    width: 100%;
}
.single-format-standard .post-image > div {
  position: relative;
  width: 100%;
}
.single-format-standard .post-lead {
    background-image: url(images/bg_single_lead2.png);
    background-repeat: no-repeat;
    background-position: 1rem 0%;
    background-size: 40px 40px;
    margin: 3rem 0 1rem;
}
.single-format-standard .post-lead .post-text {
    background-image: url(images/bg_single_lead2_r.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) calc(100% - 1px);
    background-size: 40px 40px;
    padding: 1rem 2rem;
}
/* .single-format-standard .post figcaption,  */
.single-post figcaption,
.single .post .note {
    color: #494949;
    padding: 0.5rem 0;
    font-size: 0.8rem;
    margin-bottom: 1rem;
}
.post-lead p {
    margin: 0;
    text-align: justify;
}
.post-meta-upper {
    font-size: 0.8rem;
    margin: 0.5rem 0 0;
}
.single-format-standard .post-meta-upper .post-cat a {
    background: #0e419b;
    color: white;
    padding: 0.2rem 0.5rem;
    font-size: 0.7rem;
    border-radius: 5px;
    font-weight: bold;
    border-right: none;
}
.single-format-standard .post-meta-upper .post-date {
    display: block;
    font-size: 0.9rem;
    margin: 0.2rem 0;
}
.single-format-standard .post-meta-upper span {
    margin: 0.2rem 0;
}
.page .post-text h2 {
    background: #dce6f0;
    padding: 0.5em 0.625rem;
    margin: 1em -0.625rem;
    font-size: 1.3rem;
    font-weight: bold;
}
.page .post-text h3 {
    font-size: 1.1rem;
    font-weight: bold;
    color: #424242;
}
.post-text p {
    font-size: 0.85rem;
}
.page .post-text p {
    font-size: 0.85rem;
}
.post-content ul {
    margin-left: 1rem;
    margin-bottom: 2rem;
}
.post .post-content h3 {
    background: #dce6f0;
    padding: 1rem;
    margin: 2rem -0.625rem;
    font-size: 1.3rem;
    font-weight: bold;
    border-radius: 0;
}
.post-sns-button {
    display: flex;
}
.wp_social_bookmarking_light {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 2em 0 !important;
}
.wp-block-image {
    margin: 0 0 2em;
}
.wp-block-image figcaption {
    margin-top: 0.5em;
    margin-bottom: 1em;
}
.single .post-pv {
    right: 0.5rem;
    bottom: calc(0% - 35px);
    margin: 0;
    opacity: 1;
    text-align: center;
    position: absolute;
    background: white;
    color: #004373;
    border: 1px solid #c9d9e8;
    border-radius: 99px;
    width: 70px;
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 5;
    /* transform: translateY(-50%); */
    /* margin: 0 0.5rem 0 auto; */
}
.single .post-pv .post-pv-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.post-pv img.icon.ringo {
    height: 1.2rem;
    margin: 0 0.2em;
}
.post-pv span.number {
    font-size: 1.2rem;
}
.post-pv span {
    font-size: 0.7rem;
    /* padding-right: 0; */
}
.single .post-rel-info {
    padding-top: 2rem;
    padding-bottom: 2rem;
    color: white;
    font-size: 0.85em;
}
.single .post-tags {
    padding: 2rem 0;
    font-size: 1.1rem;
}
.single .post-tag {
    margin: 0em 0.2rem 0.2em 0;
    font-size: 1.1rem;
    display: inline-block;
    padding: 0.3rem 0.5rem;
}
.post .post-content .rp4wp-related-posts h3 {
    display: inline-block;
    background: white;
}
.rp4wp-related-posts ul {
    margin: 0;
    display: grid;
    grid-template: auto / 1fr;
    border-top: 1px solid #c9d9e8;
    border-bottom: 1px solid #c9d9e8;
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-top: -4rem;
}
.rp4wp-related-posts ul > li {
    display: grid;
    grid-template: auto / 20% 80%;
}
.rp4wp-related-posts ul li > div {
    margin: 0.5rem;
    font-size: 0.9rem;
}
.rp4wp-related-post-image img {
    border-radius: 5px;
}
.post-meta {
    /* color: #666; */
    font-size: 0.9rem;
}
.fb_iframe_widget {
    display: block;
    text-align: center;
}

/*----------------- ページ ----------------*/
.page #contents-upper {
    padding: 1rem 0;
}
.page .post-header {
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: top;
    background-size: 100%;
    color: white;
    display: flex;
    border-radius: 10px 10px 0 0;
}
.page .post-title h1 {
    font-size: 1.2rem;
    padding: 1em 0;
    font-weight: bold;
    margin: 0;
}
.page div.post,
.page div.page {
    background: white;
    border-radius: 0;
    margin: 0;
    box-shadow: 1px 5px 50px #6d747833;
    border-radius: 10px;
}
.page .btn_grp p {
    display: block;
    width: 100%;
    line-height: 1.2;
    margin: 0 0 1em;
}
.page .btn_grp a {
    display: flex;
    width: 95%;
    margin: auto;
    border: 2px solid #4365a2;
    padding: 0.5rem 1rem;
    border-radius: 3px;
    font-weight: bold;
    height: 4em;
    align-items: center;
    justify-content: center;
}
.page .btn_grp .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
}
.post .post-footer,
.page .post-footer {
    /* padding-top: 2rem; */
    /* padding-bottom: 2rem; */
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: top;
    background-size: cover;
    border-radius: 0 0 10px 10px;
}
.numLabel {
    font-size: 80% !important;
    text-align: center;
    width: 100%;
    margin: 0 auto 1em;
    border: 2px solid black;
    font-weight: bold;
}
.memBlock h3 {
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 1em;
    text-align: center;
}
.memBlock .more-btn {
    width: 60%;
    min-width: 50%;
    margin: 1em auto;
    text-align: center;
    display: block;
    font-weight: bold;
    border: 1px solid #b3b3b3;
    padding: 0.2em 1.4em 0.2em 2em;
    border-radius: 100px;
}
p.memMiddleBlock {
    line-height: 1.5;
    padding: 1em 0;
    margin-bottom: 0;
}
.gotoPostWrapper {
    margin-bottom: 0;
    background-color: #f8f8f8;
    border: 1px solid #f3f3f3;
    padding: 1em;
}
.memBlock .wp-block-columns {
    margin-bottom: 0;
    gap: 1rem;
}
.gotoPostLabel {
    align-items: center;
    display: flex;
    font-weight: bold;
}
.post-text .gotoPostLabel p {
    color: black;
    margin-bottom: 0;
    font-size: 0.9rem;
}
.gotoLink p {
    line-height: 1.5;
    margin-bottom: 0;
}
.memBlock {
    padding: 1em 0;
    gap: 1em !important;
}
.page .post-content {
    padding: 0 0.625rem;
}
/* ビジネスプランコンペ受賞者一覧 */
/* .page-id-2923 .post-text h3 {
    color: white;
} */
.sp-sstitle {
    font-size: 1.5rem;
    font-weight: bold;
}
.page .post-text h3.sp-season {
    background: #3d9dd3;
    color: white;
    border-radius: 4px;
    font-weight: bold;
    font-size: 1.1rem;
    margin: 1rem 0;
    padding: 1rem;
}
.page .post-text h4.sp-genre {
    margin: 1rem 0rem;
    padding: 0.5rem 1rem;
    font-size: 1.1rem;
    border: 2px solid black;
}
.sp-title {
    font-size: 1.2rem;
    font-weight: bold;
    padding-left: 0.7rem;
    border-left: 4px solid #000;
    margin-left: 0;
}
.sp-name {
    font-weight: bold;
    font-size: 1rem;
    font-size: 1.25em;
    margin-bottom: 1rem;
    margin-left: calc(4px + 0.7rem);
}
.sp-relpost p {
    line-height: 1.5;
}
.sp-relpost h5 {
    font-size: 0.9rem;
    font-weight: bold;
    color: hsl(230deg 10% 50%);
}
.page .wp-block-image {
    margin: 0;
}
.memBlock > .wp-block-column:first-child {
    align-items: center;
    display: flex;
}

/*--------------- スタッフ -----------------*/
.writerProfile {
    padding: 1.5rem;
}
.writerProfile figure {
    margin-bottom: 1rem;
    margin-top: -1rem;
}
.writerProfile figure img {
    border-radius: 50%;
    border: 5px solid white;
}
.page-template-page-writer.page div.post,
.page-template-page-writer.page div.page {
    margin: auto;
}
.profileTxt {
    padding: 0 0.937rem;
    margin: 0.937rem 0;
}
.writerProfile .description {
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

/*----------------- I-Portとは -----------------*/
.page-id-11 .lead {
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    padding: 0.5em;
}
.page.page-id-11 .post-text h3 {
    color: #0f4372;
    margin-top: 2em;
    margin-bottom: 0.5em;
    background-image: url(//test.i-port.biz/wp-content/themes/iport/images/bg_h_iport.png);
    background-repeat: no-repeat;
    background-position: -10px bottom;
    background-size: 100%;
    text-align: center;
    padding-bottom: 0.5em;
    font-size: 1.3em;
}
.page-id-11 h4 {
    color: #0f4372;
    font-size: 1.1em;
}
.page-id-11 span.highlight {
    color: #ff9500;
}
.page-id-11 ol li span.highlight {
    color: black;
    font-weight: bold;
    font-size: 1.4em;
    background: linear-gradient( transparent 60%, #ffff00 0%);
}
.page-id-11 ol li {
    background-image: url(images/icon_arrow_bottom_iport.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 10%;
    padding-bottom: 60px;
    padding-top: 20px;
    font-size: 0.8em;
    text-align: center;
}
.page-id-11 ol li:last-child {
    background-image: none;
    padding-bottom: 0;
}
.page-id-11 .left {
    text-align: center;
    margin-bottom: 1em;
}
.page-id-11 .left figure {
    width: 50%;
    display: inline-block;
}
.member_box {
    padding: 2rem 0;
}
.member_box h4 {
    display: inline-block;
    border-left: 2px solid #0f4372;
    padding-left: 0.5em;
    color: black;
    font-size: 1.2em;
    margin-bottom: 1em;
}
.highlight_box {
    clear: both;
    background: #fff5f0;
    padding: 2em;
    margin: 1em 0;
}
.highlight_box p {
    margin-bottom: 1em;
}
.contact_box {
    border: 3px solid #0f4372;
    padding: 0;
    margin-top: 5em;
}
.page-id-11 .post-text .contact_box h3 {
    background-image: none;
    display: block;
    padding: 0;
    line-height: 1;
    background-color: white;
    width: 5em;
    margin: -0.5em auto 1em;
}
.contact_box .box_inner {
    padding: 0 2em 2em;
}
.page-id-11 ol {
    list-style: none;
    margin-left: 0;
}
.contact_box ul ul {
    list-style: none;
    margin-left: 0;
}
.contact_box ul > li {
    margin-bottom: 1em;
}
.page-id-11 .post-text .highlight_box h3 {
    font-weight: bold;
    background: none;
    margin-top: 0;
    font-size: 1.5em;
}

/*---------- お問合せフォーム -------------*/
.mw_wp_form h4 {
    font-size: 1.1em;
    font-weight: bold;
    color: #424242;
    border-left: 4px solid #5c9fd6;
    padding-left: 0.4em;
    margin-left: 0;
}
.mw_wp_form input[type=submit] {
    border: none;
    background: #1876f2;
    color: white;
    padding: 0.7rem 3rem;
    font-weight: bold;
    border-radius: 99px;
}
.mw_wp_form input[type=submit]:hover {
    background: #338bff;
}

/*--------------- コラムシングル -----------------*/
.single-format-image .post-title {
    background-image: url(images/bg_deep_ocean.jpg);
    background-position: top;
    background-size: cover;
    color: white;
    padding: 1em 0.5em;
    margin: 0;
    width: 100%;
    position: relative;
}
.single-format-image .post-title h1 {
    font-size: 1.15rem;
    margin: 1rem 0;
    letter-spacing: -0.03rem;
}
.single-format-image .post-date {
    color: #7da4e8;
    justify-content: center;
}
.single-format-image .post-category {
    position: relative;
    bottom: auto;
    right: auto;
}
.single-format-image  .post-rel-info .eyecatch {
    margin-top: -50px;
    margin-left: calc(50% - 50px);
    margin-bottom: 1rem;
    width: 100px;
}
.single-format-image  .eyecatch img {
    border: 5px solid #1a3d7a;
    border-radius: 50%;
}
.single-format-image .post .post-footer {
    padding-top: 0;
}
.post-rel-info h4 {
    font-size: 1rem;
    font-weight: normal;
    color: #a6b8d9;
    margin-bottom: 1rem;
}
.post-rel-info h5 {
    margin-bottom: 1rem;
}
.post-rel-info p {
    line-height: 1.5;
    margin-bottom: 1.5rem;
}
.post-rel-info a {
    color: white;
    text-decoration: underline;
}
.single-format-image .post-header {
    padding: 0;
}
.single-format-image .post-header a {
    color: white;
}
.single-format-image .post-content {
    margin-bottom: 60px;
}
.single-format-image .post-rel-info {
    padding-top: 0;
}

/* 僕たちのくらしごとファイル */
.category-127 .post-header-image {
    margin: 1rem auto;
    width: 90%;
}

/*------------------ インタビューシングル -------------------*/
.single-format-standard .post-image {
    position: relative;
    overflow: visible;
}

/*-------------------ニュースシングル------------------*/
.post-template-default .category-news .post-meta-upper {
    background: white;
    margin: 0.5rem auto -2rem;
    z-index: 5;
}
.post-template-default .category-news .post-title {
    border-bottom: 1px solid #c9d9e8;
}

/*------------------フッター----------------*/
.btnIida {
    display: inline-block;
    border: 1px solid #0e419b;
    width: auto;
}
.btnIida a {
    background: white;
    color: #0e419b;
    display: block;
    padding: 0.2rem 1rem;
    /* border-radius: 3px; */
    font-size: 0.9rem;
    font-weight: bold;
    margin: -5px 5px;
}

/*------------------ 追加CSSから ---------------*/
.sp-sstitle {
    font-size: 1.5rem;
    font-weight: bold;
}
.sp-season {
    background: linear-gradient(45deg, #3993c5, #b4d2eb);
  color: white;
  border-radius: 4px;
  font-weight: bold;
  font-size: 1.5rem;
    margin: 3rem 0;
  padding: 2rem 1rem 0.5rem 1rem;
}
.sp-genre {
  margin: 2rem 0rem;
  padding: 0.5rem 1rem;
  font-size: 1.3rem;
  border: 2px solid black;
}
.sp-title {
    font-size: 1.2rem;
    font-weight: bold;
  padding-left: 0.7rem;
  border-left: 4px solid #000;
  margin-left: 0;
}
.sp-name {
    font-weight: bold;
    font-size: 1rem;
  font-size: 1.25em;
    margin-bottom: 1rem;
    margin-left: calc(4px + 0.7rem);
}
.sp-relpost p {
    line-height: 1.5;
}
.sp-relpost h5 {
    font-size: 0.9rem;
  font-weight: bold;
  color: hsl(230deg 10% 50%);

}

@media screen and ( min-width: 40em ) {
    #content {
        padding: 2rem 0;
    }
    h1.imgLogoMain img {
        width: 70%;
        max-width: 250px;
    }
    /* #contents-menu {
        padding: 0.5rem 0;
    } */
    .top-post .post-title h2 {
        font-size: 1.3rem;
        line-height: 1.5;
    }
    .top-post .post-text p {
        font-size: 0.9rem;
        margin-bottom: 1rem;
    }
    .post-pv img.icon.ringo {
        margin: 0;
    }
    .single .post-pv img.icon.ringo {
        margin: 0.2rem;
    }
    .top-post .post-pv img.icon.ringo {
        height: 1.8rem;
    }
    .top-post .post-pv span.number {
        font-size: 1.6rem;
    }
    .top-post .post-pv span {
        font-size: 1rem;
    }
    .slick-arrow {
        top: 50%;
    }
    .slick-prev {
        left: 25px;
    }
    .slick-next {
        right: 25px;
    }
    #top-posts .slick-dots li button:before {
        color: #ffffff;
    }
    #top-posts .slick-dots li.slick-active button:before {
        color: #ffffff;
    }
    #contents-upper .post-wrapper {
        padding-right: 1rem;
        padding-left: 1rem;
        padding-bottom: 1rem;
        width: calc(33.33333%);
    }
    .post-category div {
        padding: 0.3rem 1rem;
        font-size: 0.7em;
    }
    .post-title {
        padding: 0.9375rem;
    }
    .post-title h3 {
        font-size: 1.15rem;
    }
    .post-title p {
        line-height: 1.6;
        font-size: 0.9rem;
    }
    .post-date {
        justify-content: left;
    }
    .post-metas {
        padding: 0 0.9375rem;
        margin-bottom: 1rem;
    }
    .post-metas .post-pv-inner {
        justify-content: end;
        padding: 0;
    }
    .archive .post-pv.active {
        right: 1rem;
        bottom: 1rem;
        text-align: right;
    }
    .archive .post-pv img.icon.ringo {
        height: 1.3rem;
        width: auto;
        margin: 0 3px;
    }
    .archive .post-pv span {
        font-size: 0.7rem;
    }
    .archive .post-pv span.number {
        font-size: 1.2rem;
    }
    .wp-pagenavi {
        margin: 1rem auto;
    }
    #bannerGroup {
        padding: 2.0625rem 0;
    }
    #bannerGroup .banner {
        margin-top: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 1.5rem;
        margin-right: 1.5rem;
        width: calc(50% - 3rem);
        border-radius: 10px;
    }
    #bannerGroup .banner a {
        padding: 0.5rem 2rem 0.5rem 5rem;
        font-size: 1.2rem;
        margin: 0.5rem auto;
        background-size: 50px;
        background-position: 15px center;
        /* height: calc(100% - 1rem); */
    }
    #bannerGroup .banner a:after {
        background-size: 25px;
    }
    #movieSlide {
        margin: 4.9375rem auto 5rem;
    }
    #movieSlide .slick-arrow {
        bottom: auto;
        top: 50%;
    }
    .movie-content {
        padding-bottom: 40%;
    }
    #instaPosts {
        padding: 2rem 0;
    }
    #sb_instagram.sbi_col_3.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_4.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_5.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_6.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_7.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_8.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_9.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_col_10.sbi_mob_col_auto #sbi_images .sbi_item, #sb_instagram.sbi_mob_col_1 #sbi_images .sbi_item {
        width: 12.5%;
    }
    footer {
        padding: 1rem 0;
    }
    #credit img.logo {
        width: 80%;
    }
    /* アーカイブ, 一覧 */
    h1.page-title {
        font-size: 1.5rem;
    }
    /* シングルページ */
    .post-text p {
        font-size: 1rem;
    }
    .page .post-text p {
        font-size: 1rem;
    }
    /* ページ */
    .page .post-title h1 {
        font-size: 1.7rem;
        padding: 2em 0;
    }
    .page .btn_grp p {
        width: 50%;
    }
    .post .post-footer,
    .page .post-footer {
        padding-top: 2rem;
        padding-bottom: 2rem;
        background-position: center;
        background-size: cover;
    }
    .numLabel {
        margin: 0 0 2em auto;
    }
    .memBlock h3 {
        font-size: 1.2rem;
    }
    .memBlock .more-btn {
        display: none;
    }
    p.memMiddleBlock {
        line-height: 1.5;
        margin-bottom: 1em;
    }
    .gotoPostLabel {
        font-weight: normal;
        background-image: url(images/icon_arrow_r@2x.png);
        background-size: 10px;
        background-repeat: no-repeat;
        background-position: center right;
    }
    /* ビジネスプランコンペ受賞者一覧 */
    .page .post-header {
        margin-bottom: 3em;
    }
    .sp-sstitle {
        font-size: 2rem;
    }
    .page .post-text h2 {
        font-size: 1.5rem;
        margin: 2em -2em;
        padding: 0.5em 2em;
        border-radius: 5px;
    }
    .page .post-text h3 {
        font-size: 1.5em;
    }
    .page .post-text h3.sp-season {
        font-size: 1.3rem;
        padding: 1rem 0 1rem 3rem;
        margin: 3rem -3rem;
    }
    .page .post-text h4.sp-genre {
        padding: 0.5em 2em;
        margin: 2em -2em;
        font-size: 1.3rem;
    }
    .sp-title {
        font-size: 1.35rem;
        margin-left: calc(-4px - 0.7rem);
    }
    .sp-name {
        font-size: 1.25em;
        margin-left: 0;
    }
    .memBlock {
        gap: 2em !important;
        border-top: none;
    }
    .memBlock > .wp-block-column:first-child {
        align-items: start;
    }
    .post-text .gotoPostLabel p {
        font-size: 0.9rem;
    }
    /* スタッフ　*/
    .page-id-13 h1.page-title {
        font-size: 1.5rem;
    }
    /* I-Portとは */
    a.btn {
        padding: 0.7em 1em;
    }
    .page.page-id-11 .post-text h3 {
        font-size: 1.8rem;
        background-position: -20px bottom;
    }
    .page-id-11 h4 {
        font-size: 1.4em;
    }
    .page-id-11 ol li {
        font-size: 1em;
    }
    .highlight_box h3 {
        font-size: 2em;
    }
    /* お問合せフォーム */
    .mw_wp_form h4 {
        margin-left: calc(-4px - 0.4em);
    }
    /* コラムシングル */
    .single-format-image .post-title h1 {
        font-size: 1.5rem;
        font-weight: bold;
        margin: 1rem 0;
    }
    .single-format-image .post-content h3 {
        border-radius: 5px;
    }
    .single-format-image .post-content h4 {
      font-size: 1.2rem;
      font-weight: bold;
    }
    .single-format-image .post-pv {
        right: 1rem;
        bottom: calc(0% - 43px);
        margin: 0;
        opacity: 1;
        text-align: center;
        position: absolute;
        background: white;
        color: #004373;
        border: 1px solid #c9d9e8;
        border-radius: 99px;
        width: 85px;
        height: 85px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .single-format-image .post-pv span.number {
        font-size: 1.5rem;
    }
    .single-format-image .post-pv img.icon.ringo {
        height: 1.3rem;
    }
    .single-format-image .post-pv span {
        font-size: 0.9rem;
    }
    .post .post-content .rp4wp-related-posts h3 {
    }
    .rp4wp-related-posts ul {
        grid-template: auto / 1fr 1fr;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .rp4wp-related-posts ul > li {
        grid-template: auto / 30% 70%;
    }
    .rp4wp-related-post-image {
    }
    .rp4wp-related-post-image img {
    }
    /* シングルインタビュー */
    .single-format-standard .post-title {
        padding: 0.625rem 0.625rem 0.9375rem;
    }
    .single-format-standard .post-title h1 {
        font-size: 1.7rem;
    }
    .single-format-standard .post-meta-upper .post-cat a,
    .single-format-standard .post-meta-upper .post-date {
        font-size: 0.7rem;
        display: inline;
        border-left: 1px solid #c9d9e8;
        border-right: 1px solid #c9d9e8;
        padding-right: 1rem;
        padding-left: 1rem;
        margin-right: 1rem;
    }
    .single-format-standard .post-meta-upper .post-cat a {
        border-left: none;
        border-right: none;
    }
    .single-format-standard .post-lead {
        background-position: 8.8% 0;
        background-size: 60px 60px;
        margin: 4rem 0 2rem;
    }
    .single-format-standard .post-lead .post-text {
        background-size: 60px 60px;
        background-position: 100% 100%;
        padding: 3rem;
    }
    .single-format-standard .post-content h3 {
        padding: 1rem 2rem;
        margin: 2rem -2rem;
        font-size: 1.5rem;
        border-radius: 5px;
    }
    .single-format-standard .post-pv {
        bottom: calc(0% - 50px);
        width: 100px;
        height: 100px;
        right: 1rem;
    }
    .single-format-standard .post-pv span.number {
        font-size: 1.6rem;
    }
    .single-format-standard .post-pv img.icon.ringo {
        height: 1.5rem;
    }
    .single-format-standard .post-pv span {
        font-size: 0.9rem;
    }

    /* 追加CSSから */
    .sp-sstitle {
        font-size: 2rem;
    }
    .sp-season {
        font-size: 2rem;
        padding: 3rem 0 1rem 3rem;
        margin: 3rem -3rem;
    }
    .sp-genre {
        padding: 0.5em 2em;
      margin: 2em -2em;
      font-size: 1.5rem;
    }
    .sp-title {
        font-size: 1.35rem;
        margin-left: calc(-4px - 0.7rem);
    }
    .sp-name {
        font-size: 1.25em;
        margin-left: 0;
    }
}
@media screen and ( min-width: 64em ) {
    .home .top-post .post-content {
      padding: 1rem;
    }
    h1.page-title {
        padding: 2rem 0;
    }
    #contents-menu {
        padding: 2.5rem 0;
    }
    .wp-pagenavi {
        margin: 3rem auto;
    }
    footer {
        padding: 1rem 0 4rem;
    }
    #credit img.logo {
        width: 60%;
        max-width: 300px;
    }
    .sns-icon {
        padding: 2rem 0;
    }
    #bannerGroup .banner a {
        padding: 2rem 2rem 2rem 8rem;
        font-size: 1.5rem;
        margin: 0;
        background-size: 75px;
        background-position: 30px center;
    }
    #contents-upper .post-wrapper {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
        padding-bottom: 1.5rem;
    }
    /* footer .medium-offset-2 .footerMenu {
        margin-left: 4rem;
    } */
}

