@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
*/
/*
Theme Name:lightningpro-child
Template:lightning-pro
Version:8.19.0
*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.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;
    }
}
body.custom-background {
	background-image:url(https://noharamire.com/artist/wp-content/uploads/2023/12/23883820.jpg);
	background-size:cover;
	margin: 0;
  width: 100vw;
  height: 100vh;
}

.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}

.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Klee+One&family=Lora:ital,wght@0,400;1,400;1,500&family=M+PLUS+1:wght@300;400&family=M+PLUS+1p:wght@300&family=Merriweather:ital,wght@0,400;1,900&family=Mochiy+Pop+P+One&family=Open+Sans:wght@300&family=Roboto+Condensed:wght@300&family=Slackside+One&family=Tsukimi+Rounded&family=Ubuntu:ital,wght@1,300&family=Yusei+Magic&family=Zen+Maru+Gothic&display=swap');
body{
    color: #5C5C5C;
    font-family: "Lora", "Noto Serif JP", sans-serif;
}
.under{
	border-bottom: solid 3px red;
}
.text-b{
		text-align:center;
		width:350px;
		font-size:18px;
		padding: 0.5rem 0.5rem;
		color: #fff;
		background-color: rgb(40, 195, 212);
		border-radius:20px;
}

h2 {
    border-top: initial;
    border-bottom: initial !important;
    font-size: 20px;
} 
.top-h2 p{
	color: rgb(40, 195, 212);
	font-size:20px;
	font-weight:bold;
}
.top-h2 h2{
	position: relative;
	padding-top: 20px;
	font-size: 20px;
	font-weight:bold;
}
.top-h2 h2::before{
	position: absolute;
	content: attr(title);
	top:0;
	font-size: 17px;
	font-weight:normal;
	color:#ff816e;
	font-weight:bold;
}
@media screen and (max-width: 480px){
	.top-h2 h2{
		font-size:16px;
	}	
}
  /* p */
.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: #28c3d4;
}
.top-b,.top-h2{
    text-align: center;
}
/*マスキングテープ風*/
.box75{
	margin: 2em auto;
	background-color:   #fff;/*ボックス背景色*/
	padding:2.5em 2em 2em;/*ボックス内側余白*/
	position:relative;/*配置(ここを基準に)*/
}
.box75 .box-title {
	background-image: repeating-linear-gradient(-45deg,#F6EEEC 0, #F6EEEC 3px,#fafafa 3px,#fafafa 6px);/*ストライプ*/
	border: 2px dotted #f54e78;/* テープのギザギザ*/
	transform: rotate(-2deg);/*テープの傾き*/
	font-size: 1.2em;/*タイトル文字の大きさ*/
	padding: 10px 20px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;	/*配置(ここを動かす)*/
	top: -15px; /*上から（-10px）移動*/
	left: 20px; /*左から(20px)移動*/
	color: #f54e78;
	font-weight:bold;
	
}
/* img */
.image{
	text-align: center;
}
.image img{
	width: 250px;
	object-fit: cover;
	border-radius: 20px;
	padding:5px;
}
.image5{
	text-align: center;
}
.image5 img{
	width: 500px;
	height:250px;
	object-fit: cover;
	border-radius: 20px;
	padding:5px;
}
.image4{
	text-align: center;
}
.image4 img{
	width: 130px;
	height: 130px;
	object-fit: cover;
	border-radius:50%;
	border: solid 3px  #e5faff;
}
.image2{
	text-align: center;
}
.image2 img{
	width: 300px;
	object-fit: cover;
	border-radius: 20px;
	border: solid 3px #e5faff;
}

.image1{
	text-align: center;
}
.image1 img{
	width: 200px;
	height: 200px;
	object-fit: cover;
	border-radius: 50%;
	border: solid 3px  #e5faff;
}

/* ミニアイコン */
.img-f img{
	width:200px;
}
.img-f{
	text-align:center;
}
@media screen and (max-width: 480px){
	.img-f img{
		width:150px;
	}
	
}
/* li */
/*--------------------
リストデザイン
-------------------*/
.top-li{
	text-align: center;
	display: block;
	font-size: 14px;
	font-weight:bold;
}
.top-li ul{
    margin:2em 1em;
	list-style:none;      /*黒ポチを消す*/
	text-align: left;
	display: inline-block;
}

.top-li ul > li:before{
    font-family:"Font Awesome 5 Free";
    content:"\f00c";     /*アイコンのコード*/
    font-weight:900;     /*ソリッド：900 ／ レギュラー：400*/
    color: #ff816e;      /*アイコンの色*/
    margin-right:10px;    /*アイコン右側の余白*/
}
/* list2 */
.list3 ul,.list3 ol{
	position: relative;
	border: solid 2px #fcb1b1;
	border-radius: 7px;
	background: #fff6e6;
	color: #fcb1b1;
	list-style-type: none;
	padding: 0;
}
.list3 ol{
	counter-reset: number;
}
.list3 ul li,.list3 ol li {
	line-height: 1.5;
	padding: 0.5em 0.5em 0.5em 2em;
	border-bottom: dashed 1px #fcb1b1;
	font-weight: bold;
}
.list3 ul li:before {
	position: absolute;
	font-family: FontAwesome;
	content: "\f14a";
	left : 0.5em;
	color: #fcb1b1;
}
.list3 ol li:before {
	display: inline-block;
	position: absolute;
	font-family: "Quicksand", sans-serif;
	content: counter(number);
	counter-increment: number;
	left: 0.5em;
	width: 22px;
	height: 22px;
	border-radius: 20%;
	background: #fcb1b1;
	color: white;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	line-height: 22px;
}
.list3 ul li:last-of-type,.list3 ol li:last-of-type{
	border-bottom: none;
}
/* ボタン */
/* 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:  rgb(40, 195, 212);
    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: rgb(40, 195, 212);
    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%);
}

/* タイピング */
/*========= レイアウトのためのCSS ===============*/

.TextTyping {
	text-align: center;
}

/*========= タイピング ===============*/

.TextTyping span {
	display: none;
}

/*文字列後ろの線の設定*/
.TextTyping::after {
	content: "|";
	animation: typinganime .8s ease infinite;
}

@keyframes typinganime{
	from{opacity:0}
	to{opacity:1}
}

/*  */
.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,  #7ccdd6 10%,   #28c3d4 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: #ff816e;
	font-size: 30px;
	text-align:center;
}

.heading11::after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background-color: #ff816e;
}


/*  */
.talk {
	margin-bottom: 40px;
	}
	
	.talk figure img {
		width: 100%;
		height: 100%;
		border: 2px solid #f3a68c;
		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 #f3a68c;
		background-color: #fff;
		border-radius: 5px;
	}
	
	/* 左の三角形を作る */
	.talk-Ltxt:before {
		position: absolute;
		content: '';
		border: 10px solid transparent;
		border-right: 10px solid #f3a68c;
		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 #f3a68c;
}

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

.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: #f3a68c;
	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;
}
  /*  */
@media screen and (max-width: 480px){
	.box-design14-ttl {
		font-size:18px;
	}
}
.box-design14 {
	margin: 20px auto 20px 20px;
	padding: 20px;
	border: 2px solid #5c5c5c;
}
.box-design14-ttl {
	position: relative;
	left: -40px;
	background-color:  #28c3d4;
	color: #fff;
	padding: 0.5em 1em;
	margin: 0;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
}
ol {
	counter-reset:number; /*数字をリセット*/
	list-style-type: none!important; /*数字を一旦消す*/
	padding:0.5em;
}
ol li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

ol li:before{
	/* 以下数字をつける */
	position: absolute;
	counter-increment: number;
	content: counter(number);
	/*以下数字のデザイン変える*/
	display:inline-block;
	background: #ff816e;
	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%);
}
/* 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:#ff816e;
	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: #28c3d4; /*斜め背景の色*/
	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;
}
.fa-line:before {
	color: #53e040;
}
.fa-instagram:before {
	color:rgb(255, 0, 200);
}

