/*
Theme Name: 吉村建設テーマ
Theme URI: 
Author: the WordPress team
Author URI: 
Description: 
Version: 1.0
Tags: 
*/


/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; top: 50%; transform: translateY(-50%);
 background: #000; border: none; border-radius: 50%; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 0px; height: 0px; top: 50%; transform: translateY(-50%);}
.slick-prev:before { left: 30%; border: solid 9px transparent; border-right: solid 16px #fff; border-left: 0;}
.slick-next:before { right: 30%; border: solid 9px transparent; border-left: solid 16px #fff; border-right: 0;}

/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0;
	width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black;
}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}



/* Magnific Popup CSS */
.mfp-bg { position: fixed; top: 0; left: 0; z-index: 1042; width: 100%; height: 100%; overflow: hidden; background: rgba(64,115,195, 0.68); }
.mfp-wrap { position: fixed; top: 0; left: 0; z-index: 1043; width: 100%; height: 100%; outline: none !important; -webkit-backface-visibility: hidden;}
.mfp-container { position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding: 0 8px; text-align: center;}

.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle;}
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045;}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; }
.mfp-ajax-cur { cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; }
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; }
.mfp-auto-cursor .mfp-content { cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.mfp-loading.mfp-figure { display: none; }
.mfp-hide { display: none !important; }
.mfp-preloader { position: absolute; top: 50%; left: 8px; right: 8px; z-index: 1044; 
width: auto; margin-top: -0.8em; color: #CCC; text-align: center;}
.mfp-preloader a { color: #CCC; }
.mfp-preloader a:hover { color: #FFF; }
.mfp-s-ready .mfp-preloader { 	display: none; }
.mfp-s-error .mfp-content { display: none; }
button.mfp-close,
button.mfp-arrow { overflow: visible; cursor: pointer; border: 0; -webkit-appearance: none;
display: block; outline: none; padding: 0; z-index: 1046; box-shadow: none; touch-action: manipulation; }

button::-moz-focus-inner { padding: 0; border: 0;}
.mfp-close { position: absolute; right: 0%; top: 0px; width: 42px; height: 42px;
 color: #FFF; font-style: normal; font-size: 28px; text-decoration: none; font-size: 0px; text-indent: -9999em;}
.mfp-close:before,
.mfp-close:after { content: ''; display: block; width: 1px; height: 42px; position: absolute; top: 0;}
.mfp-close:before{ transform: rotate(45deg);}
.mfp-close:after { transform: rotate(-45deg);}

.mfp-close-btn-in .mfp-close { color: #333; }
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close { width: 50%; right: 0%; color: #FFF; text-align: right; }
.mfp-counter { position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap; }

.mfp-arrow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 50px; height: 100px; -webkit-tap-highlight-color: transparent; background: transparent;}
.mfp-arrow:hover,
.mfp-arrow:focus { opacity: 0.8;}
.mfp-arrow:before { content: ''; display: block; width: 0; height: 0; position: absolute; top: 50%; transform: translateY(-50%); border: solid 50px transparent;}

.mfp-arrow-left { }
.mfp-arrow-left:before { left: 10px; border-right: 22px solid #fff;  border-left: 0px;}

.mfp-arrow-right { }
.mfp-arrow-right:before { left: 20px; border-left: 22px solid #fff; border-right: 0px; }


.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px; }
.mfp-iframe-holder .mfp-close { top: -40px; }

.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25%; }
.mfp-iframe-scaler iframe { position: absolute; top: 0; left: 0;
 display: block; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000;
}

/* Main image in popup */
img.mfp-img { display: block; width: auto; max-width: 100%; height: auto; line-height: 0; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure { line-height: 0; }
.mfp-figure small { display: block; color: #BDBDBD; font-size: 12px; line-height: 14px; }
.mfp-figure figure{ margin: 0; }

.mfp-bottom-bar { width: 100%; margin-top: -36px; position: absolute; top: 100%; left: 0; cursor: auto; }

.mfp-title { padding-right: 36px; color: #F3F3F3; text-align: left; line-height: 18px; word-wrap: break-word; }

.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	/**
	 * Remove all paddings around the image on small screen
	 */
	.mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
	.mfp-img-mobile img.mfp-img { padding: 0; }
	.mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
	.mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
	.mfp-img-mobile .mfp-bottom-bar { background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box; }
	.mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
	.mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
	.mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0; }
}

@media all and (max-width: 901px) {
	.mfp-container { padding-left: 6px; padding-right: 6px; }
}

@media (max-width: 481px) {
	.mfp-image-holder .mfp-close,
	.mfp-iframe-holder .mfp-close { width: 40%; right: 8%;}
	.mfp-arrow { width: 30px; height: 60px;}
	.mfp-arrow:before { border: solid 30px transparent;}
	
	.mfp-arrow-left { }
	.mfp-arrow-left:before { left: 6px; border-right: 12px solid #fff; border-left: 0px;}
	
	.mfp-arrow-right { }
	.mfp-arrow-right:before { left: 12px; border-left: 12px solid #fff; border-right: 0px;}


	.mfp-figure figure img { max-width: 90%;}
}




@media (max-width: 481px) {
}
@media (max-width: 481px) {
}



/*		font-style
-------------------------------------------------- */
body {
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;*/
/*	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;*/
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min { font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: "Oswald", sans-serif; font-optical-sizing: auto;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}

body.fixed { position: fixed;}

/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}





.wrap { position: relative; width: 100%; overflow: hidden; padding-top: 90px;}
@media (max-width: 1281px) {
	.wrap { padding-top: 62px;}
}
@media (max-width: 1001px) {
	.wrap { padding-top: 56px;}
}
@media (max-width: 481px) {
	.wrap { padding-top: 48px;}
}




#hd { position: absolute; left: 0; top: 0; width: 100%; background: #fff; z-index: 101;}
#hd .inner-hd { position: relative; width: 96%; margin: 0 auto; padding: 18px 0;}
#hd .hd-ctn { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%;}
#hd .hd-logo { width: 260px;}
#hd .hd-nav { flex: 1;}
#hd .hd-tel { position: relative; width: 230px; padding-left: 16px;}
#hd .hd-sound { position: relative; width: 80px; }

#hd .hd-tel:before,
#hd .hd-sound:before { content: ''; display: block; width: 1px; height: 45px; background: #969696;
 position: absolute; left: 0px; top: 50%; transform: translateY(-50%);
}

#hd .hd-logo h1 a { display: block; width: 100%;}
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-nav ul { font-size: 0; text-align: right;}
#hd .hd-nav ul li { position: relative; display: inline-block; padding: 5px 18px; font-size: 16px; vertical-align: middle;}
#hd .hd-nav ul li::before { content: ''; display: block; width: 1px; height: 100%; background: #969696; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(20deg);}
#hd .hd-nav ul li:first-child:before { content: none;}
#hd .hd-nav ul li:last-child:before { content: none;}
#hd .hd-nav ul li a { color: #000; font-weight: 700; letter-spacing: 0.1rem; text-decoration: none;}
#hd .hd-nav ul li a:hover { color: #4172c4;}
#hd .hd-nav ul li a.contact { position: relative; padding: 12px 20px;}
#hd .hd-nav ul li a.contact span { position: relative; z-index: 2; color: #fff;}
#hd .hd-nav ul li a.contact:after { content: ''; display: block; width: 100%; height: 100%; background: #4172c4;
 clip-path: polygon(10% 0, 90% 0%, 100% 24%, 100% 76%, 90% 100%, 10% 100%, 0% 76%, 0% 24%);
 position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 1;
}
#hd .hd-nav ul li a.contact:hover { opacity: 0.8;}
#hd .hd-tel a { display: block; width: 100%; max-width: 210px; line-height: 1.2; color: #000; pointer-events: none;}
#hd .hd-tel a svg { display: inline-block; width: 25px; fill: #4172c4; margin-right: 4px; vertical-align: baseline;}
#hd .hd-tel a span{ display: inline-block; vertical-align: baseline;}
#hd .hd-tel a span em { display: block; text-align: center;}
#hd .hd-tel a span em.eng { font-size: 27px; font-weight: 700; letter-spacing: 0.08rem;}
#hd .hd-tel a span em.time{ font-size: 14px; letter-spacing: 0.08rem;}
#hd .hd-sound { width: 80px; }
#hd .hd-sound dl { text-align: center;}
#hd .hd-sound dl dt,
#hd .hd-sound dl dd { font-size: 16px; font-weight: 700;}
#hd .hd-sound dl dd { color: #4072c3;}
#hd .hd-sound dl dd button { display: block; width: 90%; margin: 0 auto; line-height: 1; border: none;}
#hd .hd-sound dl dd svg { display: inline-block; width: 20px; margin-right: 4px; fill: #4072c3; vertical-align: middle;}
#hd .hd-sound dl dd span { display: inline-block; vertical-align: middle;}
#hd .menu-btn { display: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 40px; height: 40px;}
#hd .menu-btn div { position: relative; width: 100%; height: 100%; cursor: pointer;}
#hd .menu-btn div span { display: block; width: 72%; height: 2px; background: #000; position: absolute; left: 50%; transition: 0.3s ease; transform: translate(-50%,0);}
#hd .menu-btn div span:nth-child(1){ top: 10px;}
#hd .menu-btn div span:nth-child(2){ top: 18px;}
#hd .menu-btn div span:nth-child(3){ top: 26px;}
#hd .menu-btn.active div span:nth-child(1){ animation: 0.3s menu1 ease forwards;}
#hd .menu-btn.active div span:nth-child(2){ opacity: 0;}
#hd .menu-btn.active div span:nth-child(3){ animation: 0.3s menu2 ease forwards;}
@media (max-width: 1281px) {
	#hd .inner-hd { padding: 12px 0;}
	#hd .hd-logo { width: 180px;}
	#hd .hd-tel { width: 180px; padding-left: 12px;}
	
	#hd .hd-nav ul li { padding: 4px 8px; font-size: 14px;}
	#hd .hd-nav ul li a.contact { padding: 8px 12px;}
	#hd .hd-tel a svg { width: 18px; margin-right: 5px;}
	#hd .hd-tel a span em.eng { font-size: 20px;}
	#hd .hd-tel a span em.time{ font-size: 10px;}
}
@media (max-width: 1001px) {
	#hd .hd-logo { width: 100px;}
	#hd .hd-nav ul li { padding: 2px 6px; font-size: 12px;}
	#hd .hd-nav ul li a.contact { padding: 8px 12px;}
	#hd .hd-tel { width: 160px; padding-left: 10px;}
	#hd .hd-tel a svg { width: 14px; margin-right: 5px; vertical-align: middle;}
	#hd .hd-tel a span{ vertical-align: middle;}
	#hd .hd-tel a span em.eng { font-size: 18px;}
	#hd .hd-sound { width: 60px;}
	#hd .hd-sound dl dt,
	#hd .hd-sound dl dd { font-size: 14px;}
}
@media (max-width: 801px) {
	#hd .hd-logo { width: 150px;}
	#hd .hd-nav { display: none;}
	#hd .hd-tel { display: none;}
	#hd .menu-btn { display: block;}
	#hd .hd-sound { position: absolute; width: 100px; right: 45px;}
	#hd .hd-sound:before { content: none;}
	#hd .hd-sound dl { font-size: 0; text-align: center;}
	#hd .hd-sound dl dt,
	#hd .hd-sound dl dd{ display: inline-block; width: 50%; vertical-align: middle;}
}
@media (max-width: 481px) {
	#hd .inner-hd { padding: 8px 0;}
}
@keyframes menu1 {
	 0% { transform: translate(-50%,0);}
	50% { transform: translate(-50%,8px) rotate(0deg);}
	81% { transform: translate(-50%,8px) rotate(0deg);}
	100%{ transform: translate(-50%,8px) rotate(25deg);}
}
@keyframes menu2 {
	 0% { transform: translate(-50%,0);}
	50% { transform: translate(-50%,-8px) rotate(0deg);}
	81% { transform: translate(-50%,-8px) rotate(0deg);}
	100%{ transform: translate(-50%,-8px) rotate(-25deg);}
}


#sp-nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100svh; z-index: 100;
 transition: 0.3s ease; visibility: hidden; opacity: 0;
}
#sp-nav.open { visibility: visible; opacity: 1;}
#sp-nav .inner { width: 100%; height: 100%; padding-top: 56px; background: #e6edf7; }
#sp-nav .scroll{ width: 100%; height: 100%; overflow-y: scroll; padding: 0px 0px 50px;}
#sp-nav ul { width: 90%; max-width: 600px; margin: 0 auto 30px;}
#sp-nav ul li { padding: 6px; border-bottom: solid 1px #c5ccd5;}
#sp-nav ul li a { display: block; padding: 8px 0; color: #000; text-decoration: none;}
#sp-nav ul li a:hover { color: #4072c3;}
#sp-nav h3 { position: relative; margin-bottom: 20px; color: #4072c3; font-size: 21px; font-weight: 700; text-align: center;}
#sp-nav h3:after { content: ''; display: block; width: 50%; max-width: 220px; height: 2px; background: #4072c3;
 position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
}
#sp-nav h3 span { position: relative; display: inline-block; padding: 0 20px; background: #e6edf7; z-index: 2;}
#sp-nav .contact-form { width: 72%; max-width: 400px; margin: 0 auto 20px;}
#sp-nav .contact-form a { position: relative; display: block; font-size: 20px; text-align: center; text-decoration: none;}
#sp-nav .contact-form a span { position: relative; display: block; padding: 20px 0; z-index: 3; color: #fff; font-weight: 700; letter-spacing: 0.1rem;}
#sp-nav .contact-form a:before,
#sp-nav .contact-form a:after { content: ''; display: block; width: 100%; height: 100%;
 clip-path: polygon(4% 0, 96% 0%, 100% 20%, 100% 80%, 96% 100%, 4% 100%, 0% 80%, 0% 20%);
}
#sp-nav .contact-form a:before{ background: #4172c4; position: absolute; left: 0; top: 0; z-index: 2;}
#sp-nav .contact-form a:after { background: #cbd8eb; position: absolute; left: 5px; top: 5px; z-index: 1;}

#sp-nav .contact-tel { width: 100%;}
#sp-nav .contact-tel ul { display: block; width: 72%; max-width: 400px; margin: 0 auto; font-size: 0px;}
#sp-nav .contact-tel ul li { width: 100%; padding: 10px 0; border: none;}
#sp-nav .contact-tel ul li span { display: block; padding: 3px; background: #fff; box-shadow: 5px 5px 0 #bacce9;}
#sp-nav .contact-tel ul li a { position: relative; display: block; border: solid 2px #4072c3; pointer-events: none; color: #4072c3; text-decoration: none;}
#sp-nav .contact-tel ul li dl { padding: 8px 0 10px; color: #4072c3; line-height: 1.2; text-align: center;}
#sp-nav .contact-tel ul li dl dt { font-size: 20px; font-weight: 700; letter-spacing: 0.08rem;}
#sp-nav .contact-tel ul li dl dd { font-size: 36px; font-weight: 700; letter-spacing: 0.05rem;}
@media (max-width: 641px) {
	#sp-nav .contact-form a { font-size: 16px;}
	#sp-nav .contact-tel ul li a:before { content: ''; display: block; width: 0px; height: 0px; border: solid 8px transparent;
	 border-left: solid 15px #4072c3;
	 position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
	}
	#sp-nav .contact-tel ul li dl dt { font-size: 16px;}
	#sp-nav .contact-tel ul li dl dd { font-size: 24px;}
}
@media (max-width: 481px) {
	#sp-nav .inner { padding-top: 48px;}
	#sp-nav ul li { font-size: 14px;}
	#sp-nav ul li a { padding: 6px 0;}

	#sp-nav h3 { margin-bottom: 12px; font-size: 18px;}
	#sp-nav h3:after { max-width: 180px; height: 2px;}
	#sp-nav h3 span { padding: 0 12px;}

	#sp-nav .contact-form { max-width: 260px; margin: 0 auto 12px;}
	#sp-nav .contact-form a { font-size: 14px;}
	#sp-nav .contact-form a:after { left: 3px; top: 3px;}
	#sp-nav .contact-form a span { padding: 15px 0;}


	#sp-nav .contact-tel ul { max-width: 260px;}
	#sp-nav .contact-tel ul li { padding: 6px 0;}
	#sp-nav .contact-tel ul li span { box-shadow: 3px 3px 0 #bacce9;}
	#sp-nav .contact-tel ul li a { border-width: 1px; pointer-events: visible;}
	#sp-nav .contact-tel ul li a:before { left: 25px; border: solid 5px transparent; border-left: solid 10px #4072c3;}
	#sp-nav .contact-tel ul li dl { padding: 4px 0 6px; padding-left: 20px;}
	#sp-nav .contact-tel ul li dl dt { font-size: 13px;}
	#sp-nav .contact-tel ul li dl dd { font-size: 23px;}
	
	#sp-nav .contact-tel p { text-align: center;}
	#sp-nav .contact-tel p img { width: 100%; max-width: 220px;}

	#sp-nav .contact-form a:before,
	#sp-nav .contact-form a:after { clip-path: polygon(4% 0, 96% 0%, 100% 16%, 100% 82%, 96% 100%, 4% 100%, 0% 82%, 0% 16%);}

}



.pagetop { position: fixed; right: 4%; bottom: 50px; width: 82px; z-index: 90;}
.pagetop a { display: block; width: 100%;}
.pagetop a img { width: 100%;}
.pagetop a:hover { opacity: 0.8;}
@media (max-width: 481px) {
	.pagetop { width: 50px; bottom: 20px;}
}



#ft { background: #e6edf7;}
#ft .ft-nav { border-bottom: solid 1px #c8c8c8; }
#ft .ft-nav ul { padding: 28px 0; font-size: 0; text-align: center;}
#ft .ft-nav ul li { display: inline-block; padding: 0 24px; font-size: 20px;}
#ft .ft-nav ul li a { color: #000; letter-spacing: 0.1rem; text-decoration: none;}
#ft .ft-nav ul li a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}

#ft .ft-ctn { position: relative; width: 94%; max-width: 1000px; margin: 0 auto; padding: 50px 0; padding-left: 320px;}
#ft .ft-ctn .ft-logo { position: absolute; left: 0; top: 55px; width: 260px;}
#ft .ft-ctn .ft-logo h3 a { display: block;}
#ft .ft-ctn .ft-logo h3 a img { width: 100%;}
#ft .ft-ctn ul li { margin-bottom: 30px;}
#ft .ft-ctn ul li:last-child { margin-bottom: 0px;}
#ft .ft-ctn ul li dl dt { font-size: 20px; letter-spacing: 0.1rem;}
#ft .ft-ctn ul li dl dd { font-size: 16px; letter-spacing: 0.05rem;}

#ft .copyright { padding: 20px 0;}
#ft .copyright p { font-size: 14px; text-align: center;}
@media (max-width: 1001px) {
	#ft .ft-nav ul li { padding: 0 20px; font-size: 16px;}
	
	#ft .ft-ctn { padding: 40px 0; padding-left: 240px;}
	#ft .ft-ctn .ft-logo { top: 45px; width: 200px;}
	#ft .ft-ctn ul li dl dt { font-size: 16px;}
	#ft .ft-ctn ul li dl dd { font-size: 14px;}
}
@media (max-width: 801px) {
	#ft .ft-nav { display: none;}
}
@media (max-width: 641px) {	
	#ft .ft-ctn { width: 80%; padding: 40px 0;}
	#ft .ft-ctn .ft-logo { position: relative; 0; left: auto; top: auto; width: 200px; margin-bottom: 20px;}
	#ft .ft-ctn ul li { margin-bottom: 12px;}
	#ft .ft-ctn ul li dl dt { font-size: 14px;}
	#ft .ft-ctn ul li dl dd { font-size: 12px;}

	#ft .copyright { padding: 12px 0;}
	#ft .copyright p { font-size: 10px;}
}



.hex { position: absolute;}
.hex .draw:before { content: ''; display: block; width: 100%; padding-top: 115%; background: #e9edf7;
clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hex .stroke { position: relative;}
.hex .stroke:before,
.hex .stroke:after { content: ''; display: block; width: 100%; padding-top: 115%;
clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hex .stroke:before { background: #4172c4;}
.hex .stroke:after { position: absolute; left: 50%; top: 50%; background: #fff; transform: translate(-50%,-50%) scale(0.92);}


.ttl { position: relative;}
.ttl:after { display: block; width: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%) skewX(-8deg);
 color: #e3eaf6; font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-size: clamp(50px, 15vw, 150px); font-weight: 700; line-height: 1;
}
.ttl h2 { position: relative; z-index: 2; color: #4172c4; font-size: clamp(30px, 4.5vw, 45px); font-weight: 700; letter-spacing: 0.1rem; line-height: 1; text-align: center;}
@media (max-width: 481px) {
	.ttl:after { font-size: 68px;}
	.ttl h2 { font-size: 21px;}
}


.btn-more {}
.btn-more a { position: relative; display: block; font-size: 18px; text-decoration: none; transition: 0.3s ease;}
.btn-more a::before,
.btn-more a::after { content: ''; display: block; width: 100%; height: 100%; position: absolute;
 clip-path: polygon(6% 0, 94% 0%, 100% 24%, 100% 76%, 94% 100%, 6% 100%, 0% 76%, 0% 24%); transition: 0.3s ease;
}
.btn-more a::before{ background: #4172c4; left: 0; top: 0; z-index: 2;}
.btn-more a::after { left: 4px; top: 4px; background: #cbd8eb; z-index: 1;}
.btn-more a span { position: relative; display: block; width: 100%; padding: 14px; color: #fff; font-weight: 700; text-align: center; z-index: 3;}
.btn-more a span:after { content: ''; position: relative; display: inline-block; width: 0; height: 0; margin-left: 15px; vertical-align: middle;
 border: solid 5px transparent; border-left: solid 10px #fff; border-right: 0; transform: translateY(-2px);
}
.btn-more a:hover { opacity: 0.8;}
.btn-more a:hover:after { left: 2px; top: 2px;}
@media (max-width: 481px) {
	.btn-more a { font-size: 14px;}
	.btn-more a::before,
	.btn-more a::after { clip-path: polygon(4% 0, 96% 0%, 100% 14%, 100% 86%, 96% 100%, 4% 100%, 0% 86%, 0% 14%);}
	.btn-more a span { padding: 10px 0;}
}


.wpcf7-spinner { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}