/*
Theme Name: Rei Theme
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, 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: 34px; height: 34px; 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-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;}

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



/*		font-style
-------------------------------------------------- */
body { width: 100%;
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",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: "Ubuntu", sans-serif;}

::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;}


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

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



#hd { position: absolute; left: 0; top: 0; width: 100%; z-index: 100;}
#hd .inner-hd { width: 92%; max-width: 1420px; margin: 0 auto; padding: 12px 0;}
#hd .hd-ctn { display: flex; justify-content: space-between; align-items: center;}
#hd .hd-logo { width: 35%; max-width: 420px;}
#hd .hd-logo h1 {}
#hd .hd-logo h1 a { display: block; width: 100%;}
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-nav { width: 64%;}
#hd .hd-nav ul { width: 100%; max-width: 570px; background: #fff; margin: 0 0 0 auto; font-size: 0; text-align: right;}
#hd .hd-nav ul li { position: relative; display: inline-block; font-size: 16px; font-weight: 700; line-height: 1;}
#hd .hd-nav ul li a { display: block; padding: 15px 12px; background: #fff; color: #000; letter-spacing: 0.1rem; text-decoration: none; transition: 0.2s ease;}
#hd .hd-nav ul li:nth-child(1) a { padding: 15px 12px 15px 30px;}
#hd .hd-nav ul li:nth-child(4) a { padding: 15px 30px 15px 20px;}
#hd .hd-nav ul li.contact a { padding: 15px 28px; background: #7671b7; color: #fff;}
#hd .hd-nav ul li a:hover { color: #7671b7;}
#hd .hd-nav ul li.contact a:hover { background: #bab8db; color: #fff;}
@media (max-width: 1001px) {
	#hd .hd-nav ul { width: 100%; max-width: 480px;}
	#hd .hd-nav ul li { font-size: 14px;}
	#hd .hd-nav ul li a { padding: 12px 10px;}
	#hd .hd-nav ul li:nth-child(1) a { padding: 12px 10px 12px 20px;}
	#hd .hd-nav ul li:nth-child(4) a { padding: 12px 20px 12px 15px;}
	#hd .hd-nav ul li.contact a { padding: 12px 20px;}
}
@media (max-width: 801px) {
	#hd .inner-hd { padding: 10px 0;}
	#hd .hd-logo { width: 60%;}
	#hd .hd-nav { display: none;}
}
@media (max-width: 481px) {
}



#sp-menu { display: none; position: fixed; right: 0px; top: 0px; width: 50px; height: 50px; z-index: 200;}
#sp-menu div { position: relative; width: 100%; height: 100%; background: linear-gradient(90deg,#7773b8,#645dad);
 cursor: pointer;
}
#sp-menu div span { display: block; width: 55%; height: 2px; background: #fff; position: absolute; left: 50%; transition: 0.2s linear;}
#sp-menu div span:nth-child(1) { top: 15px; transform: translate(-50%,0);}
#sp-menu div span:nth-child(2) { top: 24px; transform: translate(-50%,0);}
#sp-menu div span:nth-child(3) { top: 33px; transform: translate(-50%,0);}
#sp-menu.active div { background: none;}
#sp-menu.active span:nth-child(1) { animation: menu1 0.3s ease forwards; }
#sp-menu.active span:nth-child(2) { opacity: 0;}
#sp-menu.active span:nth-child(3) { animation: menu2 0.3s ease forwards; }
@keyframes menu1 {
 0% { transform: translate(-50%,0);}
 40% { transform: translate(-50%,9px);}
 80% { transform: translate(-50%,9px);}
 100%{ transform: translate(-50%,9px) rotate(45deg);}
}
@keyframes menu2 {
 0% { transform: translate(-50%,0);}
 40% { transform: translate(-50%,-9px);}
 80% { transform: translate(-50%,-9px);}
 100%{ transform: translate(-50%,-9px) rotate(-45deg);}
}
@media (max-width: 801px) {
	#sp-menu { display: block;}
}
@media (max-width: 481px) {
}



#sp-nav { position: fixed; left: 0; top: -500px; width: 100%; z-index: -1; transition: 0.2s ease; opacity: 0; visibility: hidden;}
#sp-nav.open { z-index: 101; top: 0; opacity: 1; visibility: visible;}
#sp-nav .inner { width: 100%; margin: 0 auto; padding: 15px 0px 60px;
 background: linear-gradient(90deg,#7773b8,#645dad);}
#sp-nav .logo { width: 92%; margin: 0 auto 30px;}
#sp-nav .logo span { display: block; width: 30%; max-width: 240px;}
#sp-nav .logo span img { width: 100%;}
#sp-nav ul { width: 85%; max-width: 400px; margin: 0 auto;}
#sp-nav ul li { padding: 16px 0; font-size: 16px; line-height: 1;}
#sp-nav ul li a { display: block; color: #fff; text-decoration: none;}
#sp-nav ul li a img { display: inline-block;  width: auto; height: 40px;  margin-right: 20px; vertical-align: bottom;}
#sp-nav ul li a span.jp { display: inline-block; vertical-align: bottom; font-size: 14px;}
@media (max-width: 481px) {
	#sp-nav {}
	#sp-nav .inner { padding: 15px 0px 40px;}
	#sp-nav .logo { margin-bottom: 20px;}
	#sp-nav ul li { padding: 10px 0;}
	#sp-nav ul li a img { height: 28px; margin-right: 12px;}
	#sp-nav ul li a span.jp { font-size: 12px;}
}



.pagetop { width: 55px; height: 55px; position: fixed; right: 2%; bottom: 30px; z-index: 100; overflow: hidden;}
.pagetop a { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#7773b8,#645dad);}
.pagetop a:before { content: ''; display: block; width: 23px; height: 23px; border-top: solid 1px #fff; border-right: solid 1px #fff;
 position: absolute; left: 50%; top: 40%; transform: translate(-50%,0) rotate(-45deg);
}
@media (max-width: 481px) {
	.pagetop { width: 40px; height: 40px; right: 2%; bottom: 12px;}
	.pagetop a:before { width: 16px; height: 16px;}
}


#aside-info { background: url('/img/bg-aside.jpg') no-repeat 50% 0 / cover;}
#aside-info .inner-sct { padding: 100px 0 132px;}
#aside-info .ctn { position: relative; display: flex; justify-content: space-between; width: 88%; max-width: 1200px; margin: 0 auto;}
#aside-info .ctn:after { content: ''; display: block; width: 1px; height: 100%; background: #fff;
 position: absolute; left: 50%; top: 0; transition: 0.4s linear; opacity: 0;
}
#aside-info .box { width: 50%; max-width: 500px; padding: 12px 0;
 transition: 0.4s linear; opacity: 0;
}
#aside-info .box:nth-child(2){ transition-delay: 0.2s;}
#aside-info .box .tit { margin-bottom: 30px;}
#aside-info .box .tit h3 { margin-bottom: 20px; text-align: center;}
#aside-info .box .tit h3 img { width: 80%; max-width: 210px;}
#aside-info .box .tit p { color: #fff; font-size: 16px; letter-spacing: 0.1rem; text-align: center;}
#aside-info .box .tel p { color: #fff; font-size: 14px; text-align: center; }
#aside-info .box .tel p a { display: block; width: 90%; max-width: 330px; margin: 0 auto 20px; pointer-events: none;}
#aside-info .box .tel p img { width: 100%;}
#aside-info .box .tel p span{ display: block;}

#aside-info .box .link p { font-size: 20px; font-weight: 700; text-align: center; }
#aside-info .box .link p a { position: relative; display: inline-block; color: #fff; text-decoration: none; text-align: left;}
#aside-info .box .link p a:before,
#aside-info .box .link p a:after { content: ''; display: block; position: absolute;}
#aside-info .box .link p a:before{ width: 100%; height: 2px; background: #fff; left: 0; bottom: 0;}
#aside-info .box .link p a:after { width: 18px; height: 18px; right: 0; top: 8px; transition: 0.3s ease;
 background: url('/img/arw.svg') no-repeat 50% 50% / 100% auto;
}
#aside-info .box .link p span { display: block; padding: 0 40px 8px 0;}
#aside-info .box .link p a:hover:before { animation: uline 0.3s ease;}
#aside-info .box .link p a:hover:after { transform: translateX(8px);}
#aside-info.show .ctn:after,
#aside-info.show .box { opacity: 1;}
@keyframes uline {
  0% { width: 0%;}
 100%{ width: 100%;}
}
@media (max-width: 641px) {
	#aside-info .inner-sct { padding: 60px 0px;}
	#aside-info .ctn { display: block;}
	#aside-info .ctn:after { width: 80%; height: 0.5px; top: 52%; transform: translate(-50%,0%)}
	#aside-info .box { width: 100%; margin: 0 auto; padding: 30px 0;}
}
@media (max-width: 481px) {
	#aside-info .inner-sct { padding: 20px 0px;}
	#aside-info .box .tit { margin-bottom: 20px;}
	#aside-info .box .tit h3 { margin-bottom: 8px;}
	#aside-info .box .tit h3 img { width: 48%; max-width: 210px;}
	#aside-info .box .tit p { font-size: 12px;}

	#aside-info .box .tel p { font-size: 11px;}
	#aside-info .box .tel p a { width: 80%; margin: 0 auto 12px;}
	#aside-info .box .link p { font-size: 14px;}
	#aside-info .box .link p span { padding: 0 26px 4px 0; border-width: 1px;}
	#aside-info .box .link p a:after { top: 4px; width: 14px; height: 14px;}
}


#ft { background: linear-gradient(90deg,#7773b8,#645dad);}
#ft .inner-ft { position: relative; padding: 72px 0 90px;}
#ft .inner-ft:after { content: ''; display: block; width: 100%; height: 150px;
 background: url('/img/ft-txt.svg') no-repeat 150px 0 / auto 160px;
 position: absolute; left: 0; bottom: 0;
}
#ft .ft-ctn { position: relative; z-index: 2; display: flex; justify-content: space-between; width: 88%; max-width: 1200px; margin: 0 auto;}
#ft .ft-txt { width: 35%;}
#ft .ft-txt h3 { margin-bottom: 30px; color: #fff; line-height: 1;}
#ft .ft-txt h3 a { display: block; width: 100%; max-width: 200px;}
#ft .ft-txt h3 a img { width: 100%;}
#ft .ft-txt p { color: #fff; font-size: 15px; letter-spacing: 0.1rem;}
#ft .ft-txt p span { display: block;}

#ft .ft-nav { width: 65%;}
#ft .ft-nav ul { font-size: 0; text-align: right;}
#ft .ft-nav ul li { display: inline-block; line-height: 1; vertical-align: middle;}
#ft .ft-nav ul.links { margin-bottom: 30px;}
#ft .ft-nav ul.links li { padding: 0px 15px; font-size: 16px;}
#ft .ft-nav ul.links li:last-child { padding-right: 0px;}
#ft .ft-nav ul.links li a { color: #fff; font-weight: 700; text-decoration: none;}
#ft .ft-nav ul.links li a:hover { text-decoration: underline; text-underline-offset: 4px;}

#ft .ft-nav ul.sns { margin-bottom: 30px;}
#ft .ft-nav ul.sns li { width: 50px;}
#ft .ft-nav ul.sns li a { display: block; width: 36px; margin: 0 auto;}
#ft .ft-nav ul.sns li a img { width: 100%;}
#ft .ft-nav ul.sns li a:hover img { opacity: 0.6;}

#ft .ft-nav .copyright { }
#ft .ft-nav .copyright p { color: #fff; font-size: 12px; text-align: right;}
@media (max-width: 801px) {
	#ft .ft-nav ul.links {display: none;}
}
@media (max-width: 641px) {
	#ft .inner-ft { padding: 50px 0 90px;}
	#ft .ft-ctn { display: block;}
	#ft .ft-txt { width: 100%; margin-bottom: 20px;}
	#ft .ft-txt p span { display: inline-block; margin-right: 6px;}
	#ft .ft-nav { width: 100%;}
	#ft .ft-nav ul { text-align: left;}
	#ft .ft-nav ul.sns { margin-bottom: 20px;}
	#ft .ft-nav .copyright p { text-align: left;}
	#ft .inner-ft:after { height: 100px; background-position: 0 0; background-size: auto 100px;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 30px 0 40px;}
	#ft .ft-txt h3 { margin-bottom: 20px;}
	#ft .ft-txt h3 a { width: 45%; max-width: 150px;}
	#ft .ft-txt p { font-size: 11px; letter-spacing: 0.02rem;}
	#ft .ft-nav .copyright p { font-size: 10px;}
	#ft .ft-nav ul.sns li { width: 45px;}
	#ft .ft-nav ul.sns li a { width: 32px;}
	#ft .inner-ft:after { height: 60px; background-size: auto 60px;}
}


#contact .inner-sct { position: relative; padding: 280px 0 80px;}
#contact .ttl { position: relative; width: 88%; max-width: 1200px; margin: 0 auto 50px; z-index: 3;}
#contact .ttl h2 img { width: 60%; max-width: 460px; }
#contact .ctn { position: relative; width: 88%; max-width: 1200px; margin: 0 auto; z-index: 2;}
#contact .ctn ul { width: 100%; max-width: 940px; margin: 0 auto;}
#contact .ctn ul li { padding: 14px 0;}
#contact .ctn ul li dl { display: table; width: 100%; border: solid 1px #000;}
#contact .ctn ul li dl dt,
#contact .ctn ul li dl dd { display: table-cell; line-height: 1.2; vertical-align: middle;}
#contact .ctn ul li dl dt { width: 40%; font-size: 24px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#contact .ctn ul li dl dd { width: auto; padding: 40px 20px;}
#contact .ctn ul li dl dd a{ display: block; width: 100%; margin: 0 auto; text-decoration: none;}
#contact .ctn ul li dl dd a.tel { max-width: 420px; pointer-events: none;}
#contact .ctn ul li dl dd a.tel img { width: 100%;}
#contact .ctn ul li dl dd a.line { max-width: 400px; padding: 12px 0; background: #000; color: #fff; font-size: 22px; font-weight: 700; text-align: center;}
#contact .ctn ul li dl dd a.line:before { content: ''; display: inline-block; width: 36px; height: 35px; margin-right: 20px; vertical-align: middle;
 background: url('/img/icn-line.svg') no-repeat 50% 50% / 100% auto;
}
#contact .ctn ul li dl dd a.line span { display: inline-block; vertical-align: middle;}
#contact .ctn ul li dl dd a.form { max-width: 400px; padding: 16px 0; background: #000; color: #fff; font-size: 22px; font-weight: 700; text-align: center;}

@media (max-width: 481px) {
	#contact .ctn ul li dl dd a.form {}
}
