@charset "utf-8";
/*----- 空白ユーティリティ（Spacing）start-----*/

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 2rem !important;
}

.mt-5,
.my-5 {
  margin-top: 2rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 2rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 2rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 2rem !important;
}


.m-6 {
  margin: 2.5rem !important;
}

.mt-6,
.my-6 {
  margin-top: 2.5rem !important;
}

.mr-6,
.mx-6 {
  margin-right: 2.5rem !important;
}

.mb-6,
.my-6 {
  margin-bottom: 2.5rem !important;
}

.ml-6,
.mx-6 {
  margin-left: 2.5rem !important;
}

.m-7 {
  margin: 3rem !important;
}

.mt-7,
.my-7 {
  margin-top: 3rem !important;
}

.mr-7,
.mx-7 {
  margin-right: 3rem !important;
}

.mb-7,
.my-7 {
  margin-bottom: 3rem !important;
}

.ml-7,
.mx-7 {
  margin-left: 3rem !important;
}

.m-8 {
  margin: 3.5rem !important;
}

.mt-8,
.my-8 {
  margin-top: 3.5rem !important;
}

.mr-8,
.mx-8 {
  margin-right: 3.5rem !important;
}

.mb-8,
.my-8 {
  margin-bottom: 3.5rem !important;
}

.ml-8,
.mx-8 {
  margin-left: 3.5rem !important;
}

.m-9 {
  margin: 5rem !important;
}

.mt-9,
.my-9 {
  margin-top: 5rem !important;
}

.mr-9,
.mx-9 {
  margin-right: 5rem !important;
}

.mb-9,
.my-9 {
  margin-bottom: 5rem !important;
}

.ml-9,
.mx-9 {
  margin-left: 3.5rem !important;
}



.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 2rem !important;
}

.pt-5,
.py-5 {
  padding-top: 2rem !important;
}

.pr-5,
.px-5 {
  padding-right: 2rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 2rem !important;
}

.pl-5,
.px-5 {
  padding-left: 2rem !important;
}

.p-6 {
  padding: 2.5rem !important;
}

.pt-6,
.py-6 {
  padding-top: 2.5rem !important;
}

.pr-6,
.px-6 {
  padding-right: 2.5rem !important;
}

.pb-6,
.py-6 {
  padding-bottom: 2.5rem !important;
}

.pl-6,
.px-6 {
  padding-left: 2.5rem !important;
}

.p-7 {
  padding: 3rem !important;
}

.pt-7,
.py-7 {
  padding-top: 3rem !important;
}

.pr-7,
.px-7 {
  padding-right: 3rem !important;
}

.pb-7,
.py-7 {
  padding-bottom: 3rem !important;
}

.pl-7,
.px-7 {
  padding-left: 3rem !important;
}

.p-8 {
  padding: 3.5rem !important;
}

.pt-8,
.py-8 {
  padding-top: 3.5rem !important;
}

.pr-8,
.px-8 {
  padding-right: 3.5rem !important;
}

.pb-8,
.py-8 {
  padding-bottom: 3.5rem !important;
}

.pl-8,
.px-8 {
  padding-left: 3.5rem !important;
}


/*----- 空白ユーティリティ（Spacing）end-----*/
/*=======================================================
 *  oracle---style_ver03.cssに対しスタイル上書き
 ======================================================*/
@media print, screen and (min-width:768px) {
  .portal_header {
      bacKground-image: linear-gradient(to top, #eef9fc, #eef9fc);
      padding-left: 0;
    }
    /* 以下、主にヘッダータイトルにimgを入れるための調整になります */
  .header-inner {
      display: flex;
      justify-content: space-between;
    }
  .menuItem:hover {
    background-color: #cfe8ee;
    color: #333;
    }
  .page-title{
      position: static;
    }
  .page-title a{
    display: block;
    height: 50px;
  }
  .header-inner nav {
    display: block;
    width: 80%;
    height: 53px;
  }
  .product-menu {
    width: 100%;
  }
  .menuItem a {
    color: #333;
    font-weight: bold;
    text-shadow: none;
  }
}

  .logoImg {
    height: 50px;
  }

  nav ul li.menuItem:hover > a  {
  color: #333;
  }
  nav ul li.menuItem.menu-inquiry a {
    text-shadow: none;
    color: #fff;
  }
  .menuItem.menu-inquiry {
    background-color: #0a3d66;
  }
  .menuItem.menu-inquiry:hover {
    background-color: #092f4d;
  }
/*=======================================================
 *  /style_ver03.cssに対しスタイル上書きここまで
 ======================================================*/

/*=======================================================
 *  oracle/index
 ======================================================*/
 .oracle-topBnr {
  position: relative;
}

.bnrTxt-title {
  position: absolute;
  width: 100%;
  font-family: 'M PLUS 1p', sans-serif;
  font-size: 7rem;
  font-size: calc(4.2rem + ((1vw - 7.68px) * 2.4306)); /* 42px~70pxで可変*/
  color: #cf564b;
  top: 15%;
  left: 8%;
  text-shadow:
    white 2px 0px 2px, white -2px 0px 2px,
    white 0px -2px 2px, white -2px 0px 2px,
    white 2px 2px 2px, white -2px 2px 2px,
    white 2px -2px 2px, white -2px -2px 2px,
    white 1px 2px 2px, white -1px 2px 2px,
    white 1px -2px 2px, white -1px -2px 2px,
    white 2px 1px 2px, white -2px 1px 2px,
    white 2px -1px 2px, white -2px -1px 2px,
    white 1px 1px 2px, white -1px 1px 2px,
    white 1px -1px 2px, white -1px -1px 2px;
}

.bnrTxt-title {
    font-family: 'Roboto', sans-serif;
  }
.bnrTxt-sub {
  display: block;
  text-shadow: none;
  top: 40%;
  left:22%;
}
.bnrTxt-small {
  position: absolute;
  font-size: calc(1.3rem + ((1vw - 7.68px) * 0.3472)); /* 14px~18pxで可変*/
  line-height: 2;
  color: #fff;
  top: 40%;
  left: 8%;
  z-index: 2;
  width: 45%;
}

.btn-box {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 80%;
  display: flex;
  justify-content: space-around;
  width: 80%;
}
 h3.secondpagemidashi {
  font-size: 3.6rem;
	font-weight: bold;
	color: #333333;
  text-align: center;
  line-height: 1;
}
 .midashi_small {
  font-family: 'Quicksand', sans-serif;
  font-size: 2.4rem;
  font-weight: normal;
  color: #555;
 }

 .newsList {
   background-color: #eef9fc;
   padding: 4rem 0;
 }

 .newsItem {
   margin: 0 auto 1.6rem;
   width: 80%;
 }

 .newsList .newsItem a {
   display: block;
   text-decoration: none;
 }

.date {
    font-size: 2rem;
    display: inline-block;
    width: 30%;
    font-weight: bold;
    vertical-align: top;
}

 .outlineTxt {
    font-size: 1.8rem;
    display: inline-block;
    line-height: 2;
    margin-left: 10%;
    margin-right: 10%;
    width: 80%;
 }


 .newsTxt{
    font-size: 2rem;
    display: inline-block;
    line-height: 2;
    width: 65%;
}

 .newsTxt a:link {
    text-decoration: underline;
}

 .newsTxt a:hover {
    color: #FF8600;
}

 .d-flex {
   display: flex;
   margin-bottom: 4.8rem;
 }

 .m-bottom {
   margin-bottom: 10rem;
 }
 .menu-left {
   flex: 0 0 50%;
   position: relative;
 }
/*flex: 0 0 40%;*/

 .menu-right {
   flex: 0 0 50%;
   background-color: #eef9fc;
 }

 .menuImg {
   display: block;
   width: 100%;
 }
 .menu-description {
   font-family: "M PLUS 1p", sans-serif;
   width: 100%;
   font-size: calc(3rem + ((1vw - 7.68px) * 2.0833));/*30px~54pxで可変*/
   text-align: center;
   line-height: 1.8;
   color: #fff;
   position: absolute;
   top: 0;
   left: 0;
   background-color: rgb(72 72 82 / 87%);
   text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
 }
.menu-description.txt-ja {
  font-size: calc(3rem + ((1vw - 7.68px) * 1.2153));/*英字無いと大きく見える。30px~50pxで可変*/
  line-height: 2;
}
.description_small {
  display: block;
  font-size: calc(1.6rem + ((1vw - 7.68px) * 0.6944));/*16px~24pxで可変*/
  margin-bottom: 1rem;
}

.menu-txt {
  padding: 2rem 5rem;
  line-height: 2;
}
.menu-txt02 {
  padding: 2rem 5rem;
  line-height: 2;
}
.link-box {
  justify-content: space-between;
}

.link-item {
  flex: 0 0 30%;

}

.link-item a{
  display: block;
  border: 5px solid #3d6191;
  border-radius: 10px;
  text-decoration: none;
  text-align: center;
  color: #3d6191;
  transition: 0.3s;
}

.link-item a:hover {
  border: 5px dotted #a2d0fa;
  opacity: 0.8;
}

.link-description {
  font-weight: bold;
  font-size: 2rem;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-bottom: 2rem;
}
.link-item a img {
  display: block;
  margin: 0 auto;
  padding-top: 2rem;
}
 /*=======================================================
 *  end of oracle/index
 ======================================================*/


/* フッター前お問い合わせボタン */
.btn-box-f {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  top: 80%;
  display: flex;
  justify-content: space-around;
  width: 100%;
}

.btn-box-f a {
  flex: 0 0 30%;
  display: block;
  border-radius: 1rem;
  padding: 2rem 2rem 1.8rem;
  text-align: center;
  text-decoration: none;
  background-color: #0a3d66;
  border: 2px solid #0a3d66;
  color: #fff;
  font-size: 2.8rem;
  font-size: calc(2rem + ((1vw - 7.67px) * 0.6938));
  font-weight: bold;
  letter-spacing: 0.5rem;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
  transition: 0.3s;
}
a.buyBtn-f {
  background-color: #00BCD4;
  border: 2px solid #00BCD4;
}

.btn-box-f a:hover {
  border: 2px solid #092f4d;
  background-color: #fff;
  color: #092f4d;
}

a.buyBtn-f:hover {
  border: 2px solid #00BCD4;
  background-color: #fff;
  color: #00BCD4;
}

 /* 斜め背景 */
.bg-wrapper {
  /*background-color: rgba(228, 222, 222, 0.5);*/
  padding: 10rem 0;
  margin-bottom: 7rem;
  position: relative;
  z-index: 0;
}

.bg-wrapper::before {
  content: '';
  display: block;
  background-color: rgba(228, 222, 222, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.bg-wrapper::before {
  transform: skewY(-5deg);
  top: 1.6rem;
}
 #inquiry-parts02{
  display: flex;
  max-width: 1400px;
  justify-content: center;
  align-items:center;
}
.inquiry-parts02 div{
  width: 20%;
  
}
.inquiry-parts02_img01{
  display: inline-block;
  width: 45%;
}
.inquiry-parts02_img03{
  display: inline-block;
  width: 50%;
}
.inquiry-parts02_Txt{
  text-align: center;
  margin:1rem 0 6rem;;
}
.inquiry-parts02_Txt a:hover{
  color: #FF8600;
}
/* サイドボタン（お問い合わせ） */
.sideBtn {
	  position:fixed;
	  top:50%;
	  right:0;
    transform: translateY(-50%);
    z-index: 20;
    font-size: 24px;
  }
  .sideBtn_inquiry {
    display:block;
    text-decoration:none;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
    border-radius: 5px 0 0 5px;
    border: none;
  }

  .sideBtn_inquiry{
    background: #0a3d66;
    padding: 2rem 1rem 2rem;
    transition: 0.3s;
  }

  .sideBtn_inquiry:hover {
    background: #092f4d;
    color: #fff;
  }
.sideBtn_inquiry::before {
  display: none;
}

/*=======================================================
   レスポンシブ対応（max-width:768pxは最下部に）
 ======================================================*/
@media screen and (min-width:1920px){
  .bnrTxt {
    font-size: 3.6rem;
  }
  .bnrTxt-title {
    font-size: 7rem;
  }
  .bnrTxt-sub {
    top: 40%;
    left:24%;
}
  .bnrTxt-small {
    font-size: 1.5rem;
  }
  .btn-box a {
    font-size: 2.8rem;
  }
  .menu-description {
    font-size: 5.4rem;
  }
  .menu-description.txt-ja {
    font-size: 4.4rem;
    line-height: 2;
  }
  .description_small {
    font-size: 2.4rem;
  }
  .menu-txt {
    font-size: 1.8rem;
    padding: 2rem 3rem;
  }
  .menu-txt02{
    font-size: 1.5rem;
    padding: 2rem 3rem;
  }
}
@media screen and (max-width:1200px) {
  .bnrTxt-small {
    line-height: 1.5;
  }
  .menu-right {
    flex: 0 0 50%;
  }
  .menu-left {
    flex: 0 0 50%
  }
  .menu-txt {
    line-height: 1.6;
    padding: 2rem 5rem 2rem 1rem;
  }
  .bnrTxt-sub {
    left: 21%;
  }
  .newsItem {
    width: 80%;
  }
  .date,
  .newsTxt {
    width: 100%;
    font-size: 1.6rem;
  }
}

@media screen and (max-width:992px) {
  .bnrTxt-small {
    line-height: 1.5;
  }
  .btn-box a {
    padding: 0.7rem 0.5rem 0.3rem;
  }
  .d-flex {
    display: block;
  }
  .menuImg {
    width: 60%;
    margin: 0 auto;
  }
  .menu-description {
    width: 60%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .menu-right {
    width: 60%;
    margin: 0 auto;
    background: transparent;
  }
  .menu-txt {
    padding: 1.6rem 0 0;
  }
  .link-item {
    margin-bottom: 2rem;
  }
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:768px) {
  .menuItem {
    border-top: none;
    border-bottom:1px solid #dcdcdc;
  }
  .outlineTxt {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .bnrTxt-title {
    font-size: 2rem;
    top: 13%;
  }
  .bnrTxt-sub {
    left: 3%;
  }
  .bnrTxt {
    font-size: 1.3rem;
    line-height: 1.3;
    top: 6%;
  }

  .bnrTxt-small {
    font-size: 1.6rem;
    font-weight: bole;
    position: static;
    line-height: 1.6;
    color: #333;
    width: 80%;
    letter-spacing: 0.05em;
  }

  .btn-box {
    top: 23%;
    padding: 1rem;
    justify-content: space-between;
		width: 90%;
  }
  .m-bottom {
    margin-bottom: 4rem;
  }
  .portal_header {
    padding: 0;
  }
  .page-title a {
    display: block;
    padding-left: 0;
  }
  .logoImg {
    height: 60px;
  }
  #spMenu {
    top: 15px;
    right: 15px;
  }
  h3.secondpagemidashi {
    width: 80%;
    margin: 0 auto 2rem;
    font-size: 3rem;
  }
  .newsItem {
    width: 80%;
  }
  .date,
  .newsTxt {
    width: 100%;
    font-size: 1.6rem;
  }
  .menu-left {
    position: relative;
  }
  .menuImg {
    width: 100%;
  }
  .menu-description {
    width: 100%;
    font-size: 3rem;
  }
  .description_small {
    font-size: 1.6rem;
  }
  .menu-right {
    width: 80%;
  }
  .bg-wrapper {
    padding: 0;
  }

  .bg-wrapper::before {
    top: -4rem;
    height: 107%;
  }

  .btn-box-f {
    display: block;
    width: 90%;
  }
  #inquiry-parts02{
    display: block;
  }
  .inquiry-parts02_img01{
    display: inline-block;
    width: 65%
  }
  .inquiry-parts02_img03{
    width: 65%;
  }
  /*================================================
  *  お問い合わせ・ご購入ボタン（位置固定）
   ================================================*/
    .sideBtn {
        top: 50%;
        right: 0;
        font-size: 1.4rem;
    }
    .sideBtn_inquiry {
        padding: 1.6rem 0.2rem 1.6rem 0;
        width: 2.5rem;
        height: 11.8rem;
    }

}/* /スマートフォン向けデザイン */
