@charset "UTF-8";
/* CSS Document */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	box-sizing: border-box;
}
ul {
    list-style:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
	color:inherit;
    text-decoration: none;
	box-sizing: border-box;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align:top;
	}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #333;
	line-height: 1.7;
	letter-spacing: 0.05em;
	max-width: 100%;
	text-align: justify;
	margin: 0 auto;
	}
main{
	overflow: hidden;
}
h1{
	background: #00aaeb;
	padding: 0 10px;
}
.guidetop img{
	width: 100%;
	max-width: 1275px;
	display: block;
	margin: 0 auto;
}
.com_foreword02{
	background: #e5f6fd;
	padding: 30px 35px 150px;
	position: relative;
	z-index: 1;
}
.com_foreword02:before{
	content: "";
	width: 120vw;
	height: 13vw;
	background: #e5f6fd;
	margin: 0 -10vw;
/*	clip-path: shape(from 0 100%, curve to 100% 100% with 50% 0, close);古いブラウザ非対応*/
	border-radius: 60% 60% 0 0 / 100% 100% 0 0;
	position: absolute;
	top: -5vw;
	left: 0;
	z-index: -1;
}
.guidemenu ul{
	display: flex;
	justify-content: center;
	margin: 0 0 60px;
	padding: 0 25px;
}
.guidemenu li{
	width: 200px;
	height: 50px;
	margin-right: 20px;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
}
.guidemenu li:last-child{
	margin-right: 0;
}
.guidemenu li a{
	display: block;
	height: 50px;
	padding-top: 4.5px; 
	background: #2e457c;
	border: solid 1px #2e457c;
	border-radius: 25px;
	box-sizing: border-box;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
	transition: .2s ease-in;
}
.caption_img{
	max-width: 450px;
	display: block;
	margin: 80px auto 0;
}
.com_illust{
	max-width: 510px;
	display: block;
	margin: 65px auto 35px;
}
.com_foreword02 p{
	max-width: 720px;
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.013em;
	margin: 0 auto 115px;
}
.guidelink{
	display: block;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.6;
	max-width: 720px;
	padding: 6px 185px 8px 50px;
	margin: 155px auto 0;
	background: #2e457c;
	color: #fff;
	border: solid 1px #2e457c;
	border-radius: 999px;
	box-shadow: 0px 3px 8px rgba(0,0,0,0.2);
	position: relative;
	transition: .3s;
}
.guidelink img{
	position: absolute;
	bottom: -30%;
	right: -11px;
	width: 147px;
	border: 1px solid #646464;
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
	transform: rotate(8deg);
	will-change: filter;
	transition: .2s .1s;
}

.brpc{display:block}
.brtc{display:none}
.brsp{display:none}
.brsps{display:none}

@keyframes jump{
	0%{
		transform: translateY(0);
		box-shadow: 0px 3px 5px rgba(0,0,0,0.2);
	}
	50%{
		transform: translateY(-8px);
		box-shadow: 0px 8px 5px rgba(0,0,0,0.08);
	}
	100%{
		transform: translateY(0);
		box-shadow: 0px 3px 5px rgba(0,0,0,0.2);
	}
}
.comlistback{
	background: #fffae1;
	background-size: 100%;
	padding: 100px 20px 200px;
}
h3{
	font-size: 30px;
	text-align: center;
	color: #2e457c;
	margin: 0 0 43px;
}

/*企業一覧*/
.accordion_content{
	max-width: 1000px;	
	margin: 0 auto;
}
.accordionbtn{
	font-family: inherit;
	width: 100%;
	height: 50px;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #fff;
	position: relative;
	border: 0;
	text-shadow: 0 0 5px rgba(0,0,0,0.2);
	outline: none;
    appearance: none;
	cursor: pointer;
	border-radius: 999px;
	margin-bottom: 10px;
	transition: .1s ease-in-out;
}
.com01 .accordionbtn{
	background: #009ddc;
	box-shadow: 0px 3px 0px rgb(0 77 140 / 100%);
}
.com02 .accordionbtn{
	background: #00ad52;
	box-shadow: 0px 3px 0px rgb(16 100 30 / 100%);
}
.com03 .accordionbtn{
	background: #ff792d;
	box-shadow: 0px 3px 0px rgb(175 41 0 / 100%);
}
.com04 .accordionbtn{
	background: #004fa5;
	box-shadow: 0px 3px 0px rgb(0 0 85 / 100%);
}
.com05 .accordionbtn{
	background: #ff6170;
	box-shadow: 0px 3px 0px rgb(175 17 32 / 100%);
}
.com06 .accordionbtn{
	background: #929747;
	box-shadow: 0px 3px 0px rgb(66 71 0 / 100%);
}
.com07 .accordionbtn{
	background: #ff3518;
	box-shadow: 0px 3px 0px rgb(175 10 0 / 100%);
}
.com08 .accordionbtn{
	background: #00bbb4;
	box-shadow: 0px 3px 0px rgb(0 107 100 / 100%);
}
.com09 .accordionbtn{
	background: #ffac00;
	box-shadow: 0px 3px 0px rgb(175 92 0 / 100%);
}
.com10 .accordionbtn{
	background: #d063a7;
	box-shadow: 0px 3px 0px rgb(128 19 87 / 100%);
}
.accordionbtn:active{
	transform: translateY(3px);
	box-shadow: 0px 0px 0px;
}
.accordionbtn::after{
	content: "";
	position: absolute;
	right: 20px;
	top: 43%;
	transition: all .5s ease-in-out;
	width: 12px;
	height: 12px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	opacity: 0.5;
	transform: translate(-50%,-50%) rotate(135deg);
}
.accordion_item .accordion_com{
	height: 0;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	margin-bottom: 10px;
}
.accordion_com li{
	letter-spacing: 0.03em;
	width: calc((100% - 10px) / 3);
	margin-left: 5px;
	margin-bottom: 5px;
	text-shadow: 0 0 3px rgba(0,0,0,0.2);
}
.accordion_com li:nth-child(3n+1){
	margin-left: 0;
}
.accordion_com a{
	display: block;
	font-size: 17px;
	font-weight: 500;
	color: #fff;
	padding: 10px 3px 13px;
	text-align: center;
	border-radius: 999px;
}
.com01 .accordion_com a{
	background: #4cbae6;
}
.com01 .accordion_com a:hover{
	background: #19a7df;
}
.com02 .accordion_com a{
	background: #4cc686;
}
.com02 .accordion_com a:hover{
	background: #19b563;
}
.com03 .accordion_com a{
	background: #ff9457;
}
.com03 .accordion_com a:hover{
	background: #ff823c;
}
.com04 .accordion_com a{
	background: #4c84c0;
}
.com04 .accordion_com a:hover{
	background: #1961ae;
}
.com05 .accordion_com a{
	background: #ff909b;
}
.com05 .accordion_com a:hover{
	background: #ff717e;
}
.com06 .accordion_com a{
	background: #adb175;
}
.com06 .accordion_com a:hover{
	background: #9da159;
}
.com07 .accordion_com a{
	background: #ff725d;
}
.com07 .accordion_com a:hover{
	background: #ff492f;
}
.com08 .accordion_com a{
	background: #4ccfca;
}
.com08 .accordion_com a:hover{
	background: #19c2bb;
}
.com09 .accordion_com a{
	background: #ffbe38;
}
.com09 .accordion_com a:hover{
	background: #ffb00d;
}
.com10 .accordion_com a{
	background: #dc8abd;
}
.com10 .accordion_com a:hover{
	background: #d573b0;
}
.scale01{
	transform: scaleX(0.9);
	display: inline-block;
}
.comname_s{
	font-size: 14px;
}
.accordion_item.open_acc .accordionbtn::after{
	transform: translate(-50%) rotate(315deg);
}
.accordion_item.open_acc .accordion_com{
	margin-bottom: 20px;
}
.accordion_content.open_acc{
	overflow-y: auto;
}


/*フッター*/
footer{
	background: #e5f6fd;
	padding: 50px 25px 30px;
}
footer .guidemenu ul{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 15px;
}
footer .guidemenu li{
	width: 180px;
	height: 40px;
	margin-bottom: 14px;
	margin-right: 0;
	font-size: 20px;
}
footer .guidemenu li a{
	height: 40px;
	padding-top: 1px; 
	border-radius: 20px;
}
footer .guidemenu li a:hover{
	animation: none;
}
.credit{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 700px;
	padding: 19px 10px 23px;
	margin: 200px auto 0;
	border-top: 3px solid #2e457c;
	border-bottom: 3px solid #2e457c;
	position: relative;
}
.com_illustf{
	position: absolute;
	display: block;
	max-width: 400px;
	top: -3px;
	left: 50%;
	transform: translate(-50%,-100%);
}
.credit .title{
	font-size: 28.5px;
	line-height: 1.5;
	font-weight: 500;
	color: #00aaeb;
}
.credit .title > span{
	font-size: 23px;
	font-weight: 500;
	display: block;
}
.credit .title > span span{
	font-size: 24px;
}
.credit ul{
	line-height: 1.6;
}
.credit li p{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 8px;
}
.takefucci_logo{
	max-width: 320px;
	width: 100%;
	display: block;
	margin: 26px auto 0;
	padding: 0 20px;
}

/* タブレット用 */
@media only screen and (min-width: 641px) and (max-width: 875px) {
.com_foreword02{
	padding: 30px 35px 100px;
}
.guidemenu ul{
	margin: 0 0 40px;
}
.guidemenu li{
	width: 180px;
	height: 45px;
	font-size: 20px;
}
.guidemenu li a{
	height: 45px;
	padding-top: 4px; 
}
.caption_img{
	max-width: 400px;
}
.com_foreword02 p{
	font-size: 17px;
}
.guidelink{
	font-size: 20px;;
	padding: 9px 185px 11px 50px;
	margin: 100px auto 0;
}
.guidelink img{
	width: 125px;
}
.comlistback{
	padding: 80px 35px 100px;
}
h3{
	font-size: 25px;
}
	
/*企業一覧*/
.accordion_com li{
	width: calc((100% - 5px) / 2);
}
.accordion_com li:nth-child(3n+1){
	margin-left: 5px;
}
.accordion_com li:nth-child(2n+1){
	margin-left: 0;
}
	
/*フッター*/
.brpc{display:none}
.brtc{display:block}
.brsp{display:none}
.brsps{display:none}
}

/* スマートフォン用 */
@media screen and (max-width: 640px) {
.com_foreword02{
	padding: 23px 30px 49.5px;
}
.guidemenu ul{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 10px 0 30px;
}
.guidemenu li{
	width: 170px;
	height: 40px;
	margin-bottom: 14px;
	margin-right: 0;
	font-size: 20px;
}
.guidemenu li a{
	display: block;
	font-size: 18px;
	height: 40px;
	padding-top: 3px; 
	border-radius: 20px;
}
.guidemenu li a:hover{
	animation: none;
}
.caption_img{
	width: 100%;
	max-width: 350px;
	margin: 50px auto 0;
}
.com_illust{
	width: 100%;
	max-width: 450px;
	margin: 50px auto 35px;
}
.com_foreword02 p{
	font-size: 16px;
	margin: 0 auto 50px;
}
.guidelink{
	font-size: 17px;
	line-height: 1.4;
	max-width: 450px;
	padding: 10px 110px 12px 30px;
	margin: 80px auto 0;
}
.guidelink img{
	width: 100px;
}
.comlistback{
	background: #fffef4;
	padding: 50px 25px 80px;
}
h3{
	font-size: 20px;
	margin: 0 0 24px;
}
	
/*企業一覧*/
.accordionbtn{
	height: 43px;
	font-size: 17px;
	padding: 0;
}
.accordionbtn::after{
	right: 15px;
}
.accordion_item .accordion_com{
	height: 0;
	display: flex;
	flex-direction: column;
	margin-bottom: 5px;
}
.accordion_com li{
	width: 100%;
	margin-left: 0;
	font-size: 16px;
}
.accordion_com li a{
	display: block;
	padding: 8.5px 5px 10.5px;
}
.scale01{
	transform: scaleX(1);
}


/*フッター*/
footer{
	padding: 50px 25px 25px;
}
footer .guidemenu li a{
	padding-top: 3px; 
}
.credit{
	flex-direction: column;
	padding: 25px 0 27.5px;
	margin: 130px auto 0;
}
.com_illustf{
	max-width: 350px;
	width: 100%;
}
.credit .title{
	font-size: 21px;
	text-align: center;
	margin-bottom: 20px;
}
.credit .title > span{
	font-size: 17px;
}
.credit .title > span span{
	font-size: 18px;
}

.brpc{display:none}
.brtc{display:block}
.brsp{display:none}
.brsps{display:none}

@media screen and (max-width: 350px) {
.com_illust {
	margin: 50px auto 25px;
}
.guidelink{
	max-width: 320px;
	font-size: 16px;
	position: relative;
	padding: 15px 35px;
	margin: 50px auto 0;
}
.guidelink img{
	display: none;
}
.comlistback {
	padding: 50px 20px 80px;
}
.accordionbtn {
	padding-right: 8px;
}
.accordionbtn::after{
	top: 46%;
	right: 8px;
	width: 8px;
	height: 8px;
}
	
/*企業一覧*/
.accordionbtn{
	font-size: 17px;
}
	
/*フッター*/
.credit li{
	font-size: 14px;
}
.credit li p{
	font-size: 17px;
}
.brsps{display:block}
}
}

@media (any-hover: hover) {
.guidemenu li a:hover{
	background: #fff;
	color: #2e457c;
	animation: jump .5s forwards ease-in-out;
}
.guidelink:hover{
	transform: scale(1.03);
}
.guidelink:hover img{
	transform: translate(0,-10px) translateZ(0) rotate(8deg);
}
	
}