@charset "utf-8";
/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none;}table{border-collapse:collapse;border-spacing:0;}img{vertical-align:bottom;}input[type="text"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;cursor:pointer;background:none;padding:0;}h1,h2,h3,h4,h5,h6{font:inherit;}
/*================================================
 *  一般・共通設定
 ================================================*/
:root {
	--white:#FFF;
	--green:#75B33B;
	--pink:#F63285;
	--hotpink:#F25095;
	--lightpink:#FC93CC;
	--orange:#CE9E28;
	--lightorange:#F0C14B;
	--hotorange:#AA7D0F;
	--skin:#FCF9EC;
	--gray:#333;
	--purple:#7D73CE;
}
html {
	font-size:62.5%;
}
body {
	font-size:1.2rem;
	line-height:1;
	font-weight:400;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	text-size-adjust:100%;
	font-family:"メイリオ","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
}
*, *:before, *:after {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
.mplus1p {
	font-family:"M PLUS 1 Code", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
.BIZUDPGothic {
	font-family:"BIZ UDPGothic", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
a {
	text-decoration:none;
	transition:all ease-in-out 0.5s;
}
#wrapper {
	position:relative;
	margin:0 auto;
}
.inner {
	position:relative;
	width:min(100%, 1080px);
	margin-inline:auto;
}
@media screen and (max-width:640px) {
}




/*================================================
 *  ヘッダー
 ================================================*/
header .inner {
	display:flex;
	justify-content:space-between;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	height:80px;
	padding:0 30px;
}
h1 img {
	line-height:0;
}
header .btn a {
	display:block;
	background:var(--green);
	height:50px;
	font-size:26px;
	line-height:50px;
	color:var(--white);
	font-weight:500;
	padding:0 50px;
	margin-top:5px;
	border-radius:20px;
}
header .btn a:hover {
	opacity:0.7;
}
@media screen and (max-width:640px) {
header .inner {
	height:5rem;
	padding:0 5%;
}
header h1 img {
	height:2.5rem;
}
header .btn a {
	height:2.5rem;
	font-size:1.5rem;
	line-height:2.5rem;
	padding:0 2.5rem;
	margin-top:0;
	border-radius:10px;
}
}
/*================================================
 *  メイン
 ================================================*/
.profile_photo_gallery {
	position:relative;
	padding:0 30px;
}
.profile_photo_gallery h2 {
	font-size:50px;
	text-align:center;
	color:var(--lightpink);
	font-weight:700;
	margin-top:30px;
	margin-bottom:30px;
}
.profile_photo_gallery h2 span {
	display:inline-block;
	color:var(--hotpink);
	font-weight:500;
	margin-left:20px;
}
.profile_photo_gallery .main-img img {
	width:100%;
	line-height:0;
	border-radius:30px;
	border:solid 4px rgba(242,81,149,0.7);
}
.sub-img li.current img {
	transition:border 0.5s;
}
.sub-img {
	display:flex;
	margin:18px auto 60px;
}
.sub-img li {
	width:calc(90% / 5);
	max-width:183px;
	margin-right:2%;
}
.sub-img li:last-child {
	margin-right:0;
}
.sub-img li img {
	transition:border 0.5s;
}
.sub-img li img {
	width:100%;
	height:183px;
	line-height:0;
	object-fit:cover;
	cursor:pointer;
	border-radius:50%;
	border:solid 1px rgba(242,81,149,0.7);
	filter:drop-shadow(2px 2px 0.5rem rgba(242,81,149,0.5));
}
.sub-img li.lock {
	position:relative;
}
.sub-img li.lock::before {
	position:absolute;
	content:"";
	top:50%;
	left:50%;
	background:url(../images/icon-keylock.png) no-repeat;
	background-size:cover;
	width:34%;
	height:34%;
	transform:translate(-50%, -50%);
	z-index:1;
}
.profile_photo_gallery .favorite {
	position:absolute;
	content:"";
	top:40px;
	right:20px;
	display:flex;
	justify-content:center;
	align-items:center;
	background:var(--pink);
	width:90px;
	height:90px;
	padding:16px;
	border-radius:50%;
}
.profile_photo_gallery .favorite img {
	width:100%;
	line-height:0;
}
.profile_photo_gallery .entry {
	position:absolute;
	content:"";
	top:75%;
	right:80px;
	background:var(--white);
	width:185px;
	height:185px;
	border-radius:50%;
	filter:drop-shadow(2px 2px 0.5rem rgba(0,0,0,0.3));
}
.profile_photo_gallery .entry a {
	display:flex;
	justify-content:center;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	width:100%;
	height:100%;
	padding:16px;
}
.profile_photo_gallery .entry a i {
	display:block;
	width:100%;
	padding-top:10px;
	margin-bottom:6px;
}
.profile_photo_gallery .entry a i img {
	width:100%;
	line-height:0;
}
.profile_photo_gallery .entry a p {
	font-size:24px;
	color:var(--hotpink);
	text-align:center;
	font-weight:700;
}
.profile_photo_gallery .name {
	position:absolute;
	content:"";
	top:80%;
	left:80px;
	color:var(--white);
}
.profile_photo_gallery .name p {
	font-size:34px;
	font-weight:500;
}
.profile_photo_gallery .name img {
	width:auto;
	height:34px;
	line-height:0;
}
.message {
	padding:0 30px 80px;
}
.message .message-box {
	position:relative;
	background:var(--lightorange);
	padding:20px;
	margin-left:26px;
	margin-right:20px;
	border-radius:30px;
}
.message .message-box .mark {
	position:absolute;
	content:"";
	top:-24px;
	left:-26px;
	display:inline-block;
	background:var(--white);
	width:150px;
	height:150px;
	border:solid 6px #4D80CF;
	border-radius:50%;
}
.message .message-box .mark img {
	width:100%;
	height:100%;
	line-height:0;
}
.message .message-box h3.tab {
	padding-left:120px;
}
.message .message-box h3.tab span {
	display:inline-block;
	background:var(--orange);
	height:68px;
	font-size:30px;
	line-height:68px;
	color:var(--white);
	padding-left:100px;
	padding-right:100px;
	font-weight:400;
	border:solid 3px var(--hotorange);
	border-radius:50px;
}
.message .message-box .message-txt {
	position:relative;
	font-size:32px;
	color:var(--gray);
	padding-left:70px;
	margin-top:50px;
	font-weight:500;
}
.message .message-box .message-txt::before {
	position:absolute;
	content:">";
	top:50%;
	right:5%;
	font-size:150%;
	transform:translateY(-50%);
}
.message .message-box .detail {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-direction:row;
	flex-wrap:nowrap;
	gap:30px;
	font-size:30px;
	color:var(--gray);
	margin-top:60px;
	margin-left:20px;
	margin-bottom:30px;
	font-weight:400;
}
.message .message-box .detail .view img, .message .message-box .detail .mail img {
	width:auto;
	height:30px;
	line-height:0;
}
h2.tab {
	position:relative;
	background:var(--orange);
	height:110px;
	font-size:40px;
	line-height:110px;
	color:var(--white);
	padding-left:90px;
	font-weight:400;
}
h2.tab::before {
	position:absolute;
	content:"";
	top:50%;
	left:30px;
	display:inline-block;
	background:url(../images/icon-tab.png) no-repeat;
	background-size:cover;
	width:40px;
	height:40px;
	transform:translateY(-50%);
}
.profile, .post, .hope {
	padding:60px 30px 100px;
}
.post {
	background:var(--skin);
}
dl.prof-list {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	font-size:36px;
	font-weight:400;
	margin-bottom:20px;
	border-bottom:dotted 2px var(--gray);
}
dl.prof-list dt {
	width:40%;
	padding-left:26px;
	padding-bottom:20px;
}
dl.prof-list dd {
	width:60%;
	padding-left:26px;
	padding-right:26px;
	padding-bottom:20px;
}
dl.prof-box {
	font-size:36px;
	font-weight:400;
	margin-bottom:80px;
}
dl.prof-box dt {
	padding-left:26px;
	padding-bottom:20px;
}
dl.prof-box dd {
	line-height:1.2;
	color:var(--purple);
	padding-left:26px;
	padding-right:26px;
}
dl.prof-list dd span, p.txt span {
	color:var(--pink);
}
p.txt {
	font-size:30px;
	line-height:1.1;
	font-weight:400;
	margin-bottom:80px;
}
.profile .btn, .post .btn, .hope .btn {
	width:100%;
	padding-left:30px;
	padding-right:30px;
}
.profile .btn a, .post .btn a, .hope .btn a {
	position:relative;
	display:block;
	background:var(--lightorange);
	height:140px;
	font-size:44px;
	line-height:142px;
	color:var(--gray);
	text-align:center;
	font-weight:500;
	border-radius:20px;
	filter:drop-shadow(0 4px 0 rgba(206,158,40,1));
}
.profile .btn a::before, .post .btn a::before, .hope .btn a::before {
	position:absolute;
	content:">";
	top:50%;
	right:5%;
	font-size:120%;
	transform:translateY(-50%);
}
.post .tweetpost {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:20px;
}
.post .tweetpost picture {
	display:inline-block;
	width:50%;
}
.post .tweetpost picture img {
	width:100%;
	height:100%;
	line-height:0;
}
.post .tweetpost picture:nth-of-type(1) img {
	border:solid 3px rgba(77,128,207,1);
	border-right:none;
	border-radius:30px 0 0 30px;
}
.post .tweetpost picture:nth-of-type(2) img {
	border:solid 3px rgba(77,128,207,1);
	border-left:0;
	border-radius:0 30px 30px 0;
}
@media screen and (max-width:640px) {
.profile_photo_gallery {
	padding:0 5%;
}
.profile_photo_gallery h2 {
	font-size:5.797vw;
	margin-top:1rem;
	margin-bottom:1.5rem;
}
.profile_photo_gallery h2 span {
	margin-left:0.5rem;
}
.profile_photo_gallery .main-img img {
	border-radius:10px;
	border:solid 2px rgba(242,81,149,1);
}
.sub-img {
	display:flex;
	margin:1rem auto 3rem;
}
.sub-img li {
	max-width:16.184vw;
	margin-right:2%;
}
.sub-img li img {
	width:100%;
	height:16.184vw;
}
.profile_photo_gallery .favorite {
	position:absolute;
	content:"";
	top:3%;
	right:3%;
	width:6rem;
	height:6rem;
	padding:1rem;
}
.profile_photo_gallery .entry {
	position:absolute;
	content:"";
	top:100vw;
	right:10%;
	width:10rem;
	height:10rem;
}
.profile_photo_gallery .entry a {
	padding:1rem;
}
.profile_photo_gallery .entry a i {
	padding-top:0.5rem;
	margin-bottom:0.4rem;
}
.profile_photo_gallery .entry a p {
	font-size:2.899vw;
}
.profile_photo_gallery .name {
	position:absolute;
	content:"";
	top:75%;
	left:10%;
}
.profile_photo_gallery .name p {
	font-size:4.348vw;
}
.profile_photo_gallery .name img {
	width:auto;
	height:4.348vw;
	line-height:0;
}

.message {
	width:100%;
	padding:0 0 5rem 5%;
}
.message .message-box {
	padding:1rem;
	margin-left:5%;
	border-radius:16px;
}
.message .message-box .mark {
	top:-3.865vw;
	left:-5%;
	width:17.391vw;
	height:17.391vw;
	border:solid 5px #4D80CF;
}
.message .message-box .mark img {
	width:100%;
	height:100%;
	line-height:0;
}
.message .message-box h3.tab {
	padding-left:12.077vw;
}
.message .message-box h3.tab span {
	height:8vw;
	font-size:3.865vw;
	line-height:8vw;
	padding-left:4rem;
	padding-right:4rem;
	border:solid 2px var(--hotorange);
}
.message .message-box .message-txt {
	font-size:3.623vw;
	padding-left:2rem;
	padding-right:3rem;
	margin-top:2rem;
}
.message .message-box .message-txt::before {
	top:50%;
	right:5%;
	font-size:150%;
}
.message .message-box .detail {
	gap:1rem;
	font-size:2.899vw;
	margin-top:2rem;
	margin-left:0.5rem;
	margin-bottom:1rem;
}
.message .message-box .detail .view img, .message .message-box .detail .mail img {
	width:auto;
	height:2.899vw;
	line-height:0;
}



h2.tab {
	height:6rem;
	font-size:5.314vw;
	line-height:6rem;
	padding-left:12.56vw;
}
h2.tab::before {
	left:5%;
	width:6.28vw;
	height:6.28vw;
}
.profile, .post, .hope {
	padding:3rem 5% 5rem;
}
dl.prof-list {
	font-size:3.865vw;
	margin-bottom:1rem;
}
dl.prof-list dt {
	width:40%;
	padding-left:3%;
	padding-bottom:1rem;
}
dl.prof-list dd {
	width:60%;
	padding-left:3%;
	padding-right:3%;
	padding-bottom:1rem;
}
dl.prof-box {
	font-size:3.865vw;
	margin-bottom:3rem;
}
dl.prof-box dt {
	padding-left:3%;
	padding-bottom:0.5rem;
}
dl.prof-box dd {
	line-height:1.2;
	color:var(--purple);
	padding-left:3%;
	padding-right:3%;
}
p.txt {
	font-size:3.623vw;
	margin-bottom:3rem;
}
.profile .btn, .post .btn, .hope .btn {
	padding-left:3%;
	padding-right:3%;
}
.profile .btn a, .post .btn a, .hope .btn a {
	height:20vw;
	font-size:4.831vw;
	line-height:21vw;
	border-radius:12px;
	filter:drop-shadow(0 2px 0 rgba(206,158,40,1));
}
.post .tweetpost {
	height:44.928vw;
	margin-bottom:1rem;
}
.post .tweetpost picture:nth-of-type(1) img {
	border:solid 2px rgba(77,128,207,1);
	border-right:none;
	border-radius:20px 0 0 20px;
}
.post .tweetpost picture:nth-of-type(2) img {
	border:solid 2px rgba(77,128,207,1);
	border-left:0;
	border-radius:0 20px 20px 0;
}
}
/*================================================
 *  フッター
 ================================================*/
ul.f-nav {
	display:flex;
	justify-content:flex-start;
	flex-direction:row;
	flex-wrap:nowrap;
	gap:24px;
	padding-left:30px;
	padding-right:30px;
	margin-bottom:30px;
}
ul.f-nav li {
	width:calc(100% / 3);
}
ul.f-nav li a {
	display:block;
	background:var(--lightorange);
	width:100%;
	height:100px;
	font-size:22px;
	line-height:100px;
	color:var(--gray);
	text-align:center;
	font-weight:500;
	border-radius:30px;
}
p.copy {
	text-align:center;
}
@media screen and (max-width:640px) {
ul.f-nav {
	display:flex;
	justify-content:flex-start;
	flex-direction:row;
	flex-wrap:nowrap;
	gap:1rem;
	padding-left:3%;
	padding-right:3%;
	margin-bottom:2rem;
}
ul.f-nav li a {
	display:block;
	background:var(--lightorange);
	width:100%;
	height:28.261vw;
	font-size:3.623vw;
	line-height:1;
	color:var(--gray);
	text-align:center;
	padding-left:1rem;
	padding-right:1rem;
	font-weight:500;
	border-radius:20px;
}
ul.f-nav li a span {
	display:flex;
	justify-content:center;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	height:100%;
}
p.copy {
	font-size:2.899vw;
}
}




