@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.pc {
	display: block !important;
}
.sp {
	display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { 
        display: none !important;
    }
    .sp { 
        display: block !important;
    }
}

/* ボタン */
/* solid015 */
.button_solid015 {
    text-align: center;
}
.button_solid015 p {
    margin-bottom: 5px;
    font-weight: 600;
    color: #f3a68c;
    letter-spacing: 0.04rem;
    display: inline-block;
	position: relative;
	font-size: 12px;
}
.button_solid015 p:before, .button_solid015 p:after {
    display: inline-block;
    position: absolute;
    top: 45%;
    width: 20px;
    height: 3px;
    border-radius: 5px;
    background-color: rgba(24,125,221,1) ;
    content: "";
}
.button_solid015 p:before {
    left: -35px;
    -webkit-transform: rotate( 50deg );
    transform: rotate( 50deg );
}
.button_solid015 p:after {
    right: -30px;
    -webkit-transform: rotate( -50deg );
    transform: rotate( -50deg );
}
.button_solid015 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background:  rgba(24,125,221,1) ;
    filter: drop-shadow(0px 2px 4px #ccc);
    border-radius: 50px;
}
.button_solid015 a:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}
.button_solid015 a:after {
    position: absolute;
    top: 50%;
    right: 20px;
    transition: 0.2s ease-in-out;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-54%);
}

h2 {
    border-top: initial;
    border-bottom: initial !important;
} 
/* 見出し */
.ttl_center4 {
	font-weight: bold;
	padding: 0 3em;
	width: fit-content;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
.ttl_center4::before, .ttl_center4::after {
	content: '';
	background: rgba(24,125,221,1);
	width: 2em;
	height: 3px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.ttl_center4::before {
	left: 0;
}
.ttl_center4::after {
	right: 0;
}
/* p */
.p-title p{
	text-align:left;
}
.color-p{
	color:#f36651;
}
.p-title p{
	text-align: left;
}
.title-12{
	text-align:center;
	font-weight:bold;
	color:white;
	margin: 10px auto;
	padding: 10px;
	background-color:rgba(24,125,221,1);
}
.top-b,.top-h2,.top1-h2{
    text-align: center;
}

/* img */
.image{
	text-align: center;
}
.image img{
	width: 200px;
	height:200px;
	object-fit: cover;
	border-radius: 20px;
	padding:5px;

}
.image3{
	text-align: center;
}
.image3 img{
	width: 250px;
	
	object-fit: cover;
	border-radius: 20px;
	padding:5px;

}
.image4{
	text-align: center;
}
.image4 img{
	width: 250px;
	height:200px;
	object-fit: cover;
	border-radius: 20px;
	padding:5px;
}
.image2{
	text-align: center;
}
.image2 img{
	width: 350px;
	object-fit: cover;
	border-radius: 20px;
	border: solid 3px rgba(0,195,193,1);
}

.image1{
	text-align: center;
}
.image1 img{
	width: 250px;
	height: 250px;
	object-fit: cover;
	border-radius: 50%;
	border: solid 3px rgba(0,195,193,1);
}
/* box */
.box8 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #ffc06e;
}
.box8 p {
    margin: 0; 
    padding: 0;
}
/* ol */
ol.ol-1{
	counter-reset:list;
	list-style-type:none;
	font-size: 16px;
	padding: 0px;
}
ol.ol-1 li{
	position:relative;
	line-height: 30px;
	margin: 7px 0 7px 40px;
	padding-left: 10px;
	font-weight: bold;
	font-size:14px;
}
ol.ol-1 li:before{
	counter-increment: list;
	content: counter(list);
	position: absolute;
	top: 0;
	left: -35px;
	width: 30px;
	height: 30px;
	text-align: center;
	color: #fff;
	line-height:30px;
	z-index:1;
}
ol.ol-1 li:after{
	content:"";
	position: absolute;
	top: 3px;
	left: -32px;
	width: 25px;
	height: 25px;
	background: #ffc06e;
	color: #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* ミニアイコン */
.img-f img{
	width:150px;
	height:150px;
	border-radius: 50%;
	object-fit: cover;
}
.img-f{
	text-align:center;
}


/* list */
ul.cp_list {
	padding:0.5em;
	list-style-type:none;
}
ul.cp_list li {
	position:relative;
	padding: 0em 0.3em 0.3em 1.3em;
	font-size:20px;
}
ul.cp_list li:before {
	position:absolute;
	content:'';
	top: 0.5em;
	left: 0.2em;
	height:0;
	width:0;
	border-style: solid;
	border-width: 6px 0 6px 9px;
	border-color: transparent transparent transparent #ffc06e;
}

/* 下線 */
.arrow{
	text-decoration: underline #fa3333 5px ;
}


/*  */
.top1-h2 h2 {
    font-size: 20px;
	font-weight: bold;
	color: #5c5c5c;
}

.top1-h2 h2::first-letter {
    padding: 0.7rem;
    border-radius: 54% 46% 38% 62%/49% 70% 30% 52%;
    background-color: #2d1b11;
    background-image: linear-gradient(135deg,  rgba(24,125,221,1) 10%,   rgba(0,195,193,1) 100%);
    color: white;
    font-size: 36px;
}
/* 数字 */
.heading11 {
	position: relative;
	font-size: 16px;
	text-align: center;
}

.heading11::before {
	content: attr(data-number);
	display: block;
	margin-bottom: 30px;
	color: rgba(24,125,221,1);
	font-size: 30px;
	text-align: center;
}

.heading11::after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background-color:rgba(24,125,221,1);
}

/*  */
.talk {
	margin-bottom: 40px;
	}
	
	.talk figure img {
		width: 100%;
		height: 100%;
		border: 2px solid #ffc06e;
		border-radius: 50%;
		margin: 0;
	}
	
	/* 画像の下のテキスト */
	.talk-imgname {
		padding: 5px 0 0;
		font-size: 10px;
		text-align: center;
	}
	
	p.talk-text {
		margin: 0 0 8px;
	}
	
	p.talk-text:last-child {
		margin-bottom: 0px;
	}
	
	/* 回り込み解除 */
	.talk:after,.talk:before {
		clear: both;
		content: "";
		display: block;
	}
	
	/* ----- 左の場合 ----- */
	
	/* 左画像 */
	.talk-Limg {
		margin-left: 4px;
		margin-top: -1px;
		float: left;
		width: 60px;
		height: 60px;
	}
	
	/* 左からの吹き出しテキスト */
	.talk-Ltxt {
		color: #444;
		position: relative;
		margin-left: 100px;
		padding: 1.2em;
		border: 3px solid #ffc06e;
		background-color: #fff;
		border-radius: 5px;
	}
	
	/* 左の三角形を作る */
	.talk-Ltxt:before {
		position: absolute;
		content: '';
		border: 10px solid transparent;
		border-right: 10px solid#ffc06e;
		top: 15px;
		left: -20px;
	}
	
	.talk-Ltxt:after {
		position: absolute;
		content: '';
		border: 10px solid transparent;
		border-right: 10px solid #fff;
		top: 15px;
		left: -16px;
	}
/* アコーディオン */
.accordion-002 {
    margin-bottom: 7px;
    border: 2px solid #f3a68c;
    border-radius: 5px;
}

.accordion-002 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2214%22%20style%3D%22fill%3A%23f3a68c%3B%22%2F%3E%0A%3C%2Fsvg%3E');
    background-position: right calc(2em - 7px) center;
    background-size: 22px;
    background-repeat: no-repeat;
    color: gray;
    font-weight: 600;
    cursor: pointer;
}

.accordion-002 summary::-webkit-details-marker {
    display: none;
}

.accordion-002 summary::before,
.accordion-002 summary::after {
    position: absolute;
    right: calc(2em + 2.5px);
    width: 3px;
    height: 10px;
    border-radius: 5px;
    background-color: #fff;
    content: '';
}

.accordion-002 summary::before {
    rotate: 90deg;
}

.accordion-002 summary::after {
    transition: rotate .3s;
}

.accordion-002[open] summary::after {
    rotate: 90deg;
}

.accordion-002 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-002[open] p {
    transform: none;
    opacity: 1;
}
/* フローチャート */
.flow_design09 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flow09 {
	padding-left: 0;
	border-bottom: solid 1px #fff6eb;
}

.flow09 > li {
	list-style-type: none;
	display: flex;
	padding: 20px 0;
	border-top: solid 1px #fff6eb;
}

.flow09 > li dl dt {
	font-size: 1.2em;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 10px;
}

.flow09 > li .icon09 {
	line-height: 1;
	font-size: 2em;
	font-weight: bold;
	color:  rgba(24,125,221,1);
	text-align: center;
	width: 70px;
	position: relative;
	margin-top: 0;
}

.flow09 > li .icon09::before {
	content: 'STEP';
	font-size: 0.3em;
	display: block;
	margin-bottom: 3px;
	letter-spacing: 1px;
}

.flow09 > li .icon09::after {
	content: "";
	display: block;
	width: 1px;
	height: calc(100% - 40px);
	background-color: #858585;
	position: absolute;
	left: 0;
	right: 0;
	top: 60px;
	margin: auto;
}

.flow09 > li dl dd {
	margin: 0;
}

.flow09 > li dl {
	width: calc(100% - 70px);
	margin-top: 0.8em;
}
  /*  */
.box-design14 {
	margin: 20px auto 20px 20px;
	padding: 20px;
	border: 2px solid #5c5c5c;
}
.box-design14-ttl {
	position: relative;
	left: -40px;
	background-color: rgba(24,125,221,1);
	color: #fff;
	padding: 0.5em 1em;
	margin: 0;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
}
@media screen and (max-width: 480px){
	.box-design14-ttl {
		font-size:17px;
	}
}
/* list */
.list204 ul {
	padding: 0.3em 0;
	list-style-type: none;
	border: none;
}
.list204 ul li {
	position:relative;
	padding: 0.3em 0 0.3em 1.6em;
	line-height: 1.5;
}
.list204 ul li:before{
	content: '';
	position: absolute;
	background-color: rgba(24,125,221,1);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	left: 10px;
	top: 13px;
}
/*  プロフィール*/
.profile-card{
	width: 100%;
	max-width:350px;
	position: relative;
	background: #fff; /*背景の色*/
	box-shadow: 0px 1px 3px rgba(0,0,0,.18);
	overflow: hidden;
}

.profile-card:before{
width:120%;
height:100px;
content:"";
transform:skew(15deg,10deg);
background: rgba(24,125,221,1); /*斜め背景の色*/
position:  absolute;
top:-15%;
left:-10%;
z-index: 0;
}

.profile-card__inner{
position: relative;
}

.profile-thumb{
	overflow: hidden;
	width: 110px;
	height: 110px;
	border: #fff 3px solid;
	border-radius: 55px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	background: #fff;
}

.profile-thumb img{
	display: block;
	width: 100%;
	height: auto;
}

.profile-content{
	padding: 15px;
}

.profile-content span{
	display: block;
}

.profile-name{
	margin-bottom: 3px;
	font-weight: bold;
	text-align: center;
}

.profile-job{
	margin-bottom: 10px;
	color: #5c5c5c;
	font-size: 12px;
	text-align: center;
}

.profile-intro{
	font-size: 12px;
}
/* 方眼紙 */
.box-design5 {
  margin: 20px auto;
  padding: 20px;
  background-color: #fff;
  background-image:  linear-gradient(#e1eef5 1px, transparent 1px), linear-gradient(to right, #e1eef5 1px, #fff 1px);
  background-size: 20px 20px;
}
.main-p{
		font-size:18px;
	color:rgba(24,125,221,1);
}
.under{
	border-bottom: solid 3px #ffc06e;
}   
/*  */
.top-main{
	text-align:center;
}
.top-main p{
	color: rgba(24,125,221,1);
	font-size:20px;
	font-weight:bold;
}
.fa-line:before {
	color: #53e040;
}
.fa-instagram:before {
	color:rgb(255, 0, 200);
}
.color-p{
	color: #f3851d;
	font-size:18px;
	font-weight:bold;
}
/*  */
.box-design14 ol {
	counter-reset:number; /*数字をリセット*/
	list-style-type: none!important; /*数字を一旦消す*/
	padding:0.5em;
}
.box-design14 ol li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

.box-design14 ol li:before{
	/* 以下数字をつける */
	position: absolute;
	counter-increment: number;
	content: counter(number);
	/*以下数字のデザイン変える*/
	display:inline-block;
	background: rgba(24,125,221,1);
	color: white;
	font-family: 'Avenir','Arial Black','Arial',sans-serif;
	font-weight:bold;
	font-size: 15px;
	border-radius: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	/*以下 上下中央寄せのため*/
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
