@charset "UTF-8";


/* PC */
@media only screen and (min-width: 1025px) {
	a:hover {
		opacity: .5;
	}

	.header__spmenu__nav li a:hover::after {
		width: 100%;
	}
	
	.header__spmenu__nav li a:hover {
		opacity: .8;
	}

	.header__logo img:hover {
		opacity: .7;
		transform: rotate(-3deg);
	}

	.footer__btn a:hover {
		background: url(../img/arrow1w.png) no-repeat, var(--maincolor);
		background-size: 10px;
		background-position: center;
		box-shadow: 1px 1px 20px #fff;
	}

	input.submit:hover {
		opacity: .7;
	}

	.footer__btn2 li a:hover {
		opacity: 1;
	}

	.trigger .header__box {
		padding: 4px 0;
	}
}


/* Ipad PRO */
@media only screen and (max-width: 1024px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.inner {
		width: 90%;
	}

	.inner2 {
		width: 90%;
	}

	.show .header__bar {
		background: none;
	}

	.show .header__toggle i {
		background-color: var(--maincolor);
	}

	.header__spmenu__nav {
		width: 90%;
		margin: 0 auto;
	}

	.header__spmenu__logo {
		text-align: center;
	}

	.header__spmenu__logo a {
		color: #000;
		margin-bottom: 40px;
	}

	.header__logo a {
		font-size: 1.3rem;
	}

	.header__spmenu__btn {
		width: 60%;
		margin: 0 auto;
	}

	.footer__btn2__li {
		font-size: 1.3rem;
	}

	.footer__btn {
		bottom: 80px;
	}

	.header__logo {
		width: 80%;
	}

	.p1 .ttl {
		padding: 150px 0;
    margin-top: 72px;
	}

	.header__spmenu__ul li {
		width: 100%;
	}

	.header__spmenu__ul li a {
		font-size: 1.5rem;
		padding: 10px 0;
	}
}


/* Ipad */
@media only screen and (max-width: 768px) {

	.inner2 {
		width: 94%;
	}

	.c__en {
		margin-bottom: 40px;
	}

	.p1 .ttl {
		padding: 100px 0;
	}

	/* S2
	--------------------------------------*/
	.s2__ttl {
		font-size: 1.4rem;
	}

	.s2__en {
		font-size: .8rem;
	}

	.s2__name {
		font-size: .9rem;
	}

	.s2__cat {
		font-size: .8rem;
	}

	.s2__date {
		font-size: .9rem;
	}

	.s2__r {
		width: 80%;
	}

	/* S5
	--------------------------------------*/

	.s5__sub {
		margin-bottom: 0px;
	}

	/* S7
	--------------------------------------*/
	.s7 {
		padding: 60px 0;
	}

	.s7__li {
		margin-bottom: 20px;
	}

	/* S8
	--------------------------------------*/
	.s8__ul {
		padding: 30px;
	}

	/* S9
	--------------------------------------*/
	.s9 {
		padding: 60px 0;
	}

	.s9__dt {
		width: 34%;
		font-size: 1.1rem;
	}

	.s9__step span {
		font-size: 2rem;
	}

	.s9__step {
		width: 70px;
		height: 70px;
		left: -35px;
	}

	/* S10
	--------------------------------------*/
	.s10 {
		padding: 60px 0;
	}

	/* TOPICS
	--------------------------------------*/
	.topics__ttl {
		letter-spacing: .06em;
		font-size: .9rem;
	}

	.topics__cat {
		font-size: .8rem;
	}

	input.submit {
		width: 50%;
	}

	.page__service__l {
		width: 30%;
	}

	.page__service__r {
		width: 68%;
	}

	.page__service__btn {
		margin-top: 30px;
	}

	.page__service__name {
		padding-left: 2.4%;
		margin-bottom: 40px;
	}

	.page__service__desc {
		letter-spacing: .03em;
		line-height: 1.7;
	}

	.p2__table {
		width: 80%;
	}


}


/* Iphone */
@media only screen and (max-width: 600px) {

	.onlySp {
		display: block !important;
	}

	.s12__name {
		display: none;
	}

	.inner2 {
		width: 98%;
	}

	.marker {
		padding-bottom: 3px;
		background: linear-gradient(transparent 88%, #FFFE6F 88%);
	}

	.c__ttl {
		font-size: 1.5rem;
		margin-bottom: 4px;
	}

	.c__en {
		margin-bottom: 40px;
	}

	.header__spmenu a {
		font-size: 1.6rem;
	}

	.header__spmenu__nav li a {
		font-size: 1rem;
	}

	.header__spmenu__ul {
		width: 90%;
		margin: 0 auto 20px;
	}

	.header__spmenu__btn {
		width: 90%;
		margin: 0 auto;
	}

	.header__spmenu__logo a {
		font-size: 1.7rem;
		margin-bottom: 30px;
	}

	.slider__catch {
		font-size: 2rem;
	}
	
	.slider__desc {
	width: 100%;
	font-size: .7rem;
	}

	.slick-next:before, .slick-prev:before {
		display: none;
	}
	
	.footer__box {
		flex-direction: column-reverse;
	}

	.footer__box__l {
		width: 100%;
	}

	.footer__box__r {
		width: 100%;
		margin-bottom: 40px;
	}

	.p1 .ttl {
		font-size: 1.5rem;
		padding: 60px 0;
	}

	/* S2
	--------------------------------------*/
	.s2 {
		padding: 40px 0;
	}

	.s2__l {
		width: 100%;
		text-align: center;
		margin-bottom: 40px;
	}

	.s2__r {
		width: 100%;
	}

	.s2__name {
		width: 100%;
	}

	.s2__date {
		width: 30%;
	}

	.s2__cat {
		width: 30%;
        margin-right: 36%;
	}

	/* S3
	--------------------------------------*/
	.s3__ttl {
		font-size: 1.6rem;
	}

	.s3__li {
		width: 100%;
		margin-bottom: 20px;
	}

	.s3__li:nth-child(3n+2) {
		transition-delay: initial;
	}
	
	.s3__li:nth-child(3n) {
		transition-delay: initial;
	}


	/* S5
	--------------------------------------*/
	.s5__li {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		margin-bottom: 20px;
	}

	.s5__li__l {
		width: 48%;
	}

	.s5__li__r {
		width: 48%;
	}

	.s5__sub {
		padding: 2px 0;
	}

	.s5__sub__en {
		font-size: 1.2rem;
		text-align: left;
	}

	.s5__sub__ttl {
		text-align: left;
		margin-bottom: 6px;
	}

	.s5__li:nth-child(3n+2) {
		transition-delay: initial;
	}
	
	.s5__li:nth-child(3n) {
		transition-delay: initial;
	}


	/* S6
	--------------------------------------*/
	.s6__li {
		width: 46%;
		padding: 0;
	}

	.s6__li__l {
		width: 100%;
		margin-bottom: 6px;
	}

	.s6__li__r {
		width: 100%;
	}

	.s6__plan {
		padding-left: 0;
		text-align: center;
	}

	.s6__price {
		padding-left: 0;
		font-size: 1.6rem;
		text-align: center;
	}

	.s6__price span {
		font-size: 1rem;
	}

	.s6__btn a {
		width: 60%;
	}


	/* S7
	--------------------------------------*/

	.s7__li {
		width: 48%;
		margin-bottom: 20px;
	}

	.s7__li:nth-child(4n+2) {
		transition-delay: initial;
	}
	
	.s7__li:nth-child(4n+3) {
		transition-delay: initial;
	}
	
	.s7__li:nth-child(4n) {
		transition-delay: initial;
	}

	.s7__li:nth-child(2n) {
		transition-delay: .3s;
	}

	.s7__sub {
		font-size: .85rem;
	}

	.s7__name small {
		font-size: .7rem;
	}


	/* S8
	--------------------------------------*/
	.s8__sub {
		font-size: 1.6rem;
	}

	.s8__ul {
		border-radius: 10px;
	}

	.s8__li {
		width: 100%;
		border-radius: 10px;
		margin-bottom: 12px;
	}

	.s8__li span {
		display: inline;
		font-size: 1rem;
	}
	
	.s8__li small {
		display: inline;
	}

	.s8__info {
		letter-spacing: .04em;
	}

	.s8__btn a {
		width: 60%;
	}

	/* S9
	--------------------------------------*/
	.s9 {
		padding: 60px 0 30px;
	}

	.s9__en  {
		margin-bottom: 60px;
	}

	.s9__dt {
		width: 100%;
        font-size: 1.3rem;
        margin-bottom: 10px;
	}

	.s9__dd {
		width: 100%;
	}

	.s9__li {
		padding: 30px 20px 20px;
		margin-left: 0px;
	}

	.s9__step {
		top: initial;
		transform: initial;
		top: -30px;
        left: 10px;
	}

	.s9__ul::before {
		width: 60px;
		left: 50%;
		transform: translateX(-50%);
	}

	.s9__li:last-child {
		margin-bottom: 0;
	}


	/* S10
	--------------------------------------*/
	.s10 {
		padding: 40px 0;
	}

	.s10__li {
		background: linear-gradient(170deg, #d2a6d7 0%, #d2a6d7 26%, var(--maincolor) 26%, var(--maincolor) 100%);
		border-radius: 10px;
		padding: 60px 20px 30px;
		margin-bottom: 70px;
	}

	.s10__li:last-child {
		margin-bottom: 0;
	}

	.s10__li::before {
		left: -30px;
		top: -340px;
		transform: rotate(80deg);
	}

	.s10__li::after {
		left: 50%;
		top: 0px;
		transform: translate(-50%, -50%);
	}

	.s10__en {
		margin-bottom: 70px;
	}


	/* S11
	--------------------------------------*/
	.s11__before {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.s11__arrow {
		width: 20%;
        margin: 0 auto;
		padding-top: 20px;
		padding-bottom: 20px;
		transform: rotate(90deg);
	}

	.s11__after {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.s11__dl {
		padding: 12px;
	}

	.s11__dt {
		width: 34%;
	}

	.s11__dd {
		width: 64%;
	}

	.s11__txt {
		text-align: left;
	}

	.s11__btn a {
		width: 60%;
	}


	/* S12
	--------------------------------------*/
	.s12 {
		padding: 60px 0 80px;
	}

	.s12__r {
		width: 80%;
		margin: 0 auto;
	}

	.s12__l {
		width: 78%;
		margin: 0 auto 18px;
	}

	.s12__l__box {
		align-items: center;
	}

	.s12__l__box img {
		width: 46%;
	}

	.s12__l__box p {
		width: 48%;
	}

	.s12__single:last-child {
		margin-bottom: 0;
	}

	.s12__comment {
		padding: 30px;
	}

	.topics__l {
		width: 100%;
		margin-bottom: 40px;
	}

	.topics__r {
		width: 100%;
		padding: 20px;
		box-sizing: border-box;
	}

	.widget__ttl {
		margin-bottom: 6px;
	}

	.page__contactform {
		width: 90%;
		padding: 40px 30px;
		border-radius: 14px;
	}

	.p2 .page__contactform .ttl {
		font-size: 1.3rem;
	}

	.p2 .page__contactform .en {
		margin-bottom: 30px;
	}

	input.submit {
		width: 80%;
	}

	.page__service__l {
		width: 80%;
		margin: 0 auto 20px;
	}

	.page__service__r {
		width: 100%;
		padding: 40px 40px 0px;
	}

	.page__service__btn {
		text-align: center;
	}

	.page__service__name {
		font-size: 1.4rem;
		padding-left: 4.4%;
	}

	.p2__table {
		width: 100%;
		padding-top: 0;
		padding-bottom: 0;
	}

	.table1 th {
		width: 20%;
		min-width: 70px;
	}

	.gmap {
		padding-bottom: 56.25%;
		width: 100%;
		margin-bottom: 30px;
	}

	.footer__box__nav {
		width: 100%;
    	margin: 0 auto;
	}

	.footer__box__nav li {
		padding: 4px 0;
	}

	.s3__li:nth-child(1), .s3__li:nth-child(2), .s3__li:nth-child(3) {
		background-position: 80px center;
	}

	.header__spmenu__btn ul li a {
		font-size: 1rem;
	}

	.footer__btn2__li {
		font-size: 1rem;
	}

	.footer__btn2__li.mail span {
		background-size: 18px;
	}

	.footer__btn {
		bottom: 70px;
	}

	.header__box {
		width: 93%;
	}

	.header__txt {
		font-size: .86rem;
		font-weight: lighter;
	}

	.p1 .ttl {
		padding: 80px 0;
	}

	.topics__box {
		padding: 30px;
	}

	.single .topics__ttl {
		margin-bottom: 20px;
	}

	.header__spmenu__ul li a {
		font-size: 1rem;
		padding: 8px 0;
	}

	.topics {
		padding: 60px 0;
	}

	

}