body{
  font-family: "Hiragino Kaku Gothic W3", sans-serif;
	top: 0;
  bottom: 0;
  left: 0;
  right: 0;
	overflow-x: hidden;
	color:#231F20;
	font-size: 16px;
	line-height: 1.8em;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
*{
	box-sizing: border-box;}
html {
  font-size: 16px;
	scroll-behavior: smooth;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 140%;
  }
}
@media screen and (min-width: 530px) {
  html {
    font-size: 100%;
  }
}

.clear{
	clear: both;
}
.print{
	display: none;
}
a:hover{
	text-decoration: none;
}
table {
    background-color: #fff;
	border-collapse:  collapse;
	margin: 0.5em 0;
	table-layout: fixed;
    }
th {
    background-color: #efefef;
    }
th,td {
    border: solid 1px;
	padding: 7px 10px;
	font-size: 120%;
	text-align: center;
}
i{
	opacity: 0.8;
	margin: 0.3em;
}
li{
	list-style: none;
}
.pc{display: block;}
.sp{display: none;}
.contents_inner{
	display: block;
	scroll-margin-top: 100px;
	scroll-padding-top: 100px;
}
.img_right{
	margin: 0 0 1.5em 1.8em;
	padding: 0;
	float: right;
}
header{
	width: 100%;
	background: rgba(255,255,255,.85);
	padding: 0.3em 0;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
#header{
	max-width: 1400px;
	margin: 0 auto;
}
#top_intro{
	max-width: 1600px;
	background-image: url("../images/bg_intro.webp");
	background-position: left 250px;
	background-repeat: no-repeat;
	padding: 3em 0 2em 0;
	margin-left: auto;
	margin-right: auto;
}
#message{
	background-image: url("../images/bg_company.webp");
	background-size:cover;
	background-position: bottom;
	background-repeat: no-repeat;
	padding: 0 0 3em 0;
}
#ourstory{
	background: #005fbc;
	background-image: url("../images/bg_ourstory.webp");
	background-size: cover;
	background-position: bottom left;
	background-repeat: no-repeat;
	color: #FFF;
	padding: 3em 0;
}
#profile{
	background: #e6f3f7;
	padding: 3em 0;
}
.bg_box_service{
	background: linear-gradient(to left, rgba(222,243,255,.8), rgba(255,255,255,.8));
	border: 1px solid #FFF;
	max-width: 950px;
	text-shadow: 1px 1px #fff;
	border-radius: 5px;
}
.bg_box_mes{
	background: linear-gradient(to bottom, rgba(232,243,255,.7), rgba(222,243,255,.9));
	border: 2px solid #FFF;
	max-width: 950px;
	text-shadow: 1px 1px #fff; 
}
.footer_menu{
	background: #ecf0f1;
}
.border_left{
	border-left: 4px solid #005fbc;
	padding-left: 0.8em;
	margin-left: 0.8em;
}
.year{
	font-family: "Shin Maru Go Medium";
	color: #005fbc;
	font-size: 150%;
	white-space: nowrap;
}
.month{
	font-family: "Shin Maru Go Light";
	font-size: 80%;
}
.notes{
	font-size: 85%;
	line-height: 1.6em;
	color:#333;
}
.font_ss{
	font-size: 85%;
	line-height: 1.6em;
}
.font_s{
	font-size: 90%;
	line-height: 1.6em;
}
.font_m{
	font-size: 110%;
	line-height: 1.6em;
}
.font_mm{
	font-size: 130%;
	line-height: 1.6em;
}
.pt-05 {
	padding-top: 0.1rem !important;
}
.btn{
	font-family: "Shin Go Medium";
}
.contact_s{
	border: 1px solid rgb(222,243,255);
	background: linear-gradient(to right, rgb(222,243,255), rgb(255,255,255));
	padding: 1.5em;
}
.catch_contact,.txt_d-blue_l{
	font-size: 130%;
	line-height: 1.6em;
	font-weight: bold;
	color: #2e3192;
	text-shadow: 1px 1px #FFF;
}
.catch_contact.font_s{
	font-size: 110%;
}
.intro_txt{
	flex: 0 0 auto;
    width: 50%;
	text-shadow: 1px 1px 1px #FFF;
	background-color: rgba(255,255,255,.7);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	padding: 0.5em;
}
.intro_txt a{
	text-shadow:none!important;
}
h1{
	font-size: 160%;
	line-height: 2em;
	color: #005fbc;
	font-weight: bold;
}
.intro_catch h1{
	font-family: "Shin Go Medium";
}
h1 span.marker{
	background-color: #005fbc;
	color: #FFF;
	padding:0.3em 0.8em;
	margin: 0.1em 0.5em;
}
h1 span.marker2{
	background-color: #2e3192;
	color: #FFF;
	padding:0.3em 0.8em;
	margin: 0.1em 0.5em 0.1em 1em;
}
#top_image{
	background-image: url("../images/top_img.webp");
	background-size:cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 500px;
	/*margin: -115px 0 0 0;*/
	padding: 100px 0 0 0;
}
ul.list_circle{
	margin: 0.8em 0 1em 0;
	padding-left: 0.5em;
}
.list_circle li:before{
	content:'●';
	color: #005fbc;
	font-size: 70%;
	margin-right: 0.8em;
	padding-bottom: 0.5em;
	vertical-align: middle;
}
.list_circle li{
	text-indent: -1.3em;
	padding-left: 1.3em;
}
.list_circle li span{
	text-indent: 0;
	padding-left: 0;
}
.border_blue{
	border-color: #005fbc;
}
.st_tab_blue{
	background: #005fbc;
	color:#FFF;
	text-align: center;
	padding:0.3em 0.8em;
	margin: 0;
	font-size: 110%;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	width: 12em;
}
.border_title_top{
	font-family: "Shin Go Medium";
	background: #005fbc;
	color:#FFF;
	font-weight: bold;
	text-align: center;
	padding:0.8em;
	margin: 0 0 1.5em 0;
	font-size: 130%;
	border-top-left-radius: 5px;
	border-bottom-right-radius: 5px;
	width: 12em;
}
.catch_contact,.txt_d-blue_l,.st_tab_blue{
	font-family: "Shin Go Medium";
}
.card.bg-w_opacity{
	border-color: #FFF;
}
.bg-w_opacity{
	background: rgba(255,255,255,.8);
}
.bg_sky{
	background-image: url("../images/bg_sky.webp");
	background-size:contain;
	background-position: center right;
	background-repeat: no-repeat;
}
.right{
	float: right;
}
.left{
	float: left;
}
h2,h3,h3 span.w{
	font-family: "Shin Go Light";
}
h2 span,h3 span{
	color: #999;
}
.w{
	color: #FFF!important;
}
footer{
	background: #005fbc;
	color: #FFF;
	font-size: 10px;
	padding: 0.3em;
	margin: 0;
	text-align: center;
}
.img_sp100 img{
	width: 100%;
	height: auto;
	}

li .nav-link::before{
	width: 5px;
	height: auto;
	margin-right: 0.5em;
	font-family: "FontAwesome";
  content: "\f0da";
  color: #005fbc;
}
.btn{
	font-size: 100%;
}
.btn-primary{
	background-color: #005fbc!important;
	border-color: #005fbc!important;
	padding-right: 2em;
	padding-left: 2em;
}
.btn-primary:hover{
	background-color: #2e3192!important;
	border-color: #2e3192!important;
}
.btn-primary.mail{
	margin: 1em auto;
}
.w-45 {
  width: 45% !important;
}
.w-60 {
  width: 55% !important;
}
.img_service02 img{
	max-width: 286px;
	height: auto;
	border-radius: 5px;
	margin: 0 0 10px 10px;
}
.fw-bold{
	font-family: "Gothic MB101 Medium";
}
.sanwa{
	font-family: "Shin Maru Go Medium";
	font-size: 130%;
	white-space: nowrap;
}
.mar_top_auto{
	margin-top: auto;
}
.mar_top_auto .mail{
	margin-bottom: 0!important;
}
.top_catch_txt{
	font-family: "Shin Go Medium";
	font-size: 300%;
	font-weight: bold;
	color:#005fbc;
	line-height: 1.4em;
	text-shadow: 1px 1px #FFF;
	margin: 2em 0 0 0;
}
.top_catch_txt2{
	font-family: "Shin Go Medium";
	width:fit-content;
	font-size: 130%;
	color:#FFF;
	background-color:#005fbc;
	line-height: 1.4em;
	padding: 0.3em 0.8em;
	margin: 0.5em 0;
}
.navbar-brand img{
	width: 100%;
	/*max-width: 400px;*/
	height: auto;
}
.footer_menu .row{
	justify-content: center;
}
.footer_menu .row li{
	width: auto;
}
.profile_txt{
	width: 75%;
	margin: 0 auto;
}
.contact{
	/*max-width:1100px;*/
	margin: 1em auto 0.5em auto;
	/*padding: 0 1.5em;*/
}
.prod_img{
	margin-bottom: 1.5em!important;
}
.prod_img img{
	width: 100%;
	height: auto;
}
.prod_img figure{
	width: 25%;
}
.prod_img_s img{
	width: 80%;
	height: auto;
}
.prod_img_s figure{
	width: 30%;
	padding-left: 2.3rem!important;
}
.sp_block{
	display: none;
	}
span{
	display: inline-block;
}
.footer_menu .container ul{
	margin: 0;
	padding: 0.3em 0;
}
figcaption{
	margin-top: 0.3em;
	line-height: 1.4em;
}
.list_circle strong,.list_circle strong span.shingo{
	font-family: "Shin Go Medium";
}
.list_circle span{
	font-family: "UD Shin Go Conde90 L", Meiryo;
}
.img_pc{
	display:block;
	}
.img_sp{
	display: none;
	}

/*  Font Awesome/////////////////////////////////////　*/
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900); }

.fas,
.far,
.fab,
.fa-solid,
.fa {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto; }

.fas::before,
.far::before,
.fab::before,
.fa-solid::before,
.fa::before {
  content: var(--fa); }

.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}

.fa-classic,
.fas,
.fa-solid,
.far {
  font-family: 'Font Awesome 6 Free'; }

.fa-envelope {
  --fa: "\f0e0"; }
.fa-angle-right {
  --fa: "\f105"; }

.far{
  font-weight: 400; }
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

.fas,
.fa-solid {
  font-weight: 900; }

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-display: swap;
  font-weight: 900;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

@font-face {
  font-family: 'FontAwesome';
  font-display: swap;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
/*  Font Awesome↑/////////////////////////////////////　*/

/*  サイズ調整/////////////////////////////////////　*/
/*  min 2130 /////////////////////////////////////　*/
@media screen and (min-width: 2130px) {
.bg_sky.bg_cover{
	background-size:cover;
	padding: 3em 0;
}
#message {
  background-position: center;
}
}

/*  min 1500 /////////////////////////////////////　*/
@media screen and (min-width: 1500px) {
#top_intro {
  background-position: 80px 200px;
	}
}

/*  MAX 1200 /////////////////////////////////////　*/
@media screen and (max-width: 1200px) {
.brake1200 .col-md-6{
		display: block!important;
		float: none;
		width: 100%;
	}
.navbar-brand{
	max-width: 380px;
	}
.intro_txt{
    width: 60%;
}
#top_intro {
  background-position: -200px 200px;
	}
}

/*  MAX 1000 /////////////////////////////////////　*/
@media screen and (max-width: 1000px) {
body{
	font-size: 14px!important;}
h1{
	font-size: 140%;}
.navbar-brand{
	width: 70%;
	max-width: 380px;
	}
.profile_txt{
	width: 100%;
}
#message{
	background-size: cover;
	}
.container {
    width: 95%!important;
	max-width: 990px!important;
}
.font_ss{
	font-size: 90%;
}
}

/*  MAX 990 /////////////////////////////////////　*/
@media screen and (max-width: 990px) {
.navbar-nav{
	margin-top: 1em;
	display: flex!important;
	flex-direction: row;
	flex-wrap: wrap;
	}
li .nav-link::before{
	width: 2px;
	height: auto;
}
#top_image{
	height: 400px;
	padding: 80px 0 0 0;
}
.intro_txt{
    width: 80%;
}
#top_intro {
  background-position: -350px 100px;
	}
.navbar-nav li{
	display: flex!important;
	}
.nav-item{
	margin-right: 1.5em;
	}
}

/* MAX 768/////////////////////////////////////　*/
@media screen and (max-width: 768px) {
.font_s{
	font-size: 95%;
}
.container {
    width: 98% !important;
  }
h1{
	font-size: 120%;
	}
#top_image{
	background-position: center;
	height: 300px;
	padding: 70px 0 0 0;
}
.top_catch_txt{
	font-size: 200%;}
#top_intro{
	background-image: url("../images/bg_intro.webp");
	background-color: rgba(255,255,255,.6);
}
.intro_txt{
    width: 75%;
}
.sp_w-100{
	width: 100%!important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	}
.sp_block{
		display: block;
	}
.sp_none{
	display: none;
	}
.catch_contact, .txt_d-blue_l {
  font-size: 120%;
	}
.contact_s{
	text-align: center;
	}
.text_left{
	text-align: left;	
	}
.profile_txt{
	width: 75%;
}
.bg_sky.bg_cover{
	background-size:cover;
}
.img_service02 img{
	width: 45%!important;
}
.img_service02{
	text-align: center!important;
	}
.prod_img_s img{
	width: 25%;
	max-width: 140px;
}
}

/* MAX 576/////////////////////////////////////　*/
@media screen and (max-width: 576px) {
html {
    font-size: 16px!important;
  }
.pc{display: none;}
.sp{display: block;}
.contact .right,.left{
	float: none;
}
h2{
	font-size: 1.3rem;
	}
h3{
	font-size: 1.2rem;
	}
h2 .fs-6,h3 .fs-6{
	font-size: 0.9rem!important;
	}
.contents_inner{
	scroll-margin-top: 50px;
	scroll-padding-top: 50px;
}
#top_intro{
	background-position: -400px 100px;
	padding: 0 0 1em 0;
}
#top_image {
    padding: 70px 0 0 1em;
  }
.top_catch_txt{
	font-size: 200%;
}
.top_catch_txt2{
	font-size: 110%;
}
.intro_catch h1{
	font-family: "UD Shin Go Conde90 M";
}
.intro_txt{
    width: 80%;
}
.container{
	padding-left: 0.5em;
	padding-right: 0.5em;
	width: 100% !important;
	/*width: fit-content !important;*/
	box-sizing: border-box;
	}
.contact{
	text-align: center;
	}
.catch_contact{
	margin-bottom: 1em!important;
	}
.intro_catch{
	width: 95%;
	margin: 0 auto 1.5em 0.3em;
}
.border_title_top{
	padding:0.5em 0.8em;
	font-size: 120%;
}
.card-body{
	margin: 1.5em 0 0 0!important;
	padding: 0!important;
	}
.card-body.pt-0.ps-0{
	margin: 0!important;
	padding: 0!important;
	}
.prod_img figure{
	width: 50%;
}
.prod_img figure.w-45{
	width: 100%!important;
	}
.prod_img{
	padding-top: 1em!important;
	}
.prod_img_s img{
	width: 45%;
	max-width: 227px;
}
.prod_img_s figure{
	padding: 1em 1em 1.5em 1.5em!important;
	margin-bottom: 1.5em !important;
	}
.card.bg-w_opacity{
	border: none;
}
.bg-w_opacity{
	background: rgba(255,255,255,0);
}
#ourstory{
	background-position: -100px bottom;
	padding: 1em 0;
	}
.font_s{
	font-size: 100%;
}
.img_pc{
	display: none;
	}
.img_sp{
	display: block;
	}
.btn {
  font-size: 110%;
}
}


/* MAX 400/////////////////////////////////////　*/
@media screen and (max-width: 400px) {
html {
    font-size: 16px!important;
  }
.footer_menu .container ul li{
	margin: 0 0.2em;
	padding: 0;
}
#top_intro{
	background-position: -400px 100px;
}
.top_catch_txt2 {
    font-size: 100%;
  }
h1 span.marker{
	padding:0.2em 0.5em;
	margin: 0.1em 0.5em;
}
h1 span.marker2{
	padding:0.2em 0.5em;
	margin: 0.1em 0.5em 0.1em 1em;
}
.intro_catch {
	width: 100%;
    margin: 0 0.3em 1.5em 0.3em;
  }
.profile_txt{
	width: 100%;
}
.img_service02 img{
	width: 80%!important;
}
}
