@charset "utf-8";

/* Body
------------------------------ */
html {
  overflow-x: hidden !important;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
:target {
  scroll-margin-top: 90px;
}
body {
  box-shadow: none;
  color: #323232;
  font-family: "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-size: 1.6em;
  font-weight: 100;
  line-height: 1.75em;
  letter-spacing: 0.025em;
  -webkit-text-size-adjust: 100% !important;
  top: 0 !important;
  font-weight: 400;
  margin: 0;
}
.fw_6 {
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 600;
}
a {
  text-decoration: none;
  transition: 0.35s;
}
img {
  vertical-align: top;
}
.center {
  text-align: center;
}
figure {
  margin: 0;
}

/* layout
------------------------------ */
.wrapper {
  position: relative;
  display: block;
  clear: both;
  float: none;
  width: 1250px;
  margin: 0 auto;
  padding: 0 15px;
}
ul,
ol {
  letter-spacing: -0.4em;
  line-height: 0;
}
li {
  list-style: none;
  letter-spacing: normal;
  line-height: 1.5;
  vertical-align: top;
}
p {
  margin: 0;
}

/* Common
------------------------------ */
.fl_l {
  float: left;
}
.fl_r {
  float: right;
}
.float::before,
.float::after {
  content: " ";
  display: block;
  clear: both;
}
a.btn {
  position: relative;
  display: inline-block;
  width: 280px;
  height: 60px;
  color: #000;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 60px;
  text-align: left;
  background: #fff url(../images/btn_arrow_right_b.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: right 27px center, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
  border-radius: 30px;
  margin-right: 26px;
  padding-left: 27px;
  box-sizing: border-box;
}
a.btn:last-child {
  margin-right: 0;
}
a.btn:hover {
  color: #fff;
  background: #0e74d7 url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: right 20px center, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
}
a.btn.bg_b {
  color: #fff;
  background-color: #0c295e;
  background-image: url(../images/btn_arrow_right_w.svg);
}
a.btn.bg_b:hover {
  background-color: #0e74d7;
}
.pict img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.text_link {
  display: inline-block;
  text-decoration: none;
  color: #000;
  font-weight: 600;
}
.text_link:after {
  content: "";
  display: block;
  width: 0;
  transition: width 0.3s;
  border-bottom: 1px solid #000;
  margin: -6px auto 0;
  border-radius: 1px;
}
.text_link:hover {
  text-decoration: none;
}
.text_link:hover:after {
  width: 100%;
}
.caution {
  position: relative;
  display: block;
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}
.caution::before {
  content: "※";
}
/* link adjust
------------------------------ */
#company_info04::before {
  content: "";
  margin-top: -120px;
  padding-top: 120px;
  display: block;
}

/* Header
------------------------------ */
header {
  position: relative;
  width: 100%;
  height: 702px;
  padding-top: 24px;
  z-index: 5;
}
.header_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.header_unit {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 159px;
}
.header_recipe {
  width: 100%;
  max-width: 115px;
}
.header_recipe a {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  width: 100%;
  color: #fff;
  background-color: #0b3971;
  border: 1px solid #0b3971;
  padding: 8px 18px;
  box-sizing: border-box;
}
.header_recipe a:hover {
  color: #0b3971;
  background-color: #fff;
}
.header_recipe a span {
  position: relative;
  display: inline-block;
  width: 100%;
  padding-left: 25px;
  box-sizing: border-box;
}
.header_recipe a span::before {
  position: absolute;
  content: "";
  width: 17px;
  height: 17px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/icon_hat_white.svg) no-repeat center center / contain;
  transition: .3s;
}
.header_recipe a:hover span::before {
  background: url(../images/icon_hat_blue.svg) no-repeat center center / contain;
}
.header_select select {
    padding: 2px 8px;
}
#logo a {
  position: relative;
  display: block;
  width: 348px;
  height: 90px;
  text-indent: -9999px;
  background: url(../images/logo.jpg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  margin: 0 auto 20px;
}
#logo a:hover {
  opacity: 0.7;
}
header .sub_nav {
  /* position: absolute; */
  display: block;
  top: 0;
  left: 15px;
}
header .sub_nav li {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
header .sub_nav li a {
  position: relative;
  display: block;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: contain;
  background-size: contain;
}
/* header .sub_nav li:first-child a {
  width: 14px;
  height: 26px;
  background-image: url(../images/icon_fb.svg);
  margin-right: 20px;
}
header .sub_nav li:nth-child(2) a {
  width: 25px;
  height: 24px;
  background-image: url(../images/icon_twitter.svg);
  margin-right: 16px;
}
header .sub_nav li:nth-child(3) a {
  width: 24px;
  height: 24px;
  background-image: url(../images/icon_insta.svg);
} */
.sub_nav_instagram a {
  width: 24px;
  height: 24px;
  background-image: url(../images/icon_insta.svg);
}
header .sub_nav li a:hover {
  opacity: 0.7;
}
.header_lists {
  display: grid;
  grid-template-columns: repeat(7,1fr);
}
#gnav {
  position: relative;
  display: block;
  width: 100%;
  height: 90px;
  text-align: center;
  z-index: 2;
}
#gnav ul li {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
#gnav ul li:first-child::before,
#gnav ul li::after {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 90px;
  background: #646464;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
}
#gnav ul li:first-child::before {
  left: 0;
  right: auto;
}
#gnav ul li a {
  position: relative;
  display: block;
  color: #0c295e;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 600;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  /* padding: 30px 45px 24px; */
  padding: 30px 5px 24px;
}
#gnav ul li a span {
  position: relative;
  display: block;
  color: #646464;
  font-size: 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic",
    YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.075em;
  margin-top: 8px;
  transition: 0.35s;
}
#gnav ul li.logo a span.logo {
  display: none;
}
#gnav ul li:last-child a {
  color: #fff;
  background: #0c295e url(../images/icon_cart_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center top 16px, 0 0;
  -webkit-background-size: 32px auto, cover;
  background-size: 32px auto, cover;
  /* padding: 58px 24px 16px; */
  padding: 58px 4px 16px;
  letter-spacing: 0.025em;
}
#gnav ul li a:hover {
  background: rgba(14, 116, 215, 0.15);
}
#gnav ul li:last-child a:hover {
  color: #0c295e;
  background: #fff url(../images/icon_cart_b.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center top 16px, 0 0;
  -webkit-background-size: 32px auto, cover;
  background-size: 32px auto, cover;
}
#gnav ul li:last-child a:hover span {
  color: #0c295e;
}
/* 子メニュー */
#gnav ul li ul.sub {
  position: absolute;
  display: none;
  width: 100%;
  top: 90px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  z-index: 1;
}
#gnav ul li ul.sub li {
  width: 100%;
  height: auto;
  text-align: left;
}
#gnav ul li ul.sub li::before,
#gnav ul li ul.sub li::after {
  display: none;
}
#gnav ul li ul.sub li a {
  position: relative;
  display: block;
  height: auto;
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.3;
  padding: 18px 10px;
  color: #fff;
  background: #0b3971;
}
#gnav ul li ul.sub li a:hover {
  color: #fff;
  background: #008adf;
}
.header_instagram_sp {
  display: none;
  position: relative;
  max-width: 30px;
  top: -26px;
  right: 140px;
  max-width: 30px;
}
.header_instagram_sp img {
  max-width: 30px;
}
.header_recipe_sp {
  display: none;
  position: absolute;
  top: 0;
  right: 100px;
  text-align: center;
}
.header_recipe_sp a {
  position: relative;
  display: inline-block;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
  color: #0b3971;
  background-color: #fff;
  padding: 36px 5.5px 5px;
  border-left: 1px solid #ccc;
}
.header_recipe_sp a::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/icon_hat_blue.svg) no-repeat center center / contain;
}
.header_select_sp {
  margin-top: 20px;
}
.header_select_sp select {
  width: 100%;
  padding: 10px 10px;
}

/* fixed gnav */
#gnav.clone-nav {
  position: fixed;
  width: 100%;
  z-index: 10;
  padding-top: 0;
  background: #fff;
  box-shadow: 0 3px 0px rgba(54, 53, 58, 0.2);
  top: -200%;
  transition: 0.6s ease-in-out;
}
.customize-support #gnav.is-show {
  top: 32px;
}
#gnav.is-show {
  top: 0;
  margin-top: 0;
}
#gnav.is-show ul {
  display: flex;
  width: 1250px;
  margin: 0 auto;
}
#gnav.is-show ul li a {
  padding: 30px 35px 24px;
}
#gnav.is-show ul li.logo a {
  width: 200px;
  text-indent: -9999px;
  background: url(../images/logo.jpg) no-repeat center top 8px;
  -webkit-background-size: 80% auto;
  background-size: 80% auto;
  padding: 30px 49px 24px;
}
#gnav.is-show ul li.logo a:hover {
  opacity: 0.7;
}
#gnav.is-show ul li.logo a span.logo {
  display: block;
  text-indent: 0;
  top: 4px;
}
#gnav ul li:last-child a {
  /* padding: 58px 24px 16px; */
  padding: 58px 4px 16px;
}
#gnav.is-show ul li.logo a span.en {
  display: none;
}
#gnav.is-show ul li ul.sub {
  padding: 0;
}
#gnav.is-show ul li ul.sub li a {
  color: #fff;
}
/* //fixed gnav */
/* slider */
.top_catch.swiper-container {
  width: 100%;
  height: 500px;
}
.top_catch .swiper-slide {
  height: 500px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.top_catch .slide01 {
  background-image: url(../images/slider01.jpg);
}
.top_catch .slide02 {
  background-image: url(../images/slider02.jpg);
}
.top_catch .slide03 {
  background-image: url(../images/slider03.jpg);
}
.top_catch .slide04 {
  background-image: url(../images/slider04.jpg);
}
.top_catch .slide05 {
  background-image: url(../images/slider05.jpg);
}
.top_catch .slide06 {
  background-image: url(../images/slider06.jpg);
}
.top_catch .swiper-slide::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 500px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#0c295e+0,0c295e+85&1+0,0+85 */
  background: -moz-linear-gradient(
    left,
    rgba(12, 41, 94, 1) 0%,
    rgba(12, 41, 94, 0) 85%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    left,
    rgba(12, 41, 94, 1) 0%,
    rgba(12, 41, 94, 0) 85%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to right,
    rgba(12, 41, 94, 1) 0%,
    rgba(12, 41, 94, 0) 85%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c295e', endColorstr='#000c295e',GradientType=1 ); /* IE6-9 */
}
.top_catch .swiper-slide a {
  position: absolute;
  display: inline-block;
  max-width: 1250px;
  width: 100%;
  /*height: 790px;*/
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.top_catch .slide01 a {
  background-image: url(../images/slider01_before.png);
}
.top_catch .slide02 a {
  background-image: url(../images/slider02_before.png);
}
.top_catch .slide03 a {
  background-image: url(../images/slider03_before.png);
}
.top_catch .slide04 a {
  background-image: url(../images/slider04_before.png);
}
.top_catch .slide05 a {
  background-image: url(../images/slider05_before.png);
}
.top_catch .slide06 a {
  background-image: url(../images/slider06_before.png);
}
.top_catch .swiper-slide a::after {
  content: "";
  position: absolute;
  display: block;
  width: 41px;
  height: 41px;
  background: url(../images/arrow_bottom_w.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  left: 84px;
  bottom: 134px;
  transition: 0.35s;
}
.top_catch .swiper-slide a:hover {
  opacity: 0.7;
}
.top_catch .swiper-slide a:hover::after {
  bottom: 124px;
}

/* //slider */

/* index
------------------------------ */
.index h2 {
  font-size: 3rem;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.index h2 span {
  position: relative;
  display: block;
  font-size: 4rem;
}
.index h2 span::before,
.index h2 span.under::after {
  content: "";
  position: relative;
  display: block;
  width: 70px;
  height: 23px;
  background: url(../images/icon_fish.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  margin: 0 auto 34px;
}
.index h2.white span::before,
.index h2.white span.under::after {
  background-image: url(../images/icon_fish_w.svg);
}
.index h2 span.under::before {
  display: none;
}
.index h2 span.under::after {
  margin: 34px auto 0;
}
.index.top section .wrapper::before {
  content: "";
  position: absolute;
  display: block;
  height: 184px;
  color: #0e74d7;
  font-size: 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic",
    YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 600;
  line-height: 1;
  border-left: 1px solid #0e74d7;
  top: 0;
  left: 15px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: right;
  padding-left: 14px;
}

.index_news {
  padding: 40px 0;
  background-color: #EFEFEF;
}
.index section.index_news .wrapper::before {
  display: none;
}
.index_news_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.index_news_lists {
  width: 100%;
  max-width: 710px;
  max-height: 100px;
  overflow-y: scroll;
}
.index_news_list + .index_news_list {
  margin-top: 13px;
}
.index_news_list a {
  display: flex;
  align-items: center;
  gap: 7px;
  color: inherit;
}
.index_news .index_news_title {
  font-size: 24px;
  width: 100%;
  max-width: 110px;
  color: #000;
  margin-bottom: 0;
}
.index_news_list_unit {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 150px;
}
.index_news_list_cat {
  font-size: 10px;
  width: 100%;
  max-width: 56px;
  text-align: center;
  color: #fff;
  background-color: #0e74d7;
  padding: 2px 0;
}
.index_news_list_time {
  font-size: 12px;
  width: 100%;
  max-width: 78px;
}
.index_news .index_news_list_title {
  font-size: 14px;
  font-weight: 300;
  color: #000;
  width: calc(100% - 157px);
  transition: .3s;
}
.index_news_list a:hover .index_news_list_title {
  color: #0e74d7;
}
.index_news_btn {
  width: 100%;
  max-width: 280px;
}

.index01 {
  /*padding: 136px 0 70px;*/
  padding: 136px 0 120px;
}
.index01 p {
  position: relative;
  display: block;
  line-height: 2.25;
}
/*.index01 p::after{
	content: "";
	position: relative;
	display: block;
	width: 41px;
	height: 41px;
	background: url(../images/arrow_bottom_c.svg) no-repeat center center;
	-webkit-background-size: contain;
	background-size: contain;
	margin: 56px auto 0;
}*/
#index .index01 .wrapper::before {
  content: "BUSINESS";
  top: -138px;
}
.index02 {
  padding: 150px 0 165px;
  background: url(../images/index02_bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}
#index .index02 .wrapper::before {
  content: "ABOUT MARUROKU";
  top: -150px;
  height: 263px;
}
#index .index02 h2 {
  color: #fff;
  font-size: 4rem;
  text-shadow: 0 0 20px #000;
}
#index .index02 h2 span::before {
  background-image: url(../images/icon_fish_w.svg);
  margin-top: 30px;
}
.index02 p {
  color: #fff;
  line-height: 2.25;
  margin-bottom: 70px;
  text-shadow: 0 0 20px #000;
}
.index03 {
  padding: 172px 0 166px;
  background: url(../images/index03_bg.jpg) repeat top left;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
}
#index .index03 .wrapper::before {
  display: none;
}
.index03 ul{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 28px;
}
.index03 ul li {
  position: relative;
  width: 100%;
}
.index03 ul li:last-child {
  margin-right: 0;
}
.index03 ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  color: #fff;
  background: #0c295e;
}
.index03 ul li a::after {
  content: "";
  position: absolute;
  display: block;
  width: 41px;
  height: 41px;
  background: url(../images/arrow_bottom_c.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: 118px;
  right: 20px;
  transition: 0.35s;
}
.index03 ul li a:hover {
  opacity: 0.7;
}
.index03 ul li a:hover::after {
  top: 124px;
}
#index .index03 ul li a h2 {
  position: relative;
  display: block;
  line-height: 170px;
  font-size: 4rem;
  letter-spacing: 0.2em;
  color: #fff;
  margin-bottom: 0;
}
#index .index03 ul li a h2::before {
  content: "";
  position: absolute;
  display: block;
  color: #0e74d7;
  font-size: 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic",
    YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: 0.075em;
  top: 15px;
  left: 15px;
}
#index .index03 ul li:first-child a h2::before {
  content: "WHOLESALE TRADE";
}
#index .index03 ul li:nth-child(2) a h2::before {
  content: "PROCESSED FOOD";
}
#index .index03 ul li:nth-child(3) a h2::before {
  content: "EXPORTATION";
}
#index .index03 ul li:nth-child(4) a h2::before {
  content: "BUY & SHIPPING";
}
.index03 ul li a span {
  position: relative;
  display: block;
  line-height: 1.88;
  letter-spacing: 0;
  text-align: left;
  padding: 34px 24px;
}
.index03 ul li:last-child a span {
  letter-spacing: -0.04em;
}
.index03 .btn {
  margin-top: 90px;
}
.index04 {
  padding: 136px 0 150px;
  background: url(../images/index04_bg.jpg) no-repeat center bottom;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
}
#index .index04 .wrapper::before {
  content: "LOCATIONS";
  top: -136px;
}
.index04 .fl_l {
  position: relative;
  display: block;
  width: 600px;
  height: 356px;
  margin: 90px 0 0 40px;
}
.index04 .fl_r {
  position: relative;
  display: block;
  width: 525px;
  height: 525px;
  color: #fff;
  background: url(../images/index04_circle.png) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  padding-top: 96px;
  box-sizing: border-box;
}
.index04 .fl_l::before {
  content: "";
  position: absolute;
  display: block;
  width: 180px;
  height: 180px;
  background: url(../images/logomark.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: -200px;
  left: 20px;
}
.index04 .fl_r p {
  line-height: 2.25;
  margin-bottom: 36px;
}
.index04 h2 {
  color: #fff;
}
.index05 {
  color: #fff;
  padding: 125px 0 136px;
  background: url(../images/index03_bg.jpg) repeat center;
  -webkit-background-size: contain;
  background-size: contain;
  background-attachment: fixed;
  margin-top: -1px;
}
.index section.index05 .wrapper::before {
  display: none;
}
/* #index .index05 .wrapper::before {
  content: "NEWS";
  top: -125px;
} */
.index05 .wrapper > .float {
  margin: 6% 0 0;
}
.index05 .wrapper > .float > .fl_l {
  width: 100%;
}
/* .index05 .wrapper>.float>.fl_l{
    width: 880px;
} */
.index05 ol {
  display: flex;
  text-align: left;
  flex-wrap: wrap;
  gap: 20px 5%;
}
.index05 ol li {
  display: flex;
  height: auto;
  vertical-align: top;
  gap: 0 3%;
  align-items: flex-start;
}
.index05 ol li .pict {
  max-width: 140px;
  width: 100%;
}
.index05 ol li .contents {
  max-width: 270px;
  width: 100%;
}
.index05 ol li .pict a {
  position: relative;
  display: block;
  width: 140px;
  height: 100px;
  margin-right: 24px;
}
.index05 ol li .pict a:hover {
  opacity: 0.7;
}
.index05 ol li .tag {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1rem;
  line-height: 18px;
  padding: 0 8px;
  background: #0e74d7;
}
.index05 ol li .date {
  position: relative;
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  margin: 12px 0 8px;
}
.index05 ol li p a {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.4;
  padding-bottom: 2px;
}
.index05 ol li p a:hover {
  border-bottom: 1px solid #fff;
}
.index05 a.btn {
  margin-top: 37px;
}
.index05_bnr {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}
.index05_bnr a {
  display: block;
  overflow: hidden;
}
.index05_bnr img {
  width: 100%;
  transition: .3s;
}
.index05_bnr a:hover img {
  transform: scale(1.03);
}

/* instagram */
.loopSliderWrap {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  height: 300px;
  overflow: hidden;
}
.loopSlider {
  position: relative;
  width: 100%;
  height: 300px;
  text-align: center;
  margin: 80px auto 113px;
  overflow: hidden;
}
.loopSlider ul {
  position: relative;
  display: inline-block;
  width: 1620px;
  height: 300px;
  overflow: hidden;
  text-align: center;
}
.loopSlider ul li {
  position: relative;
  display: inline-block;
  width: 300px;
  height: 300px;
  overflow: hidden;
  margin-right: 30px;
  background: #000;
}
.loopSlider ul li:last-child {
  margin-right: 0;
}
.loopSlider ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 300px;
}
.loopSlider ul li a:hover {
  opacity: 0.7;
}
.loopSlider ul li a img {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
/* CLEARFIX ELEMENTS */
.loopSliderWrap:after {
  content: "";
  display: none;
  clear: none;
}

/* sub contents
------------------------------ */
.sub header {
  /*height: 200px;*/
  height: 570px;
}
.sub .main_title {
  position: relative;
  display: block;
  width: 100%;
  height: 300px;
  background: url(../images/index03_bg.jpg) repeat top left;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
  padding-top: 120px;
  box-sizing: border-box;
}
.sub .main_title::after {
  content: "";
  position: absolute;
  display: block;
  /*width: 55%;*/
  width: 50%;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
  top: 0;
  right: 0;
}
.sub .main_title h1,
.sub .main_title p {
  color: #fff;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.075em;
  padding-left: 80px;
}
.sub .main_title h1 span,
.sub .main_title p span {
  position: relative;
  display: block;
  color: #0e74d7;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.sub .main_title h1 span::before,
.sub .main_title p span::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 28px;
  height: 10px;
  background: url(../images/icon_fish_c.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  vertical-align: top;
  margin-right: 12px;
  top: 1px;
}
.sub article {
  position: relative;
  display: block;
}
.sub article::before,
.sub main::before {
  content: "";
  position: absolute;
  display: block;
  width: 160px;
  height: 160px;
  background: url(../images/logomark_w.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  left: 0;
  right: 0;
  bottom: 60px;
  margin: 0 auto;
  opacity: 0.1;
  z-index: 1;
}
.sub article::after,
.sub main::after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 510px;
  background: url(../images/index04_bg.jpg) no-repeat center top;
  -webkit-background-size: cover;
  background-size: cover;
}
#concept article::after,
#business article::after,
#company article::after {
  height: 280px;
  background-position: center bottom;
}
#fresh_fish_export  article::before{
  z-index: -1;
  bottom: 13px;
}
#fresh_fish_export article::after {
  height: 328px;
  background: url(../images/fresh_fish_export_article_bg.jpg) no-repeat center top / cover;z-index: -2;
}
.sub article .first_txt {
  margin-top: 100px;
}
.sub article section.cta{
  margin: 100px 0 -220px;
}
.sub article section {
  /*margin: 120px 0 110px;*/
  margin: 90px 0 100px;
}
.sub article section.bg_gray {
  position: relative;
  display: block;
  /*padding-bottom: 84px;*/
  padding-bottom: 40px;
  margin-bottom: 95px;
  background: #efefef;
}
.sub article section.last {
  margin-bottom: 0;
}
/* .sub article section h2 {
  color: #0b3971;
  font-size: 4rem;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
} */
h2 {
  color: #0b3971;
  font-size: 4rem;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}
.sub article section.bg_gray h2 {
  position: relative;
  display: block;
  width: 100%;
  height: 108px;
  color: #fff;
  font-size: 3rem;
  line-height: 108px;
  text-align: center;
  background: url(../images/index03_bg.jpg) repeat-x center left;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
  margin-bottom: 70px;
}
/* .sub article section h3 {
  color: #0c295e;
  font-size: 3rem;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
} */
h3 {
  color: #0c295e;
  font-size: 3rem;
  font-family: "Hiragino Kaku Gothic ProN W6", "ヒラギノ角ゴ ProN W6",
    "Hiragino Sans", "ヒラギノ角ゴシック", source-han-sans-japanese,
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}
.sub article section.bg_gray .inner {
  padding: 0 70px;
  text-align: left;
  margin: auto;
  display: inline-block;
}
.sub article section table tr {
  display: block;
  margin-bottom: 3px;
}
.sub article section table tr th {
  width: 290px;
  color: #fff;
  text-align: left;
  padding: 26px 30px;
  vertical-align: top;
  background: #0b3971;
  box-sizing: border-box;
}
.sub article section table tr td {
  width: 822px;
  text-align: left;
  padding: 22px 25px;
  background: #fff;
  box-sizing: border-box;
}
.sub article section dl dt {
  position: relative;
  display: block;
  float: left;
  color: #0b3971;
  line-height: 1.75;
}
.sub article section dl dd {
  line-height: 1.75;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #008adf;
}
.sub article section.temp h2 {
  line-height: 1.25;
  margin-bottom: 20px;
}
.sub article section.temp p {
  line-height: 2.25;
  margin-bottom: 80px;
}
.sub article section.temp p.first {
  margin-bottom: 30px;
}
.sub article section.temp ul li {
  position: relative;
  display: inline-block;
  width: 584px;
  vertical-align: top;
  margin-right: 82px;
  background: #efefef;
}
.sub article section.temp ul li:nth-child(2n) {
  margin-right: 0;
}
.sub article section.temp ul li h3 {
  position: relative;
  display: block;
  width: 100%;
  height: 108px;
  color: #fff;
  font-size: 3rem;
  line-height: 108px;
  text-align: center;
  background: url(../images/index03_bg.jpg) repeat-x center left;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
}
.sub article section.temp ul li span {
  position: relative;
  display: block;
  padding: 35px 0 35px 33px;
  text-align: left;
  line-height: 1.88;
  letter-spacing: -0.04em;
}

/* concept
------------------------------ */
#concept .main_title::after {
  background-image: url(../images/sub_mainpic_concept.jpg);
}
#concept01 {
  margin: 0;
  padding: 120px 0 205px;
  background: url(../images/concept01_bg.jpg) no-repeat center top;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
}
#concept01 h2 {
  line-height: 1;
  margin-bottom: 30px;
}
#concept01 .wrapper p:nth-child(2) {
  font-size: 2.4rem;
  line-height: 2;
  margin-bottom: 110px;
}
#concept01 .inner {
  position: relative;
  display: block;
  line-height: 0;
  letter-spacing: -0.4em;
  margin-bottom: 75px;
  padding: 62px 55px;
  background: #ebebeb;
}
#concept01 .inner:nth-of-type(3) {
  margin-bottom: 0;
}
#concept01 .inner h3 {
  position: relative;
  display: inline-block;
  width: 230px;
  height: 236px;
  color: #0c295e;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  vertical-align: top;
  background: url(../images/circle01.png) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  padding-top: 94px;
  box-sizing: border-box;
}
#concept01 .inner:nth-of-type(2) h3 {
  padding-top: 80px;
}
#concept01 .inner .right {
  position: relative;
  display: inline-block;
  width: 860px;
  line-height: 1.5;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
  margin-left: 50px;
}
#concept01 .inner .right p {
  line-height: 1.88;
}
#concept01 .inner .right p.sub_heading {
  color: #0e74d7;
}
#concept01 .inner .right p.border_b {
  position: relative;
  display: block;
  letter-spacing: -0.04em;
  border-bottom: 1px solid #0e74d7;
  margin: 1em 0 25px;
  padding-bottom: 25px;
}
#concept01 .inner:nth-of-type(2) p.border_b,
#concept01 .inner p.sub_heading:last-of-type {
  margin-top: 2.5em;
  letter-spacing: -0.04em;
}
#concept01 .inner .right h4 {
  color: #0c295e;
  font-size: 2rem;
  line-height: 1;
  margin: 30px 0 10px;
  padding-left: 1.5em;
  text-indent: -1.3em;
}
#concept01 .inner .right a.btn {
  margin-top: 2em;
}
#concept02 {
  color: #fff;
  line-height: 1;
  margin: 0;
  padding: 200px 0 180px;
  background: url(../images/concept02_bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}
#concept02 h2 {
  color: #fff;
  margin-bottom: 35px;
  text-shadow: 0 0 20px #000;
}
#concept02 p {
  line-height: 2.25;
  margin-bottom: 54px;
  text-shadow: 0 0 20px #000;
}

/* business
------------------------------ */
#business .main_title::after {
  background-image: url(../images/sub_mainpic_business.jpg);
}
#business01 p {
  line-height: 2.25;
}
#business02 {
  background-image: url(../images/business02_bg.jpg);
}
#business03 {
  background-image: url(../images/business03_bg.jpg);
}
#business04 {
  background-image: url(../images/business04_bg.jpg);
}
#business05 {
  background-image: url(../images/business05_bg.jpg);
}
#business06 {
  background-image: url(../images/business06_bg.jpg);
}
#business07 {
  background-image: url(../images/business07_bg.jpg);
}
#business .sub_section.right {
  text-align: right;
}
#business #business03 .inner {
  text-align: left;
  padding: 56px 75px 67px;
}
#business #business03 .inner h2 {
  line-height: 1.25;
  margin-bottom: 20px;
}
#business #business03 .inner p {
  letter-spacing: 0.02em;
}
#business .sub_section .inner .btn {
  margin-top: 35px;
}
#business #business04 .inner .btn,
#business #business06 .inner .btn {
  margin-top: 68px;
}
/* wholesale_trade */
#wholesale_trade .main_title::after {
  background-image: url(../images/sub_mainpic_wholesale.jpg);
}
#wholesale01 p {
  line-height: 1.88;
  margin-top: 30px;
}
/*#wholesale02 ul{
	text-align: left;
}*/
#wholesale02 ul li {
  letter-spacing: -0.4em;
}
#wholesale02 ul li.center span {
  position: relative;
  display: block;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: normal;
  line-height: 80px;
  text-align: center;
  background: #0c295e;
}
#wholesale02 ul li .left,
#wholesale02 ul li .right {
  position: relative;
  display: inline-block;
  width: 470px;
  vertical-align: top;
  letter-spacing: normal;
}
#wholesale02 ul li .right {
  margin-left: 75px;
}
#wholesale02 ul li .left::before,
#wholesale02 ul li:nth-child(2) .left span:nth-child(2)::after,
#wholesale02 ul li:nth-child(4) .left span:nth-child(1)::after,
#wholesale02 ul li:nth-child(4) .left p::after,
#wholesale02 ul li:nth-child(4) .right p::after,
#wholesale02 ul li:nth-child(5) .right p::after,
#wholesale02 ul li:nth-child(4) .right > span::after {
  content: "";
  position: relative;
  display: block;
  width: 30px;
  height: 60px;
  background: url(../images/arrow_bottom.svg) no-repeat center bottom;
  -webkit-background-size: 30px auto;
  background-size: 30px auto;
  margin: 30px auto;
}
#wholesale02 ul li:nth-child(4) .left p span:nth-child(1) {
  line-height: 80px;
}
#wholesale02 ul li:nth-child(4) .left p span:nth-child(1)::after {
  display: none;
}
#wholesale02 ul li span {
  position: relative;
  display: block;
  color: #0c295e;
  font-size: 1.8rem;
  text-align: center;
  line-height: 60px;
}
#wholesale02 ul li span.blue {
  position: relative;
  display: block;
  color: #fff;
  line-height: 80px;
  background: #0c295e;
}
#wholesale02 ul li:nth-child(2) .left span:nth-child(2),
#wholesale02 ul li:nth-child(4) .left span:nth-child(1) {
  line-height: 38px;
}
#wholesale02 ul li:nth-child(2) .left span:nth-child(2)::before,
#wholesale02 ul li:nth-child(4) .right::before {
  content: "";
  position: relative;
  display: block;
  width: 2px;
  height: 40px;
  background: #0e74d7;
  margin: 11px auto 10px;
}
#wholesale02 ul li:nth-child(2) .left span:nth-child(2)::after,
#wholesale02 ul li:nth-child(4) .left span:nth-child(1)::after {
  height: 45px;
  margin-top: 12px;
}
#wholesale02 ul li:nth-child(2) .right span::before {
  content: "";
  position: relative;
  display: block;
  width: 2px;
  height: 90px;
  background: #0e74d7;
  margin: 30px auto 0;
}
#wholesale02 ul li:nth-child(2) .right span::after {
  content: "";
  position: relative;
  display: block;
  width: 30px;
  height: 176px;
  background: url(../images/arrow_bottom.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  margin: 0 auto;
}
#wholesale02 ul li.center.logo {
  height: 76px;
  text-indent: -9999px;
  border: 2px solid #0c295e;
  background: #fff url(../images/logo.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, 0 0;
  -webkit-background-size: auto 55px, cover;
  background-size: auto 55px, cover;
}
#wholesale02 ul li:nth-child(4) .left::before {
  margin-top: 26px;
  height: 153px;
}
#wholesale02 img {
  width: 100%;
}
#wholesale03 ul li {
  position: relative;
  display: inline-block;
  color: #0c295e;
  font-size: 1.8rem;
  vertical-align: top;
  margin-right: 3em;
}
#wholesale03 ul li:last-child {
  margin-right: 0;
}
#wholesale04 {
  color: #fff;
  margin: 0;
  padding: 140px 0 150px;
  background: url(../images/wholesale04_bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}
#wholesale04 h2 {
  color: #fff;
  margin-bottom: 44px;
  text-shadow: 0 0 20px #000;
}
#wholesale04 p {
  line-height: 1.88;
  margin-bottom: 50px;
  text-shadow: 0 0 20px #000;
}
#wholesale05 {
  position: relative;
  margin: 0 0 -180px;
  padding: 138px 0 0;
  z-index: 1;
}
#wholesale05 .wrapper {
  width: 1164px;
}
#wholesale05 h2 {
  margin-bottom: 30px;
}
#wholesale05 p {
  line-height: 1.88;
  margin-bottom: 50px;
}
#wholesale05 .fl_l {
  position: relative;
  display: block;
  width: 680px;
  height: 424px;
  background: url(../images/wholesale05_map.png) no-repeat right 112px center;
  -webkit-background-size: auto 404px;
  background-size: auto 404px;
  margin: -40px 42px 0 0;
}
#wholesale05 .fl_l li {
  position: absolute;
  display: block;
  text-align: left;
  padding: 12px 13px 10px;
  border: 1px solid #0c295e;
}
#wholesale05 .fl_l li span {
  position: relative;
  display: block;
  color: #0c295e;
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 4px;
}
#wholesale05 .fl_l li:first-child {
  top: -8px;
  right: 0;
}
#wholesale05 .fl_l li:nth-child(2) {
  top: 48px;
  /*left: 2px;*/
  left: 18px;
}
#wholesale05 .fl_l li:nth-child(3) {
  width: 144px;
  left: 0;
  bottom: 124px;
}
#wholesale05 .fl_l li:nth-child(4) {
  width: 162px;
  right: 45px;
  bottom: 103px;
}
#wholesale05 .fl_r {
  text-align: left;
}
/*products */
#products .main_title::after {
  background-image: url(../images/sub_mainpic_products.jpg);
}
#products .sub_section .inner {
  padding: 0 36px;
}
#products .sub_section ul {
  text-align: left;
}
#products .sub_section ul li {
  position: relative;
  display: inline-block;
  width: 574px;
  line-height: 1.88;
  letter-spacing: 0.025em;
  vertical-align: top;
  margin: 0 30px 65px 0;
}
#products .sub_section ul li:nth-child(2n) {
  margin-right: 0;
}
#products .sub_section ul li h3 {
  color: #0c295e;
  font-size: 3rem;
  text-align: center;
  line-height: 1;
  margin: 30px 0 20px;
}
#products .sub_section ul li span {
  position: relative;
  display: block;
  color: #0e74d7;
}
/* 2025.4 新規追加 */
/* fresh_fish_export */
#fresh_fish_export .main_title::after {
  background-image: url(../images/sub_mainpic_export.jpg);
}

#export01 ul li span,
#export02 ul li span {
  padding-right: 33px;
}

#export02.temp h2 {
  margin-bottom: 80px;
}

.sub article section.bg_gray#export03 {
  padding-bottom: 52px;
}
#export03 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
#export03 ul:nth-of-type(2) {
  padding-top: 50px;
}
#export03 ul li {
  position: relative;
  display: inline-block;
  line-height: 1.88;
  vertical-align: top;
  text-align: left;
}
#export03 ul li span {
  color: #0e74d7;
}

#export03 ul li h4 {
  color: #0c295e;
  font-size: 3rem;
  text-align: center;
  line-height: 1;
  margin: 30px 0 20px;
}
.export03_texts{
  margin: 0 auto;
  padding-top: 50px;
  text-align: center;
  width: 100%;
  max-width: 829px;
  color: #323232;
font-family: "Hiragino Kaku Gothic ProN";
font-size: 1.9rem;
font-weight: 600;
line-height: 1.578;
letter-spacing: 0.02em;
}
  /* .export03_texts span{
    
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.88;
  letter-spacing: 0.025em;
  } */


/* 2025.4 新規追加 */
/* cta */
.cta {

}
.cta_container {
  padding: 70px;
  background: url(../images//index03_bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  display: flex;
	gap: 53px;
}
.cta_img {
  width: calc(572 / 1110 * 100%);
  flex-shrink: 0;
	max-width: 572px;
}
.cta_img img {
  width: 100%;
  height: auto;
}
.cta_texts {
  width: 100%;
  flex-grow: 1;
}
.sub article section h2.cta_title {
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN";
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
}
.cta_lead {
  padding-top: 17px;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN";
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.3;
}
.cta_image_number {
  width: 100%;
  max-width: 430px;
	padding-top: 25px;
}
.cta_button {
  padding-top: 16px;
  width: 100%;
  max-width: 389px;
}
.btn_contact{
	padding: 23px 29px 22px 73px;
	background-color: #fff;
	display: block;
	position: relative;
	color: #0C295E;
	font-family: "Hiragino Kaku Gothic ProN";
	font-weight: 600;
	font-size: 2.8rem;
	border-radius: 50px;
	border: 1px solid #fff;
}
.btn_contact::before{
	content: "";
	background: url(../images/icon_mail_navy.svg) no-repeat center center;
	left: 34px;
	top: 50%;
	position: absolute;
	transform: translateY(-50%);
	width: 23px;
height: 16px;
transition: all 0.3s;
}
@media screen and (min-width: 640px){
	.btn_contact:hover{
		background-color: #0C295E;
		color: #fff;

	}

	.btn_contact:hover::before{
		background: url(../images/icon_mail_white.svg) no-repeat center center;
	}
}
/* processed_food */
#processed_food .main_title::after {
  background-image: url(../images/sub_mainpic_processed.jpg);
}
#processed01 .btn {
  margin-top: 76px;
}
#processed02 .inner,
#processed03 .inner {
  padding: 0 36px;
}
#processed02 ul li {
  position: relative;
  display: inline-block;
  width: 574px;
  line-height: 1.88;
  vertical-align: top;
  margin: 0 30px 60px 0;
}
#processed02 ul li:nth-child(2n) {
  margin-right: 0;
}
#processed02 ul li h3 {
  color: #0c295e;
  font-size: 3rem;
  line-height: 1;
  margin: 30px 0 20px;
}
#processed_food .bnr_list {
  text-align: center;
}
#processed_food .bnr_list .online_bnr {
  width: 514px;
  height: 105px;
  text-align: left;
  box-sizing: border-box;
  margin-top: 0;
}
#processed03 h3,
#buy03 h3 {
  color: #0c295e;
  font-size: 3rem;
  line-height: 1.9;
  text-align: left;
  border-bottom: 1px solid #0c295e;
  margin-bottom: 24px;
}
#processed03 ul,
#buy03 ul {
  position: relative;
  width: 920px;
  text-align: left;
  margin-bottom: 50px;
}
#processed03 ul li,
#buy03 ul li {
  position: relative;
  display: inline-block;
  width: 32%;
  line-height: 2;
  vertical-align: top;
  margin-right: 2%;
}
#processed03 ul li:nth-child(3n),
#buy03 ul li:nth-child(3n) {
  margin-right: 0;
}
#processed03 p {
  text-align: left;
}
/* facility */
#facility .main_title::after {
  background-image: url(../images/sub_mainpic_facility.jpg);
}
#facility01 ul li span {
  padding-right: 20px;
}
#facility02 .inner {
  padding: 0 36px;
  text-align: left;
}
#facility02 .fl_r {
  margin-left: 45px;
}
#facility02 .fl_r img {
  position: relative;
  display: block;
  width: 282px;
  margin-bottom: 45px;
}
#facility02 .fl_r .box {
  position: relative;
  display: block;
  text-align: left;
  padding: 27px 27px 20px 23px;
  background: #fff;
}
#facility02 .fl_r .box span {
  position: relative;
  display: block;
  color: #0c295e;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #0e74d7;
}
#facility02 h3 {
  color: #0c295e;
  font-size: 3rem;
  margin: 40px 0 15px;
}
#facility02 h3:first-of-type {
  margin-top: 0;
}

/* company
------------------------------ */
#company .main_title::after {
  background-image: url(../images/sub_mainpic_company.jpg);
}
#company .first p {
  width: 806px;
  margin: 40px auto 0;
}
#company .first p.name {
  color: #0b3971;
  text-align: right;
}
#company .first p.name span {
  position: relative;
  display: inline-block;
  width: 172px;
  height: 36px;
  text-align: left;
  text-indent: -9999px;
  background: url(../images/name.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  vertical-align: bottom;
  margin-left: 25px;
}
#company .sub_section,
#business .sub_section {
  margin: 0 auto;
  padding: 130px 0 160px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}
#company #company02 {
  background-image: url(../images/company_bg01.jpg);
  text-align: right;
}
#company #company03 {
  background-image: url(../images/company_bg02.jpg);
}
#company #company04 {
  background-image: url(../images/company_bg03.jpg);
  text-align: right;
}
#company .sub_section .inner,
#business .sub_section .inner {
  position: relative;
  display: inline-block;
  width: 625px;
  /* height: 403px; */
  color: #fff;
  text-align: left;
  line-height: 1.88;
  padding: 65px 75px 80px;
  background: #0b3971;
  box-sizing: border-box;
}
#company .sub_section .inner h2,
#business .sub_section .inner h2 {
  color: #fff;
  line-height: 1;
  margin-bottom: 30px;
}
#company .sub_section .inner .btn {
  margin-top: 55px;
}
#company #company02 .inner .btn {
  margin-top: 95px;
}

/* philosophy */
#philosophy .main_title::after,
#company_info .main_title::after {
  background-image: url(../images/sub_mainpic_philosophy.jpg);
}
#philosophy01,
#company_info01 {
  margin-top: 124px;
}
#philosophy01 p {
  position: relative;
  display: block;
  width: 499px;
  height: 53px;
  text-indent: -9999px;
  background: url(../images/philosophy01_txt.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  margin: 0 auto;
}
#philosophy02 h3 span.txt {
  position: relative;
  display: block;
  height: 37px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center bottom;
  -webkit-background-size: auto 37px;
  background-size: auto 37px;
  margin: 32px auto;
}
#philosophy02 h3 span.num {
  position: relative;
  display: block;
  height: 33px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: contain;
  background-size: contain;
  margin: 0 auto;
}
#philosophy02 .inner {
  margin-bottom: 70px;
}
#philosophy02 .inner:first-of-type h3 span.txt {
  width: 576px;
  background-image: url(../images/philosophy02_txt1.svg);
}
#philosophy02 .inner:first-of-type h3 span.num {
  width: 18px;
  background-image: url(../images/num1.svg);
}
#philosophy02 .inner:nth-of-type(2) h3 span.txt {
  width: 608px;
  background-image: url(../images/philosophy02_txt2.svg);
}
#philosophy02 .inner:nth-of-type(2) h3 span.num {
  width: 20px;
  background-image: url(../images/num2.svg);
}
#philosophy02 .inner:nth-of-type(3) {
  margin-bottom: 0;
}
#philosophy02 .inner:nth-of-type(3) h3 span.txt {
  width: 408px;
  background-image: url(../images/philosophy02_txt3.svg);
}
#philosophy02 .inner:nth-of-type(3) h3 span.num {
  width: 20px;
  background-image: url(../images/num3.svg);
}
#philosophy03 ul li {
  position: relative;
  display: inline-block;
  width: 230px;
  height: 236px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: contain;
  background-size: contain;
  vertical-align: top;
  margin-right: 45px;
}
#philosophy03 ul li:first-child {
  background-image: url(../images/philosophy03_pict1.png);
}
#philosophy03 ul li:nth-child(2) {
  background-image: url(../images/philosophy03_pict2.png);
}
#philosophy03 ul li:nth-child(3) {
  background-image: url(../images/philosophy03_pict3.png);
}
#philosophy03 ul li:nth-child(4) {
  margin-right: 0;
  background-image: url(../images/philosophy03_pict4.png);
}
#philosophy article .btn {
  color: #fff;
  background: #0b3971 url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center right 27px, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
}
#philosophy article .btn:hover {
  background: #008adf url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: right 20px center, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
}
/* company_info */
#company_info01 dl dt {
  width: 176px;
  line-height: 1.75;
}
#company_info01 dl dd {
  line-height: 1.75;
  padding-left: 176px;
}
#company_info02 table tr td span.fw_6 {
  position: relative;
  display: inline-block;
  width: 132px;
  color: #0b3971;
  vertical-align: top;
}
#company_info02 table tr td span.right {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 12px;
}
#company_info02 table tr td span.right:last-child {
  margin-bottom: 0;
}
#company_info02 table tr:last-child td span.fw_6 {
  display: block;
  width: auto;
  font-size: 2rem;
  line-height: 1.6;
}
#company_info03 h3 {
  color: #0b3971;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 66px;
}
#company_info03 .pict:nth-child(2) {
  width: 1100px;
  height: auto;
  /*margin: 0 auto 125px;*/
  margin: 0 auto;
}
#company_info03 .pict:nth-child(4) {
  width: 576px;
  height: auto;
  margin: 0 auto;
}
#company_info04 h3 {
  color: #0b3971;
  font-size: 2.4rem;
  line-height: 1;
  margin: 28px 0 12px;
}
/* locations */
#locations .main_title::after {
  background-image: url(../images/sub_mainpic_locations.jpg);
}
#locations .sub_section {
  padding-bottom: 0;
}
#locations .sub_section h2 {
  margin-bottom: 50px;
}
#locations .sub_section .inner {
  display: block;
  padding: 0 34px 50px;
}
#locations .sub_section .inner .float:nth-of-type(3) {
  margin-top: 50px;
}
#locations .sub_section .pict {
  width: 584px;
}
#locations .sub_section .fl_r {
  width: 561px;
}
#locations .sub_section .fl_r p {
  letter-spacing: 0;
  line-height: 1.88;
}
#locations .sub_section .ggmap {
  position: relative;
  display: block;
  width: 100%;
  height: 300px;
  margin-top: 32px;
  background: #ccc;
}

/* recruit
------------------------------ */
#recruit .main_title::after {
  background-image: url(../images/sub_mainpic_recruit.jpg);
}
#recruit .first {
  letter-spacing: -0.4em;
  margin-bottom: 130px;
}
#recruit .first h2 {
  color: #0b3971;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: normal;
  margin-bottom: 40px;
}
#recruit .first p {
  letter-spacing: normal;
  line-height: 1;
  margin-bottom: 95px;
}
#recruit .first .pict,
#recruit .first ul {
  position: relative;
  display: inline-block;
  vertical-align: top;
}
#recruit .first .pict {
  width: 318px;
}
#recruit .first .pict img {
  margin-bottom: 20px;
}
#recruit .first ul {
  margin: 22px 50px 0 110px;
  letter-spacing: normal;
}
#recruit .first ul li {
  width: 450px;
  text-align: left;
  margin: 0 auto 97px;
}
#recruit .first ul li:last-child {
  margin-bottom: 0;
}
#recruit .first ul li h3 {
  position: relative;
  display: block;
  color: #0b3971;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 10px;
}
#recruit .first ul li h3::before {
  content: "";
  position: absolute;
  display: block;
  width: 92px;
  height: 92px;
  background: url(../images/logomark_c.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: -28px;
  left: -65px;
  opacity: 0.1;
  z-index: -1;
}
#recruit .first ul li span {
  line-height: 1.8;
  letter-spacing: 0;
}
#recruit .inner h3 {
  color: #0b3971;
  font-size: 3rem;
  line-height: 1;
  text-align: left;
  margin-bottom: 30px;
}
#recruit .inner p:nth-child(3) {
  margin: 70px 0 55px;
}
#recruit .inner .btn {
  color: #fff;
  background: #0b3971 url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center right 27px, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
}
#recruit .inner:nth-of-type(2) {
  margin-top: 100px;
}
#recruit .inner .btn:hover {
  background: #008adf url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: right 20px center, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
}

/* faq
------------------------------ */
#faq .main_title::after {
  background-image: url(../images/sub_mainpic_faq.jpg);
}
.faq_menu {
  text-align: center;
  margin: 90px 0;
}
.faq_menu li {
  position: relative;
  display: inline-block;
  width: 340px;
  height: 150px;
  vertical-align: top;
  margin-right: 35px;
}
.faq_menu li:last-child {
  margin-right: 0;
}
.faq_menu li a {
  position: relative;
  display: block;
  width: 100%;
  height: 120px;
  color: #fff;
  font-size: 2.6rem;
  background: #0b3971 url(../images/arrow_bottom_c.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom 24px, 0 0;
  -webkit-background-size: 41px, auto;
  background-size: 41px, auto;
  padding-top: 30px;
}
.faq_menu li a:hover {
  opacity: 0.7;
  background-position: center bottom 18px, 0 0;
}
#faq section ul li {
  position: relative;
  display: block;
  padding: 30px;
  margin-bottom: 32px;
  background: #fff;
}
#faq section ul li:last-child {
  margin-bottom: 0;
}
#faq section ul li p.q {
  position: relative;
  display: block;
  color: #0b3971;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.044em;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #0b3971;
  padding-left: 55px;
}
#faq section ul li .q span::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 45px;
  height: 45px;
  background: url(../images/Q.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  vertical-align: middle;
  margin-right: 18px;
  left: 0;
  bottom: 0;
  top: 0;
  margin: auto 0 8px;
}
#faq section ul li span.a {
  line-height: 1.8;
  letter-spacing: 0.03em;
}
#faq section ul li span a.text_link {
  color: #008adf;
}
#faq section ul li span a.text_link::after {
  border-color: #008adf;
}
#faq section ul li a.btn {
  display: block;
  color: #fff;
  margin-top: 30px;
  background-color: #0c295e;
  background-image: url(../images/btn_arrow_right_w.svg);
}
#faq section ul li a.btn:hover {
  background-color: #008adf;
}

/* buy & shipping
------------------------------ */
#buy_shipping .main_title::after {
  background-image: url(../images/sub_mainpic_buy.jpg);
}
#buy01 ul li span {
  padding-right: 30px;
  letter-spacing: -0.02em;
}
#buy02 .inner,
#buy03 .inner {
  padding: 0 36px;
}
#buy02 .fl_l {
  position: relative;
  display: block;
  width: 550px;
  height: 306px;
  margin: 0 60px 0 54px;
}
#buy02 .fl_l h3 {
  position: absolute;
  display: block;
  color: #0c295e;
  font-size: 1.8rem;
  line-height: 1.67;
  text-align: left;
  left: 0;
}
#buy02 .fl_l h3::before {
  content: "";
  position: absolute;
  display: block;
  width: 154px;
  height: 157px;
  background: url(../images/circle01.png) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: 0;
  left: 0;
}
#buy02 .fl_l h3 span {
  position: relative;
  display: block;
  z-index: 1;
  padding: 50px 0 0 54px;
}
#buy02 .fl_l img {
  position: absolute;
  display: block;
  width: 319px;
  right: 0;
}
#buy02 p {
  text-align: left;
  padding-top: 76px;
}
#buy02 ul {
  margin: 52px 0 44px;
}
#buy02 ul li {
  position: relative;
  display: inline-block;
  width: 376px;
  line-height: 1.88;
  vertical-align: top;
  text-align: left;
  margin-right: 25px;
}
#buy02 ul li:last-child {
  margin-right: 0;
}
#buy02 ul li h4 {
  color: #0c295e;
  font-size: 3rem;
  text-align: center;
  line-height: 1;
  margin: 30px 0 20px;
}

/* contact
------------------------------ */
#contact .main_title::after,
#thanks .main_title::after {
  background-image: url(../images/sub_mainpic_contact.jpg);
}
#contact01 p.tel {
  color: #0b3971;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  margin: 40px 0 12px;
}
#contact01 p.tel span {
  position: relative;
  display: inline-block;
  font-size: 2.6rem;
  vertical-align: top;
  top: 7px;
}
#contact02 .must {
  display: inline;
  float: none;
  color: #008adf;
  font-size: 1.6rem;
  background: none;
  box-shadow: none;
  border: 0;
  text-shadow: none;
  padding: 0;
  margin: 0;
}
#contact02 table {
  margin-top: 60px;
}
#contact02 table tr th .must {
  font-size: 1.2rem;
  margin-left: 6px;
}
#contact02 table tr:first-child th {
  width: 285px;
}
#contact02 table tr:first-child td {
  padding: 26px 25px;
}
#contact02 table tr td ul {
  width: 775px;
}
#contact02 table tr td ul li {
  position: relative;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  margin-right: 40px;
}
#contact02 table tr td ul li:last-child {
  margin-right: 0;
}
#contact02 table tr td label.mfp_checked,
#contact02 table tr td label.mfp_not_checked {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: none;
}
#contact02 table tr td label input[type="radio"] {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  max-width: 100%;
  top: -2.5px;
}
#contact02 table tr td input[type="text"],
#contact02 table tr td input[type="email"],
#contact02 table tr td input[type="tel"] {
  max-width: 100%;
  width: 775px;
  height: 36px;
  font-size: 1.6rem;
  border-radius: 0;
  box-shadow: none;
  border: 0;
  background: #efefef;
  margin: 0;
  box-sizing: border-box;
}
#contact02 table tr td textarea {
  max-width: 100%;
  width: 775px !important;
  height: 180px;
  font-size: 1.6rem;
  line-height: 1.5;
  border-radius: 0;
  box-shadow: none;
  border: 0;
  margin: 0;
  background: #efefef;
  box-sizing: border-box;
}
#privacy_policy {
  width: 100%;
  height: 170px;
  padding: 32px 30px;
  text-align: left;
  overflow-y: scroll;
  background: #fff;
  box-sizing: border-box;
  margin: 20px 0 60px;
}
#contact #privacy_policy h3 {
  color: #0b3971;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 30px;
}
#contact02 button.submit {
  width: 280px;
  height: 60px;
  color: #fff;
  font-size: 1.6rem;
  text-align: left;
  line-height: 60px;
  border: 0;
  text-shadow: none;
  border-radius: 30px;
  background: #0b3971 url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center right 26px, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
  padding: 0 0 0 27px;
  box-sizing: border-box;
  transition: 0.35s;
}
#contact02 button.submit:hover {
  background: #008adf url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center right 20px, 0 0;
  -webkit-background-size: 12px auto, cover;
  background-size: 12px auto, cover;
  box-shadow: none;
}
#contact03 ul {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-right: 112px;
}
#contact03 ul:nth-child(3) {
  margin-right: 0;
}
#contact03 ul li {
  line-height: 1;
  margin-bottom: 16px;
}
#contact03 ul li:last-child {
  margin-bottom: 0;
}
#contact03 ul li a {
  color: #0b3971;
  font-weight: 400;
}
#contact03 ul li a::after {
  margin-top: 0;
}

/* news - yonmaruyon
------------------------------ */
#yonmaruyon .btn {
  margin: 4% 0 0;
}

/* news - archive
------------------------------ */
#news .main_title::after {
  background-image: url(../images/sub_mainpic_news.jpg);
}
#news article {
  /*width: 837px;*/
  width: 950px;
}
#news main::before {
  bottom: -212px;
}
#news article::before,
#news article::after {
  display: none;
}
.archive ol li {
  position: relative;
  display: block;
  padding: 40px 50px 45px;
  background: #ebebeb;
}
.archive ol li .pict {
  width: 240px;
  height: auto;
  background: #666;
}
.archive ol li .fl_r {
  /*width: 462px;*/
  width: 562px;
}
.archive ol li .tag,
.single_contents .tag {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 18px;
  margin-right: 10px;
  padding: 4px 12px;
  vertical-align: middle;
  background: #0c295e;
}
.archive ol li .date,
.single_contents .date {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  vertical-align: middle;
}
.archive ol li .caption p {
  margin-top: 16px;
  line-height: 1.7;
}
.archive ol li .read_more {
  position: absolute;
  display: block;
  color: #0e74d7;
  font-size: 1.4rem;
  line-height: 1;
  right: 40px;
  bottom: 40px;
}
.archive ol li .read_more::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 6px;
  height: 12px;
  background: url(../images/btn_arrow_right_b.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: 1px;
  margin-right: 6px;
}
.archive ol li .read_more:hover {
  opacity: 0.7;
}

/* news - single
------------------------------ */
#news .single_contents {
  position: relative;
  display: block;
  margin-bottom: 50px;
  padding: 40px 50px 45px;
  background: #ebebeb;
}
.single_contents h1 {
  position: relative;
  display: block;
  color: #0c295e;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 22px;
  padding-bottom: 10px;
  border-bottom: 1px solid #0c295e;
}
.single_contents .content {
  margin-top: 20px;
  line-height: 1.7;
  letter-spacing: 0.025em;
}
.single_contents .pict {
  margin: 0 0 2%;
}
.single_pagenavi {
  text-align: center;
}
.single_pagenavi li {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-right: 30px;
}
.single_pagenavi li.next {
  margin-right: 0;
}
.single_pagenavi li a {
  position: relative;
  display: block;
  width: 170px;
  height: 35px;
  font-size: 1.4rem;
  color: #0e74d7;
  line-height: 35px;
  background: #ebebeb;
}
.single_pagenavi li a:hover {
  color: #fff;
  background: #0e74d7;
}

/* aside
------------------------------ */
aside {
  width: 250px;
  padding-top: 120px;
}
aside h3 {
  color: #fff;
  font-size: 1.8rem;
  line-height: 50px;
  letter-spacing: 0.04em;
  text-align: center;
  background: url(../images/index03_bg.jpg) no-repeat center center;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
}
aside ul li {
  border-bottom: 1px solid #0e74d7;
}
aside ul li a {
  position: relative;
  display: block;
  color: #0c295e;
  padding: 10px 0 10px 26px;
  background: #fff;
}
aside .category_list ul li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #0e74d7;
  top: 0;
  left: 15px;
  bottom: 0;
  margin: auto 0;
  transition: 0.35s;
}
aside ul li a:hover {
  color: #fff;
  background: #0e74d7;
}
aside .category_list ul li a:hover::before {
  border-color: transparent transparent transparent #fff;
}
aside .re {
  margin-top: 50px;
}
aside .re ul li a {
  padding: 14px 0 13px 15px;
}
aside .re ul li .date {
  color: #0e74d7;
  font-size: 1.4rem;
  line-height: 1;
  transition: 0.35s;
  margin-bottom: 7px;
}
aside .re ul li a:hover .date {
  color: #fff;
}

/* recipe - archive
------------------------------ */
.sub .recipe_main {
  position: relative;
  padding-bottom: 100px;
}
.sub .recipe_main::before {
  display: none;
}
.sub .recipe_main::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 510px;
  left: 0;
  bottom: 0;
  background: url(../images/index04_bg.jpg) no-repeat center top / cover;
  z-index: -1;
}
#recipe .main_title::after {
  background-image: url(../images/sub_mainpic_recipe.jpg);
}
.recipe_archive_head {
  margin-top: 90px;
}
.recipe_archive_head_wrapper {
  display: flex;
  align-items: center;
  gap: 56px;
}
.recipe_archive_head_title {
  font-size: 30px;
  font-weight: 700;
  color: #0b3971;
  width: 100%;
  max-width: 208px;
  padding: 25px 20px 27px 0;
  box-sizing: border-box;
  border-right: 1px solid #0b3971;
}
.recipe_archive_head_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: calc(100% - 208px);
}
.recipe_archive_head_list a {
  display: inline-block;
  font-weight: 600;
  padding: 3px 16px;
  color: #0b3971;
  border: 1px solid #0b3971;
}
.recipe_archive_head_list a:hover {
  color: #fff;
  background-color: #0b3971;
}
.recipe_archive_menu {
  margin-top: 80px;
}
.recipe_archive_menu_title {
  font-size: 30px;
  font-weight: 700;
  line-height: 140%;
  color: #fff;
  background: url(../images/index03_bg.jpg) no-repeat center center / cover;
  text-align: center;
  padding: 33px 20px;
}
.recipe_archive_menu_items {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px 36px;
  background-color: #EFEFEF;
  padding: 52px 36px;
}
.recipe_archive_menu_item a {
  display: block;
}
.recipe_archive_menu_item_img {
  overflow: hidden;
}
.recipe_archive_menu_item_img img {
  object-fit: cover;
  aspect-ratio: 369/228;
  width: 100%;
  height: auto;
  transition: .3s;
}
.recipe_archive_menu_item a:hover .recipe_archive_menu_item_img img {
  transform: scale(1.1);
}
.recipe_archive_menu_item_title {
  font-size: 20px;
  line-height: 130%;
  letter-spacing: .06em;
  font-weight: 600;
  color: #0C295E;
  margin-top: 20px;
}
.recipe_archive_menu_item_text {
  color: #323232;
  margin-top: 8px;
}
.recipe_archive_menu_items_not {
  margin-top: 30px;
}

/* recipe - single
------------------------------ */
#recipe-single .main_title::after {
  background-image: url(../images/sub_mainpic_recipe-single.jpg);
}
.recipe_single_main {
  margin-top: 90px;
}
.recipe_single_main_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.recipe_single_main_body {
  width: 100%;
  max-width: 880px;
}
.recipe_single_main_title {
  font-size: 30px;
  font-weight: 600;
  color: #0b3971;
  padding: 0 8px 17px;
  border-bottom: 1px solid #0b3971;
}
.recipe_single_main_major_img {
  margin-top: 48px;
}
.recipe_single_main_major_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.recipe_single_main_major_text {
  margin-top: 35px;
}
.recipe_single_main_materials {
  margin-top: 117px;
}
.recipe_single_main_materials_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  max-width: 804px;
  margin-top: 40px;
}
.recipe_single_main_materials_img {
  width: 100%;
  max-width: 400px;
}
.recipe_single_main_materials_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.recipe_single_main_materials_content {
  width: 100%;
  max-width: 340px;
}
.recipe_single_main_materials_figure dl {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  gap: 8px 20px;
}
.recipe_single_main_materials_figure_a {
  margin-top: 30px;
}
.recipe_single_main_materials_point {
  background-color: #EFEFEF;
  padding: 32px 32px 29px;
  margin-top: 40px;
}
.recipe_single_main_materials_point_title {
  font-size: 20px;
  color: #0b3971;
}
.recipe_single_main_materials_point_text {
  margin-top: 10px;
}
.recipe_single_main_making {
  margin-top: 120px;
}
.recipe_single_main_making_text {
  margin-top: 37px;
  padding-bottom: 29px;
  border-bottom: 1px solid #000;
}
.recipe_single_main_making_items {
  counter-reset: cnt;
}
.recipe_single_main_making_item {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 23.5px 0;
  border-bottom: 1px solid #000;
}
.recipe_single_main_making_item_content {
  position: relative;
  width: 100%;
  max-width: 608px;
  box-sizing: border-box;
  padding-left: 72px;
}
.recipe_single_main_making_item_content::before {
  position: absolute;
  counter-increment: cnt;
  content: counter(cnt, decimal);
  display: grid;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  width: 40px;
  height: 40px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  background-color: #0b3971;
}
.recipe_single_main_making_item_img {
  width: 100%;
  max-width: 240px;
}
.recipe_single_main_making_item_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 240/176;
}
.recipe_single_main_making_comment {
  background-color: #efefef;
  padding: 32px 32px 32px;
  margin-top: 40px;
}
.recipe_single_main_making_comment_title {
  font-size: 20px;
  color: #0b3971;
}
.recipe_single_main_making_comment_text {
  margin-top: 10px;
}
.recipe_single_main_introduction {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 64px;
}
.recipe_single_main_introduction_img {
  width: 100%;
  max-width: 180px;
}
.recipe_single_main_introduction_img img {
  width: 100%;
}
.recipe_single_main_introduction_content {
  width: 100%;
  max-width: 668px;
}
.recipe_single_main_introduction_unit {
    display: flex;
    align-items: center;
    gap: 13px;
}
.recipe_single_main_introduction_genre {
  width: 100%;
  max-width: 98px;
  text-align: center;
  color: #fff;
  background-color: #0b3971;
  padding: 2px 0;
}
.recipe_single_main_introduction_name {
  font-size: 16px;
  color: #0b3971;
}
.recipe_single_main_introduction_cat {
    font-size: 14px;
    margin-top: 6px;
}
.recipe_single_main_introduction_text {
    font-size: 14px;
    line-height: 150%;
    margin-top: 13px;
}
.recipe_single_main_introduction_link {
  margin-top: 12px;
}
.recipe_single_main_introduction_link a {
  display: inline-block;
  position: relative;
  font-size: 14px;
  color: #000;
  padding-right: 24px;
}
.recipe_single_main_introduction_link a::after {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/icon_arrow_square_out_black.svg) no-repeat center center / contain;
}
.recipe_single_main_introduction_link a span {
  position: relative;
  display: inline-block;
}
.recipe_single_main_introduction_link a span::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 6px;
  background-color: #000;
  transition: .3s;
}
.recipe_single_main_introduction_link a:hover span::after {
  width: 0;
}
.recipe_single_main_purchase {
  margin-top: 119px;
}
.recipe_single_main_purchase_links {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  max-width: 840px;
  margin-top: 40px;
}
.recipe_single_main_purchase_link {
  width: 100%;
  max-width: 400px;
}
.recipe_single_main_purchase_link a {
  position: relative;
  display: block;
  overflow: hidden;
}
.recipe_single_main_purchase_link img {
  width: 100%;
  transition: .3s;
}
.recipe_single_main_purchase_link a:hover img {
  transform: scale(1.05);
}
.recipe_single_main_recipe {
  margin-top: 120px;
}
.recipe_single_main_recipe_cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 40px;
}
.recipe_single_main_recipe_card a {
  display: block;
}
.recipe_single_main_recipe_card_img {
  overflow: hidden;
}
.recipe_single_main_recipe_card_img img {
  object-fit: cover;
  aspect-ratio: 369/228;
  width: 100%;
  height: auto;
  transition: .3s;
}
.recipe_single_main_recipe_card a:hover img {
  transform: scale(1.1);
}
.recipe_single_main_recipe_card_title {
  font-size: 20px;
  font-weight: 600;
  color: #0C295E;
  margin-top: 20px;
}
.recipe_single_main_side {
  width: 100%;
  max-width: 290px;
}
.recipe_single_main_side_title {
  font-size: 24px;
  font-weight: 600;
  color: #0b3971;
  padding-bottom: 10px;
  border-bottom: 1px solid #0b3971;
}
.recipe_single_main_side_lists {
  margin-top: 32px;
}
.recipe_single_main_side_list + .recipe_single_main_side_list {
  margin-top: 8px;
}
.recipe_single_main_side_list a {
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  color: #0b3971;
  width: 100%;
  border: 1px solid #0b3971;
  text-align: center;
  box-sizing: border-box;
  padding: 5px 10px;
}
.recipe_single_main_side_list a:hover {
  color: #fff;
  background-color: #0b3971;
}
.recipe_single_main_recipe_card_not {
  margin-top: 30px;
}
.recipe_single_main_side_links {
  position: sticky;
  top: 120px;
  margin-top: 50px;
}
.recipe_single_main_side_link + .recipe_single_main_side_link {
  margin-top: 8px;
}
.recipe_single_main_side_link a {
  position: relative;
  display: block;
  overflow: hidden;
}
.recipe_single_main_side_link img {
  width: 100%;
  transition: .3s;
}
.recipe_single_main_side_link a:hover img {
  transform: scale(1.05);
}

/* cta
------------------------------ */
.recipe_cta {
  margin-top: 100px;
}
.recipe_cta_inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  max-width: 1250px;
  margin-inline: auto;
  background: url(../images/index03_bg.jpg) no-repeat center center / cover;
  padding: 65px 70px 70px;
  box-sizing: border-box;
}
.recipe_cta_img {
  width: 100%;
  max-width: 572px;
  margin-top: 4px;
}
.recipe_cta_img img {
  width: 100%;
}
.recipe_cta_content {
  width: 100%;
  max-width: 485px;
}
.recipe_cta_title {
  font-size: 40px;
  font-weight: 600;
  line-height: 120%;
  color: #fff;
}
.recipe_cta_text {
  font-size: 20px;
  color: #fff;
  margin-top: 9px;
}
.recipe_cta_tel_link {
  width: 100%;
  max-width: 410px;
  margin-top: 24px;
}
.recipe_cta_tel_link img {
  width: 100%;
}
.recipe_cta_btn {
  margin-top: 20px;
}
.recipe_cta_btn a {
  display: inline-block;
  font-size: 28px;
  font-weight: 600;
  width: 100%;
  max-width: 389px;
  color: #0C295E;
  background-color: #fff;
  border: 1px solid #fff;
  padding: 22px 10px 22px;
  text-align: center;
    box-sizing: border-box;
  border-radius: 50px;
}
.recipe_cta_btn a:hover {
  color: #fff;
  background-color: #0C295E;
}
.recipe_cta_btn a span {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 319px;
  box-sizing: border-box;
  text-align: left;
  padding-left: 36px;
}
.recipe_cta_btn a span::before {
  position: absolute;
  content: "";
  width: 23px;
  height: 16px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/icon_mail_navy.svg) no-repeat center center / contain;
  transition: .3s;
}
.recipe_cta_btn a:hover span::before {
  background: url(../images/icon_mail_white.svg) no-repeat center center / contain;
}

/* footer
------------------------------ */
.pic_list {
  display: -webkit-flex;
  display: flex;
}
.footer_fixed_menu {
  display: none;
}

/* pagetop */
.pagetop {
  overflow: hidden;
}
.pagetop a {
  position: relative;
  display: block;
  width: 100%;
  height: 80px;
  background: url(../images/index03_bg.jpg) repeat-x center left;
  -webkit-background-size: 855px auto;
  background-size: 855px auto;
}
.pagetop a span {
  position: absolute;
  display: block;
  width: 41px;
  height: 41px;
  text-indent: -9999px;
  background: url(../images/arrow_bottom_w.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-180deg);
  transition: 0.35s;
}
.pagetop a:hover {
  opacity: 0.7;
}
.pagetop a:hover span {
  top: -10px;
}

footer {
  padding: 106px 0 112px;
}
.footer_logo {
  position: relative;
  display: block;
  width: 346px;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #0e74d7;
}
.footer_logo a {
  position: relative;
  display: block;
  width: 320px;
  height: 84px;
  text-indent: -9999px;
  background: url(../images/logo.jpg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
}
.footer_logo a:hover {
  opacity: 0.7;
}
footer .fl_l p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
footer .fl_r {
  line-height: 0;
  letter-spacing: -0.4em;
}
.online_bnr {
  position: relative;
  display: inline-block;
  width: 505px;
  height: 105px;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  background: url(../images/index03_bg.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  vertical-align: top;
  margin: 30px 0 0;
  padding: 32px 0 0 200px;
  box-sizing: border-box;
}
.online_bnr::before {
  content: "";
  position: absolute;
  display: block;
  width: 152px;
  height: 105px;
  background: url(../images/onlineshop_bnr_before.png) no-repeat center right;
  -webkit-background-size: cover;
  background-size: cover;
  top: 0;
  left: 0;
}
.online_bnr::after {
  content: "";
  position: absolute;
  display: block;
  width: 62px;
  height: 105px;
  background: #0c295e url(../images/btn_arrow_right_w.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  -webkit-background-size: 12px auto, 0 0;
  background-size: 12px auto, 0 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  transition: 0.35s;
}
.online_bnr span {
  position: relative;
  display: block;
  z-index: 1;
}
.online_bnr span.en {
  position: relative;
  display: block;
  color: #0e74d7;
  font-size: 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic",
    YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  line-height: 1;
  margin-top: 5px;
}
.online_bnr span.en::before {
  content: "";
  position: absolute;
  display: block;
  width: 59px;
  height: 59px;
  background: url(../images/logomark_w.svg) no-repeat center center;
  -webkit-background-size: contain;
  background-size: contain;
  top: -38px;
  left: -73px;
}
.online_bnr.rakuten {
  padding-left: 223px;
  margin-left: 34px;
}
.online_bnr.rakuten::before {
  /* width: 160px;
  height: 60px; */
  background-image: url(../images/onlineshop_bnr_before2.jpg);
  -webkit-background-size: contain;
  background-size: contain;
  /* top: 22px;
  left: 30px; */

  width: 110px;
  height: 42px;
  top: 0;
  left: 30px;
  bottom: 0;
  margin: auto 0;
}
.online_bnr.rakuten span.en::before {
  display: none;
}
.online_bnr:hover {
  opacity: 0.7;
}
.online_bnr:hover::after {
  background-position: center right 16px, center center;
}
/*.online_bnr{
	position: relative;
	display: block;
	width: 627px;
	height: 128px;
	color: #FFF;
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: .05em;
	background: url(../images/index03_bg.jpg) no-repeat center center;
	-webkit-background-size: cover;
	background-size: cover;
	margin-bottom: 50px;
	padding: 42px 0 0 308px;
	box-sizing: border-box;
	cursor: pointer;
}
.online_bnr::before{
	content: "";
	position: absolute;
	display: block;
	width: 226px;
	height: 128px;
	background: url(../images/onlineshop_bnr_before.png) no-repeat top left;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 0;
}
.online_bnr::after{
	content: "";
	position: absolute;
	display: block;
	width: 76px;
	height: 128px;
	background: #0c295e url(../images/btn_arrow_right_w.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: center center, center center;
	-webkit-background-size: 12px auto, 0 0;
	background-size: 12px auto, 0 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto 0;
	transition: .35s;
}
.online_bnr span.en{
	position: relative;
	display: block;
	color: #0e74d7;
	font-size: 1.2rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	line-height: 1;
	margin-top: 5px;
}
.online_bnr span.en::before{
	content: "";
	position: absolute;
	display: block;
	width: 59px;
	height: 59px;
	background: url(../images/logomark_w.svg) no-repeat center center;
	-webkit-background-size: contain;
	background-size: contain;
	top: -38px;
	left: -73px;
}
.online_bnr:hover{
	opacity: .7;
}
.online_bnr:hover::after{
	background-position: center right 27px, center center;
}*/
footer .bnr_list .online_bnr,
#processed_food footer .bnr_list .online_bnr {
  width: 400px;
  margin-bottom: 30px;
  padding-left: 100px;
}
footer .bnr_list .online_bnr.rakuten,
#processed_food footer .bnr_list .online_bnr.rakuten {
  padding-left: 153px;
}
/* footer .online_bnr.rakuten::before {
  width: 110px;
  height: 42px;
  top: 0;
  left: 30px;
  bottom: 0;
  margin: auto 0;
} */
.footer_menu {
  position: relative;
  display: inline-block;
  height: 200px;
  vertical-align: top;
  border-left: 1px solid #0e74d7;
  padding-left: 16px;
}
footer .fl_r .footer_menu:nth-of-type(1) {
  padding-right: 78px;
}
footer .fl_r .footer_menu:nth-of-type(2) {
  padding-right: 85px;
}
.footer_menu li {
  line-height: 1;
  margin-bottom: 15px;
}
.footer_menu li.sub {
  margin-bottom: 8px;
}
footer .fl_r .footer_menu:nth-of-type(1) li:nth-child(2),
footer .fl_r .footer_menu:nth-of-type(2) li:nth-child(1) {
  margin-bottom: 8px;
}
footer .fl_r .footer_menu:nth-of-type(2) li:nth-child(4) {
  margin-bottom: 15px;
}
.footer_menu li a {
  color: #0c295e;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.footer_menu li a::after {
  margin-top: 0;
}
small {
  color: #000;
  font-size: 1rem;
  line-height: 1;
}
small a.text_link::after {
  margin-top: 0;
}

/* Breadcrumb
------------------------------ */
.bread_crumb {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  background: #0c295e;
}
.bread_crumb ul li {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  line-height: 70px;
  letter-spacing: 0.1em;
}
.bread_crumb ul li a {
  color: #0e74d7;
}
.bread_crumb ul li a:hover {
  opacity: 0.7;
}

/* Page Navi
------------------------------ */
.pagenavi {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}
.pagenavi span,
.pagenavi a {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  vertical-align: middle;
  margin-right: 8px;
  border-radius: 50%;
}
.pagenavi span {
  color: #fff;
  background: #0085d0;
}
.pagenavi a {
  color: #0085d0;
  background: #fff;
  border: 1px solid #cacaca;
  box-sizing: border-box;
}
.pagenavi a.next {
  text-indent: -9999px;
  background: #fff url(../images/pagenavi_next_blue.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, 0 0;
  -webkit-background-size: 8px auto, auto;
  background-size: 8px auto, auto;
}
.pagenavi a:hover {
  color: #fff;
  background: #0085d0;
  border-color: #0085d0;
}
.pagenavi a.next:hover {
  background: #0085d0 url(../images/pagenavi_next_white.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, 0 0;
  -webkit-background-size: 8px auto, auto;
  background-size: 8px auto, auto;
}
