@charset "utf-8";

@import url("header.css");
@import url("nav.css");
@import url("footer.css");


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*
body * { border:0.02px solid #000000; background:rgba(000,000,000,0.1)}
*/

html,
body {
 width: 100%;
 font-size: 62.5%;
 letter-spacing: 0.025em;
 color: #000;
 background-color: #fafafa;
}

html {}

body {}

#wrap {
 width: 100%;
 overflow-y: hidden;
 min-width: 960px !important;
}

.showPc {}

.showSp {
 display: none;
}

@media only screen and (max-width:960px) {

 html,
 body {}
}

@media only screen and (max-width:640px) {

 html,
 body {
  width: 640px;
  min-width: 640px;
  /*font-size: 106.67%;*/
  font-size: 86%;
 }

 #wrap {
  width: 640px !important;
  min-width: 640px !important;
  overflow-x: hidden !important;
 }

 .showPc {
  display: none !important;
 }

 .showSp {
  display: block;
 }
}


/* --------------------------------------------

変数設定

---------------------------------------------- */
:root {}


/* --------------------------------------------

fonts

---------------------------------------------- */
body,
input,
select,
select option,
textarea,
h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: "Noto Sans JP", serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 font-size: 1.6rem;
 line-height: 1.35;
}

body,
input,
select,
select option,
textarea,
table,
th,
td,
p {
 font-weight: 500;
 font-style: normal;
 font-feature-settings: "palt";
 text-align: justify;
 text-justify: inter-ideograph;
}

p {
 line-height: 2;
}

b,
strong {
 font-style: normal;
 font-weight: 700;
}

small {
 display: inline-block;
 font-size: 0.85em;
}

a {
 color: #000;
 text-decoration: none;
 transition: 0.3s;
}

a:hover {}

a img {}

a:hover img {}

p a {
 text-decoration: underline;
}


/* セレクト時の色指定 */
::selection {
 background: #d6daea;
 color: #092c45;
}

::-moz-selection {
 background: #d6daea;
 /*Firefox*/
 color: #092c45;
}

.flex {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 flex-wrap: wrap;
}




/* --------------------------------------------

font

---------------------------------------------- */
.ff-w700 {
 font-weight: 700;
}

.ff-w900 {
 font-weight: 900;
}

.ff-en {
 font-family: "Arial", sans-serif;
 font-weight: 500;
 font-style: normal;
 letter-spacing: 0em;
}



/* --------------------------------------------

#main

---------------------------------------------- */
main {
 position: relative;
}

.main_inner {
 width: 90%;
 max-width: 1600px;
 margin: 0 auto 128px;
}

.bg-grad {
 background-image: url(../_image/common/bg-grad.jpg);
 background-size: 100% 100%;
}

.bg-grad-black {
 background-image: url(../_image/common/bg-grad-black.jpg);
 background-size: 100% 100%;
}

.bg-grad-gray {
 background-image: url(../_image/common/bg-grad-gray.jpg);
 background-size: 100% 100%;
}

@media only screen and (max-width:640px) {
 .main_inner {
  width: 86%;
 }
}





/* --------------------------------------------

btn

---------------------------------------------- */
.btn {
 position: relative;
 display: block;
 width: 420px;
 padding: 32px;
 font-weight: 600;
 color: #fff;
 background-color: #000;
}

.btn::after {
 content: "";
 display: block;
 position: absolute;
 width: 20px;
 height: 20px;
 right: 24px;
 top: calc(50% - 10px);
 background-image: url(../_image/common/icon-more.svg);
 background-size: cover;
}

@media only screen and (max-width:640px) {
 .btn {}
}




/* --------------------------------------------

pageTitle

---------------------------------------------- */
.pageTitle {
 position: relative;
 width: 100%;
 margin: 256px auto 64px;
 padding: 0 2% 96px calc(2% + 96px);
 font-size: 5rem;
 line-height: 1.2;
 font-weight: 600;
 border-bottom: 1px solid #000;
}

.pageTitle span.ff-en {
 font-size: 1.6rem;
 font-weight: 600;
}

.sectionTtl {
 position: absolute;
 top: 10px;
 left: 50px;
 width: 120px;
 border-top: 2px solid #1e1e1e;
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 50px;
 transform: rotate(90deg);
 transform-origin: left top;
}

.sectionTtl::after {
 content: "";
 position: absolute;
 top: -2px;
 left: 0px;
 width: 24px;
 border-bottom: 2px solid #AC7300;
}

.sectionTtl-white {
 color: #fff;
 border-top: 2px solid #fff;
}


@media only screen and (max-width:640px) {
 .pageTitle {
  width: 100%;
  margin: 192px auto 64px;
  padding: 0 2% 96px calc(2% + 64px);
  font-size: 3.4rem;
 }

 .sectionTtl {
  font-size: 1.4rem;
 }

 .sectionTtl::after {}

 .sectionTtl-white {}
}





/* --------------------------------------------

校正用　制作中ページ

---------------------------------------------- */
.pendPages {
 position: fixed;
 z-index: 1;
 top: 150px;
 right: 10%;
 width: 80%;
 font-size: 1.8rem;
 color: red;
 font-weight: 500;
 line-height: 50px;
 color: #fff;
 text-align: center;
 border: 2px solid #fff;
 background: rgba(255, 0, 0, 0.65);
 z-index: 10;
}

.pendImageWrap {
 position: relative;
 left: 50%;
 width: 1366px;
 margin-left: calc(-1366px / 2);
 height: 800px;
 overflow: scroll;
 overflow-y: scroll;
}

.pendImage {
 display: block;
 /*position: relative;
 left: 50%;
 width: 1366px;
 margin-left: calc(-1366px / 2);*/
}

.pendImage img {}

@media only screen and (max-width:640px) {
 .pendImage {
  /*width: 120vw;
  margin-left: -60vw;*/
 }
}
