@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+JP:wght@100..900&display=swap');

/** *********************** **/

/* // <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 400 to 800

.eb-garamond-<uniquifier> {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
 */
 
/** *********************** **/

.pc_view {
	display: none !important;
}
img {
	width: 100%;
	height: auto;
}

/** *********************** **/

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

/** *********************** **/

#loading-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
  z-index: 999;
}

#loading-text {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgba(0,163,207,1.0);
  width: 100px;
  height: 30px;
  margin: -7px 0 0 -45px;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
}

#loading-content {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 170px;
  height: 170px;
  margin: -85px 0 0 -85px;
  border: 3px solid rgba(0,163,207,0.5);
}

#loading-content:after {
  content: "";
  position: absolute;
  border: 3px solid rgba(0,163,207,1.0);
  left: 15px;
  right: 15px;
  top: 15px;
  bottom: 15px;
}

#loading-content:before {
  content: "";
  position: absolute;
  border: 3px solid rgba(0,163,207,0.5);
  left: 5px;
  right: 5px;
  top: 5px;
  bottom: 5px;
}

#loading-content {
  border: 3px solid transparent;
  border-top-color: rgba(0,163,207,0.5);
  border-bottom-color: rgba(0,163,207,0.5);
  border-radius: 50%;
  -webkit-animation: loader 2s linear infinite;
  -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
  animation: loader 2s linear infinite;
}

#loading-content:before {
  border: 3px solid transparent;
  border-top-color: rgba(0,163,207,1.0);
  border-bottom-color: rgba(0,163,207,1.0);
  border-radius: 50%;
  -webkit-animation: loader 3s linear infinite;
    -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
  animation: loader 3s linear infinite;
}

#loading-content:after {
  border: 3px solid transparent;
  border-top-color: rgba(0,163,207,0.5);
  border-bottom-color: rgba(0,163,207,0.5);
  border-radius: 50%;
  -webkit-animation: loader 1.5s linear infinite;
  animation: loader 1.5s linear infinite;
    -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
}

@-webkit-keyframes loaders {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/** *********************** **/

html {
	overflow-x: hidden;
}
body {
	font-family: "Noto Sans JP", serif;
	font-weight: 400;
	color: #000;
	position: relative;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	padding-top: 18.4vw;
}

/** *********************** **/

header {
	width: 100%;
	height: 18.4vw;
	position: absolute;
	top: 0;
	left: 0;
}
header.fixed {
	width: 100%;
	height: 18.4vw;
	background: rgba(255,255,255,0.8);
	animation: menufixed 0.5s linear;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 30;
}
@keyframes menufixed {
  0% {
    top: -9.2vw;
	opacity: 0;
  }
  100% {
    top: 0px;
	opacity: 1;
  }
}

header h1 {
	font-size: 2.4vw;
	line-height: 9.77vw;
	font-weight: 700;
	color: #000;
	padding-left: 39.2vw;
	background: url("../../assets/sp_img/head_logo.png") no-repeat top left;
	background-size: 36.08vw auto;
	position: absolute;
	top: 4vw;
	left: 4vw;
}
header ul {
	width: 100%;
	padding-top: 65.06vw !important;
	text-align: center;
}
header li {
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #000;
}
header li:nth-of-type(1) {
	margin-bottom: 9.33vw;
}

.head_contact {
	display: none;
}

/** *********************** **/

.mv_area_wrap {
	width: 100%;
	height: 139.2vw;
	background: url("../../assets/sp_img/mv_bg.jpg") no-repeat top center;
	background-size: cover;
}
.mv_area {
	width: 88vw;
	height: 139.2vw;
	margin: 0 auto;
	padding-top: 29.33vw;
	position: relative;
}
.mv_area h2 {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 12.8vw;
	line-height: 13.33vw;
	color: #00227c;
	margin-bottom: 4vw;
}
.mv_area p {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 3.73vw;
	line-height: 6.4vw;
}
.mv_area span {
	width: 18.66vw;
	height: 18.66vw;
	border-radius: 9.33vw;
	background: url("../../assets/sp_img/mv_scroll.png") no-repeat center bottom 3.2vw;
	background-size: 1.51vw auto;
	border: 1px solid #fff;
	position: absolute;
	bottom: 4.53vw;
	left: 50%;
	margin-left: -9.33vw;
	padding-top: 5.33vw;
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 2.93vw;
	line-height: 1;
	color: #fff;
	text-align: center;
}
.mv_area span a {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/** *********************** **/

.cnt_01_wrap {
	width: 100%;
	background: url("../../assets/sp_img/cnt_01_bg.png") no-repeat top -13.06vw right;
	background-size: 50.93vw auto;
	padding: 23.46vw 0 12vw 0;
	text-align: center;
}
.cnt_01_wrap h2 {
	width: 32.53vw;
	margin: 0 auto 10.66vw auto;
}
.cnt_01_wrap p {
	width: 88vw;
	font-size: 3.73vw;
	line-height: 6.4vw;
	text-align: left;
	margin: 0 auto 6.66vw auto;
}

.slider {
	margin: 0 auto;
}
.slick-list {
	overflow: visible !important;
}
.slick-img {
	margin: 0 2.66vw 8vw 2.66vw;
	box-shadow: 0px 0px 20px 0px rgba(0, 49, 138, 0.1);
}
.slick-img img {
	width: 80vw;
	height: auto;
}
.slick-arrow {
	width: 7.2vw;
	height: 14.13vw;
	background: url("../sp_img/cnt_01_slide_arrw_right.png") no-repeat;
	background-size: 7.2vw 14.13vw;
	position: absolute;
	top: 18.66vw;
	text-indent: -9876px;
	z-index: 10;
}
.slick-prev {
	left: 50%;
	margin-left: -44vw;
	transform: rotateZ(180deg);
}
.slick-next {
	right: 50%;
	margin-right: -44vw;
}
.slick-dots {
	text-align: center;
}
.slick-dots li {
	display: inline-block;
	width: 2.66vw;
	height: 2.66vw;
	border-radius: 1.33vw;
	text-indent: -9876px;
	background: #0d347c;
	margin: 0 1.33vw;
	cursor: pointer;
}
.slick-active {
	background: #6396cf !important;
}


/** *********************** **/

.cnt_02_wrap {
	width: 100%;
	background: url("../../assets/sp_img/cnt_02_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 18.66vw 0 14.66vw 0;
}
.cnt_02 {
	width: 88vw;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
.cnt_02 h3 {
	font-size: 4.53vw;
	line-height: 1;
	font-weight: 700;
	color: #000;
	position: relative;
	margin-bottom: 14.66vw;
}
.cnt_02 h3::after {
	content: "";
	width: 1px;
	height: 2.66vw;
	background: #00227c;
	position: absolute;
	bottom: -6.66vw;
	left: 50%;
}
.cnt_02 h3::before {
	content: "Our Suppliers"; 
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 16.26vw;
	display: block;
	color: #00227c;
	margin-bottom: 5.33vw;
}
.cnt_02 ul {
	font-size: 0;
	width: 64vw;
	margin: 0 auto;
}
.cnt_02 li {
	width: 64vw;
	margin-bottom: 2.66vw;
}
.cnt_02 li:nth-of-type(8) {
	margin-bottom: 0;
}

/** *********************** **/

.cnt_03_wrap {
	width: 100%;
	background: #fff;
	padding: 12vw 0 20vw 0;
}
.cnt_03 {
	width: 88vw;
	margin: 0 auto;
	text-align: center;
}
.cnt_03 h3 {
	font-size: 4.53vw;
	line-height: 1;
	font-weight: 700;
	color: #000;
	position: relative;
	margin-bottom: 14.66vw;
}
.cnt_03 h3::after {
	content: "";
	width: 1px;
	height: 2.66vw;
	background: #00227c;
	position: absolute;
	bottom: -6.66vw;
	left: 50%;
}
.cnt_03 h3::before {
	content: "About"; 
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 16.26vw;
	display: block;
	color: #00227c;
	margin-bottom: 1.33vw;
}
.cnt_03 table {
	width: 88vw;
	margin: 0 auto;
}
.cnt_03 th {
	width: 22.66vw;
	font-size: 3.73vw;
	line-height: 6.4vw;
	font-weight: 700;
	color: #00227c;
	padding: 5.33vw 0;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid #00227c;
}
.cnt_03 td {
	font-size: 3.73vw;
	line-height: 6.4vw;
	font-weight: 400;
	color: #000;
	padding: 5.33vw 4vw;
	text-align: left;
	border-bottom: 1px solid #cdd8ec;
}
.cnt_03 td dt {
	font-size: 3.73vw;
	line-height: 6.4vw;
	font-weight: 400;
	color: #000;
	margin-bottom: 1.33vw;
}
.cnt_03 td dd {
	font-size: 2.93vw;
	line-height: 5.06vw;
	font-weight: 400;
	color: #00227c;
}
.cnt_03 td dd a {
	display: inline-block;
	position: relative;
	text-decoration: underline;
}
.cnt_03 td dd a span {
	width: 12vw;
	height: 5.06vw;
	border-radius: 3px;
	background: #eb2d48;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 0;
	right: -15vw;
}

/** *********************** **/

.cnt_04_wrap {
	width: 100%;
	background:  #001d7f url("../sp_img/cnt_04_bg.jpg") no-repeat center bottom;
	background-size: cover;
	padding: 12vw 0 77.33vw 0;
}
.cnt_04 {
	width: 88vw;
	margin: 0 auto;
	text-align: center;
}
.cnt_04 h3 {
	font-size: 4.53vw;
	line-height: 1;
	font-weight: 700;
	color: #fff;
	position: relative;
	margin-bottom: 14.66vw;
}
.cnt_04 h3::after {
	content: "";
	width: 1px;
	height: 2.66vw;
	background: #fff;
	position: absolute;
	bottom: -6.66vw;
	left: 50%;
}
.cnt_04 h3::before {
	content: "Greeting"; 
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 16.26vw;
	display: block;
	color: #fff;
	margin-bottom: 1.33vw;
}
.cnt_04 p {
	font-size: 3.73vw;
	line-height: 6.4vw;
	color: #fff;
	margin-bottom: 8vw; 
}
.cnt_04 dt {
	font-size: 4.26vw;
	line-height: 1;
	color: #fff;
	margin-bottom: 2.66vw; 
}
.cnt_04 dd {
	font-size: 5.6vw;
	line-height: 1;
	font-weight: 700;
	color: #fff;
}

/** *********************** **/

.contents_contact_wrap {
	width: 100%;
	background: #f6f9fd;
	padding: 12vw 0 20vw 0;
}
.contents_contact {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
.contents_contact h3 {
	font-size: 4.53vw;
	line-height: 1;
	font-weight: 700;
	color: #000;
	position: relative;
	margin-bottom: 14.66vw;
}
.contents_contact h3::after {
	content: "";
	width: 1px;
	height: 2.66vw;
	background: #00227c;
	position: absolute;
	bottom: -6.66vw;
	left: 50%;
}
.contents_contact h3::before {
	content: "Contact"; 
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 16.26vw;
	display: block;
	color: #00227c;
	margin-bottom: 1.33vw;
}
.contents_contact p {
	text-align: center;
	font-size: 3.73vw;
	line-height: 6.4vw;
	margin-bottom: 45px;
}


.contents_contact table {
	width: 88vw;
	margin: 0 auto;
}
.contents_contact th {
	padding: 0 0 4vw 0;
	font-size: 4.53vw;
	line-height: 1;
	font-weight: 700;
	position: relative;
}
.contents_contact th span {
	width: 13.33vw;
	height: 4.8vw;
	border-radius: 2.4vw;
	background: #4688d0;
	text-align: center;
	font-size: 3.2vw;
	line-height: 4.26vw;
	font-weight: 700;
	color: #fff;
	display: inline-block;
	margin-left: 4vw;
	position: absolute;
	top: 0px;
}
.contents_contact td {
	text-align: left;
	padding: 0 0 6.66vw 0;
}
.contents_contact td input[type="text"] {
    width: 100%;
    border: 1px solid #b5b4b4;
	background: #fff;
    box-sizing: border-box;
    padding: 2.66vw;
	font-size: 4vw;
	line-height: 1;
	border-radius: 5px;
}
.contents_contact td textarea {
    width: 100%;
    height: 180px;
    border: 1px solid #b5b4b4;
    background: #fff;
    box-sizing: border-box;
     padding: 2.66vw;
	font-size: 4vw;
	line-height: 6.66vw;
	border-radius: 5px;
}
.privacy {
	width: 88vw;
    height: 66.66vw;
    border: 1px solid #b5b4b4;
    background: #fff;
    box-sizing: border-box;
    padding: 4vw 4vw;
	border-radius: 5px;
	margin: 0 auto 8vw auto;
	overflow: auto;
	text-align: left;
}
.privacy dl {
	margin-bottom: 4vw;
}
.privacy dl dt {
	font-size: 3.2vw;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 2.66vw;
}
.privacy dl dd {
	font-size: 2.66vw;
	line-height: 4.26vw;
}
.privacy p {
	font-size: 2.66vw;
	line-height: 4.26vw;
	margin-bottom: 2.66vw;
	text-align: left !important;
}
.privacy p:last-child {
	margin-bottom: 0;
}
.submit_btn {
	width: 82.66vw;
	height: 22.93vw;
	border-radius: 11.465vw;
	background: #00227c;
	margin: 0 auto;
}
.submit_btn input[type="submit"] {
    display: block;
	width: 82.66vw;
	height: 22.93vw;
	border-radius: 11.465vw;
	font-size: 7.46vw;
	line-height: 22.93vw;
	font-weight: 700;
	color: #fff;
	background: rgba(255,255,255,0.00) url("../../assets/sp_img/cnt_contact_arrow.png") no-repeat center right 14.66vw;
	background-size: 1.95vw auto;
	position: relative;
	text-align: center;
}

/** *********************** **/

#mfp_confirm_table {
	border:1px solid #b5b4b4 !important;
	border-collapse: collapse !important;
    margin-bottom: 50px !important;
}
#mfp_confirm_table th {
	border:1px solid #b5b4b4 !important;
	background: #fff;
	width: 30%;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    padding: 10px 15px;
    box-sizing: border-box;
}
#mfp_confirm_table th:after {
	content: none;
}
#mfp_confirm_table td {
	border:1px solid #b5b4b4 !important;
	background: #fff;
    font-size: 15px;
    line-height: 25px;
    padding: 10px 15px;
    box-sizing: border-box;
}
.mfp_buttons {
	text-align: center;
}
#mfp_button_send {
	display: inline-block;
	background:#2b4889;
	width: 40%;
	height: 50px;
	font-size: 22px;
	line-height: 46px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 0 0 ;
}
#mfp_button_cancel {
	display: inline-block;
	background:#eee;
	width: 40%;
	height: 50px;
	font-size: 22px;
	line-height: 46px;
	color: #000;
	margin: 0 20px 0 0 ;
	font-weight: 700;
}

/** *********************** **/

.thanks_wrap {
	width: 100%;
	padding: 50px 0 50px 0;
}
.thanks {
	width: 88vw;
	margin: 0 auto;
	text-align: center;
}
.thanks h1 {
	font-size: 5.33vw;
	line-height: 8vw;
	font-weight: 700;
	margin-bottom: 5.33vw;
}
.thanks figure {
	width: 33.33vw;
	margin: 0 auto 8vw auto;
}
.thanks dt {
	font-size: 6.66vw;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 4vw;
}
.thanks dd {
	font-size: 4vw;
	line-height: 6.66vw;
	font-weight: 700;
	margin-bottom: 2.66vw;
}
.thanks p {
	font-size: 3.46vw;
	line-height: 6.13vw;
	font-weight: 400;
	margin-bottom: 10.66vw;
}
.thanks ul {
	width: 88vw;
	height: 14.66vw;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.thanks li a {
	display: block;
	width: 88vw;
	height: 14.66vw;
	font-size: 5.33vw;
	line-height: 14.66vw;
	font-weight: 700;
	background: #00227c;
	position: relative;
	color: #fff;
}


/** *********************** **/

footer {
	width: 100%;
	background: #fff;
	padding: 10.66vw 0 16vw 0;
	border-top: 1px solid #00227c;
	text-align: center;
}
footer figure {
	width: 19.46vw;
	margin: 0 auto 8vw auto;
}
footer small {
	display: block;
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 3.2vw;
	line-height: 1;
	color: #00227c;
}

/** *********************** **/

#pagetop {
  position: fixed;
  bottom: 5.33vw;
  right: 5.33vw;
  z-index: 80;
}
#pagetop a {
  display: block;
  background: url("../../assets/sp_img/pagetop.png") no-repeat center center;
  background-size: 10.57vw auto;
  width: 10.57vw;
  height: 10.57vw;
}

/** *********************** **/

.popup {
	position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  transition: .6s;
}
.popup.ok {
  opacity: 0;
  visibility: hidden;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.85);
  z-index: 1;
}
.popup-inner {
	width: 90.66vw;
  padding: 6.66vw 5.33vw 6.66vw 5.33vw;
  box-sizing: border-box;
  background: #fff;
  border: 0.8vw solid #e3e5e7;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  transition: .3s;
  z-index: 201;
  text-align: center;
}
.popup-inner h5 {
	text-align: center;
	font-size: 4.53vw;
	line-height: 6.66vw;
	font-weight: 700;
	margin-bottom: 14.66vw;
	position: relative;
}
.popup-inner h5::after {
	content: "";
	width: 32vw;
	height: 0.53vw;
	background: #2b4198;
	position: absolute;
	bottom: -4.8vw;
	left: 50%;
	margin-left: -16vw;
}
.popup-inner dl {
	text-align: center;
	margin-bottom: 5.33vw;
}
.popup-inner dt {
	font-size: 3.46vw;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 4vw;
}
.popup-inner dd p {
	font-size: 3.46vw;
	line-height: 6.13vw;
	margin-bottom: 2.66vw;
}
.popup-inner dd p:last-child {
	margin-bottom: 0;
}
.modal_bottom {
	width: 100%;
	background: #f1f3f5;
	padding: 4vw 3vw 9vw 3vw;
	text-align: left;
}
.modal_bottom h6 {
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	vertical-align: middle;
	margin-bottom: 5.33vw;
	text-align: center;
}
.modal_bottom div {
	width: 100%;
	height: 13.33vw;
}
.modal_bottom div:nth-of-type(1) {
	margin-bottom: 4vw;
}
.modal_indexback a:link,
.modal_indexback a:visited,
.modal_indexback a:hover,
.modal_indexback a:active {
	border-radius: 6.65vw;
	border: 0.53vw solid #00227c;
	background: #fff;
	font-size: 4.53vw;
	line-height: 12.53vw;
	font-weight: 700;
	text-align: center;
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.modal_indexback span {
	display: block;
	margin-top: 2.66vw;
	font-size: 3.2vw;
	line-height: 1;
	font-weight: 700;
	text-align: center;
}

.modalCloseButton {
    border-radius: 6.65vw;
	background: #00227c url("../../assets/pc_img/cnt_contact_arrow.png") no-repeat center right 30px;
	background-size: 8px auto;
	font-size: 4.53vw;
	line-height: 12.53vw;
	font-weight: 700;
	text-align: center;
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: relative;
	color: #fff;
}


/** *********************** **/
