html, body, div, span,iframe,h1, h2, h3, h4, h5, h6, p, blockquote,
a, abbr,address, big, em, img,small, strong,
b, u, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, section, summary,
time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline;}
html{ -webkit-text-size-adjust: none; line-height: 1.15; -webkit-text-size-adjust: 100%;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
body { font: 400 15px/1.6 'Noto Sans JP', sans-serif , Ariel; letter-spacing: .5px;}
button{ font: 400 15px/1.6 'Noto Sans JP', sans-serif , Ariel;}
a { background-color: transparent; text-decoration: none; line-height: 1.6;}
ol, ul {list-style: none;}
table { border-collapse: collapse; border-spacing: 0;}
img { border-style: none; height: auto; width: auto\9; /* ie8 */}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
input[type=search],input[type=text] { -moz-appearance: none;/* older firefox */ -webkit-appearance: none; /* safari, chrome, edge and ie mobile */ appearance: none; /* rest */
	-webkit-box-sizing: content-box; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; outline:0; font-family: inherit; font-size: 100%;}
input::-webkit-search-decoration,input::-webkit-search-cancel-button { display: none;}
input:focus,button:focus,textarea:focus{ outline: none;}

p{ color: #363c38;}
.link{ position: relative; display: inline-block; width: auto; color: #363c38; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out;}
a.link::after{ content: ''; position: absolute; left: 0; bottom: -15px; width: 100%; height: 1px; background: #363c38; text-decoration: underline; margin-bottom: 10px; }
a.link:hover::after{ height:3px;}
#dyscrollup-btn { position: fixed; right: 30px; bottom: 13%; z-index: 99; vertical-align: top; cursor:pointer; display:none;}

header{ width: 100%; max-height: 100px; padding: 30px !important; background: #fff; overflow: hidden; box-sizing: border-box;}
.main_logo a{ display: inline-block; float: left; }
.main_logo img{ display: inline-block; width: 100%; max-width: 260px;}
.main_nav{ display: inline-block; float: right; margin-top: 15px;}
.main_nav li{ display: inline-block; margin-left: 20px;}
.main_nav li:first-child,.social_set li:first-child{ margin-left: 0;}
.icon_ser,.icon_user,.icon_ham { display: inline-block; width: 24px; }
.icon_ser svg,.icon_user svg,.icon_ham svg{ width:24px; height:24px; color: #363c38;}

.open_menu,.open_search{ position: absolute; top: 5%; left: 0; right: 0; width: 90vw; height:90vh; margin: 0 auto; z-index: 99; padding: 4%; background: rgba(54,60,56,.98); text-align: center; box-sizing: border-box; }
.main_link a{ display: block; color: #fff; padding: 8px; }
.main_link{ margin-top: 5vh; margin-bottom: 30px;}
.social_set li{ display: inline-block; margin-left: 25px; }
.social_set svg{ fill: #fff; width: 24px; height: 24px;}
.close_btn{ position: absolute; right: 4%; top: 5%; fill: #fff; width: 30px;}
.search_box{ width: 100%; max-width: 540px; transform: translate(0,150%); margin: 0 auto 0; }
.search_box form{ position: relative; display: inline-block; width: 100%; border-bottom: solid 1px #fff;}
.search_box button{ display: block; max-width: 120px; margin: 40px auto;  padding: 10px 30px; font-size: 1.1rem; border-radius: 5px; border: solid 1px #fff; color: #fff; background: transparent; cursor: pointer; box-sizing: border-box; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out;}
.search_box button:hover{ background: #fff; color:#363c38;}
.search_box input[type=search] { width: 100%; font-size: 1.1rem; color: #fff; padding: 24px 20px 20px 60px; background: transparent; border: none;box-sizing: border-box; }
.search_box svg{ position: absolute; left: 0; top: 20px; top:5px\9; width: 36px; fill: #fff; }

footer{ width: 100%;  padding: 50px 30px!important; background: #e8e4e2;text-align: center;}
footer .social_set{ display: inline-block; width: 100%; }
.social_set li a:{ line-height: 1; display: block;}
footer .social_set svg{ fill:#363c38; }
.copyright{font-size: 12px; margin-top: 25px; }
.g_logo,.me_logo a{  display: inline-block; position: relative; }

.link_txt{ position: absolute; left:25%; top:30px; font-size: 13px; color:rgba(38,31,28,0);  transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out;}
#g_logo{ width:auto; height: 26px; }
.me_logo_d{ height: 26px;}
.me_logo_m{ display: none; height: 26px;}
.me_logo .link_txt { left: 20%;}
.g_logo a:hover .link_txt{ color:rgba(38,31,28,1);}
.me_logo a:hover .link_txt{ color:rgba(38,31,28,1);}
.loading-color { color: #4285f4;}

@media only screen and (max-width: 640px){
	footer{ text-align: center; }
	.copyright{ float: none; }
	#dyscrollup-btn { bottom: 18%;}
	.link_txt{ top: 30px;}
}

@media only screen and (max-width: 540px){
	#g_logo{border: none; padding: 0; margin: 0;}
	footer { padding: 40px 20px!important;}

}
@media only screen and (max-width: 480px){
	.main_logo img{ max-width: 200px;}
	.open_menu,.open_search{ top: 0; width: 100vw; height: 100vh; }
}

@media only screen and (max-width: 414px){
	header{ padding: 15px;}
	.main_logo a{ margin: 13px 0px 0;}
	.main_logo img { max-width: 185px;}
	.main_link { margin-top: 45%;}
	.me_logo_d{ display: none}
	.me_logo_m { display: block;}
}
@media only screen and (max-width: 375px){
	header{ height: auto; max-height: 23vh;}
	.main_logo img { max-width: 220px;}
	.main_logo{ text-align: center;}
	.main_nav,.main_logo a{ float: none; text-align: center; display: block; }
	.social_set li{ margin-left: 15px;}
	
}
@media only screen and (max-width: 320px){
	header { max-height: 25vh;}
	.main_slider h2 { font-size: 1.8rem;}
	.social_set svg{ width: 22px; height: 22px;}
	#g_logo{ width: auto; height: 22px; margin-top: 15px; margin-left: 0; padding-left: 0; border:none;}
	.me_logo_m{ width: auto; height: 22px;}
}
