@charset "UTF-8";
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');


/*------------------------normalize*/
html {-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {display: block;}audio,canvas,progress,video {display: inline-block; vertical-align: baseline;}a {background: transparent;}a:active,a:hover {outline: 0;}sub,sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}sup {top: -0.5em;}sub {bottom: -0.25em;}img {border: 0;}svg:not(:root) {overflow: hidden;}figure {margin: 0;}hr {-moz-box-sizing: content-box; box-sizing: content-box; height: 0;}pre {overflow: auto;}button,input,optgroup,select,textarea {color: inherit; font: inherit; margin: 0;}button {overflow: visible;}button,select {text-transform: none;}button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button; cursor: pointer;}button[disabled],html input[disabled] {cursor: default;}button::-moz-focus-inner,input::-moz-focus-inner {border: 0; padding: 0;}input {line-height: normal;}input[type="checkbox"],input[type="radio"] {box-sizing: border-box; padding: 0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}fieldset {border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}textarea {overflow: auto;}table {border-collapse: collapse; border-spacing: 0;}td,th {padding: 0;}img{ vertical-align: bottom;}
button{ border:none;}button:focus{ outline:none;}table { border-collapse: collapse; border-spacing: 0;}
*{ box-sizing: border-box;}
ul, ol{ margin: 0; padding: 0; list-style: none; }
dl, dt, dd{ margin: 0; padding: 0;}
/*------------------------normalizeEnd*/

body {
	background:#fff;
	background-image: url(../img/bg.gif);
	font-family: "Zen Kaku Gothic New", sans-serif;
	color:#000;
	margin:0 auto;
	text-align:left;
	font-size:15px;
line-height: 1.7;
}

h1, h2, h3, h4, h5, h6, p, ul{ margin: 0; padding: 0;}
h1,
h2,
h3,
h4,
h5,
h6{font-family: "Open Sans", sans-serif;}

h2{ font-size: 50px; text-align: center; letter-spacing: 2px; margin-bottom: 50px;}
h2 span{ display: block; font-size: 15px; color: #666;}

p{ line-height: 1.7em;}
@media screen and (max-width: 1080px) {
p{ font-size: 12px;}
}

#Mes h2 { text-align: left;}
#Mes h2 span{ display: inline; font-size: 20px; padding-left: 2em;}

p.job{ text-align: right;}
p.job span{ font-size: 15px;}
@media screen and (max-width: 1080px) {
h2{ font-size: 30px; margin-bottom: 30px;}

#Mes h2 span{ display: block; font-size: 15px; padding: 0;}
p.job span{ font-size: 10px;}
}




.zen { font-family: "Zen Kaku Gothic New", sans-serif;}
.openSans{
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
}


/*------*/
section{ width: 100%; max-width: 1080px; margin: 0 auto;}
@media screen and (max-width: 1080px) {
main section{ padding: 25px;}
}

article{}
address{ font-style:normal;}

a{word-break: break-all;}
a:link, a:visited{ color:#000;}/*007ab0*/
a:hover{ opacity: 0.6; transition: 0.4s; color:#666;}/*0099FF*/
area { outline:none; }



/*------*/



/*------------------------Style*/
header{ width: 100%; max-width: 1260px; margin: 0 auto; padding: 30px 0; display: flex; justify-content: space-between; align-items: center;}
header h1{}
@media screen and (max-width: 1080px) {
header { padding: 0 0 20px;}
header h1 img{ height: 30px; margin: 0 20px;}
}


main{ text-align:left;}




/*---wrapBox---*/
.wrapBox{ position: relative;}
@media screen and (max-width: 1080px) {
.wrapBox{ overflow: hidden;}
}


/* mainBox */
.mainBox{ position: relative; width: 100%; max-width: 1260px; height: 600px; margin: 0 auto 140px; background: url(../img/KTEC_pc.jpg); background-size: cover;}
.mainBox p{ margin-bottom: 0; position: absolute; left: 60px; bottom: 60px; font-size: 30px; font-weight: bold; color: #fff;}
@media screen and (max-width: 1080px) {
.mainBox{ width: 347px; height: 400px; margin-bottom: 50px;
background: url(../img/KTEC_sp.jpg);
background-size: cover;
}
.mainBox p{ left: 20px; bottom: 20px; font-size: 15px;}
}


.triangle01 { position: absolute; top: 40px;
	width: 630px;
	height: 650px;
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
	background: #FFBA5C;
}
.triangle02 {
	right: 0;
	top: 230px;
	position: absolute;
	width: 310px;
	height: 650px;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	background: #FDE202;
}
@media screen and (max-width: 1080px) {
.triangle01 {
	top: 250px;
	width: 178px;
	height: 178px;

}
.triangle02 {
top: 0;
width: 85px;
height: 345px;
clip-path: polygon(0 0, 100% 0, 100% 100%);
}
}





/* Mes */
#Mes{ padding-top: 30px; padding-bottom: 110px; width: 100%; max-width: 720px;}
#Mes h2{ margin-bottom: 20px;}
#Mes p{ font-size: 20px; margin-bottom: 1em; line-height: 2;}
@media screen and (max-width: 1080px) {
#Mes{ padding-top: 0; padding-bottom: 40px;}
#Mes h2{ text-align: center;}
#Mes p{ font-size: 12px; margin-bottom: 0; font-weight: bold;}
}


.triangleMes {
position: absolute;
top: 390px;
width: 320px;
height: 400px;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
background: #FDE202;
z-index: -1;
}
@media screen and (max-width: 1080px) {
.triangleMes {
top: 310px;
width: 115px;
height: 124px;
}
}




/* Biz */
#Biz{}
#Biz .flexBox{ align-items: center; margin-bottom: 80px;}

#Biz .flex02{ flex-direction: row-reverse;}

#Biz .fitImg{}
#Biz .fitImg img{ height: 400px;}

#Biz .flexBox section { max-width: 340px;}
#Biz .flexBox section h3{ font-size: 30px; margin-bottom: 30px;}
#Biz .flexBox section p{ font-size: 18px;}

@media screen and (max-width: 1080px) {
#Biz{ margin-bottom: 100px;}
#Biz .flexBox{ display: block; margin-bottom: 20px;}
#Biz .fitImg img{ height: auto;}

#Biz .flexBox section{ width: 100%; max-width: 100%; margin: 0; padding: 1em 0 10px;}
#Biz .flexBox section h3{ text-align: center; font-size: 20px; margin-bottom: 20px;}
#Biz .flexBox section p{ font-size: 12px;}
}

.achievements{ margin-bottom: 200px; padding: 50px 1em; border: 1px solid #F3F4F8; background: #fff;}
.achievements h4{ text-align: center; font-size: 20px; margin-bottom: 50px;}
.achievements ul{ width: 100%; max-width: 380px; margin: 0 auto; font-size: 15px;}
.achievements ul li{ margin-left: 1em; text-indent: -1.5em;}
.achievements ul li::before {
list-style: none;
content: "■";
color: #FFBA5C;
padding-right: 0.5em;
}
@media screen and (max-width: 1080px) {
.achievements{ margin-bottom: 0px; padding: 20px;}
.achievements h4{  margin-bottom: 1em;}
.achievements ul{ width: 90%; max-width: 380px; margin: 0 auto; font-size: 12px;}
.achievements ul li{ line-height: 2;}
}


.triangle03 {
position: absolute;
bottom: -210px;
width: 220px;
height: 400px;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
background: #FDE202;
}
.triangle04 { z-index: -1;
right: 0;
bottom: -100px;
position: absolute;
width: 490px;
height: 220px;
clip-path: polygon(100% 0, 100% 100%, 0 100%);
background: #FFBA5C;
}
@media screen and (max-width: 1080px) {
.triangle03 {
top: 1760px;
width: 74px;
height: 134px;
z-index: -1;
}
.triangle04 {
top: 1760px;
width: 214px;
height: 95px;
}
}



/* dlBox */
.dlBox{border-top: solid 1px #ccc; position: relative; max-width: 720px; margin: 0 auto 100px;}
.dlBox dt { position: absolute; left: 0; padding: 20px 0 0;}
.dlBox dd { border-bottom: solid 1px #ccc; padding: 20px 0 20px 10em;}
@media screen and (max-width: 1080px) {
.dlBox{ margin-bottom: 50px;}
.dlBox dt{ position: relative; border: none; padding: 10px 0 0;}
.dlBox dd {padding: 10px 0;}
}


/* map */
.mapBox { width: 100%; max-width: 1080px; height: 500px; margin: 0 auto 160px; overflow: hidden;}

.mapBox iframe { width: 100%; height: 880px; margin-top: -170px;}
@media screen and (max-width: 1080px) {
.mapBox {
width: 100%;
height: 300px;
overflow: hidden;
margin-bottom: 80px;
}

.mapBox iframe {
width: 100%;
height: 600px;
margin-top: -140px;
}
}





/* Rct */
#Rct{ margin-bottom: 100px;}

#Rct .rectBox{
width: 100%;
max-width: 720px;
margin: 50px auto 0;
padding: 50px;
background: rgba(0, 0, 0, .05);}
#Rct .rectBox h3{
font-size: 20px;
margin: 0 0 20px;
padding: 0;
}
#Rct .rectBox p{

}
@media screen and (max-width: 1080px) {
#Rct{ margin-bottom: 50px;}
#Rct .rectBox{
margin: 20px auto 0;
padding: 30px;
}
#Rct .rectBox h3{ font-size: 15px;}
}




/* accordion */
.accordionBox{ width: 100%; max-width: 720px; margin: 0 auto 40px;}
@media screen and (max-width: 1080px) {
main section.accordionBox{ margin: 0 auto 15px; padding: 0;}
}

.accordion{ padding-bottom: 0; border-bottom: 1px solid #ccc;}

.accordion-header{}
.accordion-header h4{ font-size: 30px; margin-top: -15px;}
.accordion-content {display: none;}
.accordion-header {
padding: 10px 0 30px;
margin: 10px 0 0;
transition: .3s ease;
cursor: pointer;
position: relative;
/* border-bottom: 2px solid #FDE202; */
}

.accordion-header::before,
.accordion-header::after{
position:absolute;
margin:auto;
}
.accordion-header::after{
display: flex;
align-items: center;
justify-content: center;
background: #FFBA5C;
width: 40px;
height: 40px;
border-radius: 60px;
font-family: "Font Awesome 6 Free";
content: '\f062';
transform:rotate(-180deg);
font-weight: 900;
right: 0;
top: -5px;
transition:transform 0.3s;
}
.accordion-header:hover::after{ background: #000; color: #fff; transition: .2s;}

.accordion-header.active::after{transform:rotate(0deg);}
.accordion-content {border-top: 2px solid #FFBA5C; padding: 1em 0 0;}
.accordion-header:hover { color: #666; transition: .4s;}

@media screen and (max-width: 1080px) {
.accordion{}
.accordion-header{ padding-bottom: 20px;}
.accordion-header h4{ font-size: 20px;}
.accordion-header::after{
right: 0;
top: -5px;
}

}

.tag{}
.tag li{ display: inline-block; color: #666; margin-bottom: 5px; padding: 2px 1em; border: 1px solid #ccc;}
@media screen and (max-width: 1080px) {
.tag{ margin-bottom: 0;}
.tag li{ font-size: 12px;}
}

/* dlBox */
#Rct .dlBox{ border: none; position: relative; margin: 0;}
#Rct .dlBox dt { position: absolute; left: 0; padding: 20px 0 0;}
#Rct .dlBox dd { border-bottom: solid 1px #ccc; padding: 20px 0 20px 10em;}
#Rct .dlBox dd:last-child{ border: none;}
@media screen and (max-width: 1080px) {
#Rct .dlBox{}
#Rct .dlBox dt{ position: relative; border: none; padding: 10px 0 0;}
#Rct .dlBox dd {padding: 10px 0;}
}

#Rct article{
margin: 0;
padding: 0;
display: none;
overflow: hidden;
transition: none;
}






footer{ display: flex; align-items: flex-end; justify-content: space-between; width: 100%; max-width: 1080px; margin: 0 auto; padding: 80px 0;}
@media screen and (max-width: 1080px) {
footer{ display: block; padding: 100px 1em 20px;}
small{ display: block; margin-top: 30px; text-align: right;}
}
.triangle05 { position: absolute; bottom: 0; z-index: -1;
	width: 1200px;
	height: 360px;
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
	background: #FFBA5C;
}
.triangle06 { right: 0; top: 0;z-index: -1;
	position: absolute;
	width: 310px;
	height: 650px;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	background: #FDE202;
}
@media screen and (max-width: 1080px) {
.triangle05 {
	width: 560px;
	height: 278px;
}
.triangle06 {
	top: 200px;
	width: 88px;
	height: 170px;
}
}



/*table*/
.table01{ width: 100%; margin-bottom:2em; border-collapse: collapse;}
.table01 th{ border: 1px solid #cfcfcf; background: #efefef; padding: 1em;}
.table01 td{ border: 1px solid #cfcfcf; padding: 1em; color: #666;}


/*------------------------otherStyle*/
.PC{ display: block; }
.SP{ display: none; }

.flexBox{ display: flex; }

.fitImg img{ max-width: 100%;}

.B{ font-weight: bold; }
.kome{ text-indent: -1em; margin-left: 1em; }
.tC{ text-align: center; }
.tR{ text-align: right; }

.noEvent{ pointer-events: none; }

.clear { clear:both; }
.clear hr { display:none; }
.cf:after{/*for modern browser*/
    content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden;}
.cf {zoom:1;/*for IE 5.5-7*/}

/*pagetop*/
/* .pagetop{ position: fixed; z-index: 9000; bottom: 40px; right: 60px; display: none;}
.pagetop a{ box-sizing: border-box; font-size: 24px; text-align: center; display: block; background: #fff; width: 60px; height: 60px; border-radius: 120px; padding-top: 12px;box-shadow: 0 0 4px 4px rgba(0,0,0,0.2);}
.pagetop a:link, .pagetop a:visited{ color: #147b99;}
.pagetop a:hover{ opacity: 0.6; transition: 0.2s;}

@media screen and (max-width: 1080px) {
.PC{ display: none; }
.SP{ display: block; }


} */








































/*------------------------nav*/
.drawer{ z-index: 9999; display: flex; flex-direction: row; align-items: center; justify-content: space-between; position: fixed; top: 5px; right: 10px; padding: 0 9px; width: 48px; height: 48px;}
.navbar_toggle{z-index:9999;}
.navbar_toggle_icon { position: relative; display: block; border-radius: 4px; height: 2px; width: 30px; background: #000; -webkit-transition: ease .4s; transition: ease .4s;}
.navbar_toggle_icon:nth-child(1) { top: 0;}
.navbar_toggle_icon:nth-child(2) { margin: 4px 0;}
.navbar_toggle_icon:nth-child(3) { top: 0;}

/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {top: 6px; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {-webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 0;}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {top: -6px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

/*OPEN*/
.menu.open {
 -webkit-transform:translateX(0);
 transform:translateX(0);
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
}


@media screen and (min-width: 1081px) {
.drawer,
.navbar_toggle{ display: none;}
}

@media screen and (max-width: 1080px) {
.menu{ position: fixed; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition:ease .5s; transition:ease .5s; z-index:9998; top: 0; width: 100%; margin: 0;}
.menu nav{ padding: 20px 20px 80px; height: 100vh; overflow: scroll; font-size: 18px; text-align: left; }
}




/*------------------------<nav class="menu">*/
.menu{}
.menuLogo{ display: none;}

.menu ul{ display: flex;}
.menu ul li{ font-size: 18px; font-weight: bold;}
.menu ul li a{ margin-left: 30px; padding: 10px 0; text-decoration: none;}
.menu ul li a:link,
.menu ul li a:visited{ color: #000;}
@media screen and (max-width: 1079px) {
.menu{ height: 100vh; display: flex;justify-content: center;align-items: center; background: #fff;}
.menuLogo{ display: block; position: absolute; top: 20px; left: 15px;}
.menuLogo img{ height: 30px;}

.menu ul{ display: block; text-align: center; width: 100%;}
.menu ul li{ margin-bottom: 50px;}
.menu ul li a{ margin: 0 auto; display: block;}
}