/* CSS Document */

/*- File name [ style.css ] -*/

/*------------------------------------------------------------------------------------------------------------------------------------------

* 変更領域

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

.m-plus-rounded-1c {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-style: normal;
}

.noto-sans-jp {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}



/* body 
-----------------------*/

body{
    background: url(../img/bg.jpg) repeat-y center top;
    background-size: cover;
}

body, body * {
    font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	color: #333;
}



/* footer 
-----------------------*/

footer .inner{
    background-color: #ffffff;
}

footer .inner p {
    font-weight: 500;
	color: #2b5799;
}



/* main 
-----------------------*/

main {
    border: clamp(10px, 1.5625vw, 20px) solid #f3ebd6;
}



/* title 
-----------------------*/

/* h3.title span {} */



/* box_center 
-----------------------*/

/* .box_center {} */

/* .box_center > * {} */



/* top 
-----------------------*/

/* #top {} */



/* btm 
-----------------------*/

#btm {
    padding-bottom: clamp(40px, 6.25vw, 80px);
    position: relative;
}

#btm::after, #btm::before{
    content: "";
    display: block;
    background: url(../img/parts01.svg) no-repeat center;
    background-size: contain;
    aspect-ratio: 1 / 1;
    width: clamp(40px, 6.25vw, 80px);
    position: absolute;
    bottom: calc(clamp(10px, 1.5625vw, 20px) * -1);
}

#btm::before{
    transform: rotate(-90deg);
    left: calc(clamp(10px, 1.5625vw, 20px) * -1);
}

#btm::after{
    transform: rotate(180deg);
    right: calc(clamp(10px, 1.5625vw, 20px) * -1);
}



/* rule
-----------------------*/

#rule #rule_inner {
    background-color: #ffffff;
    padding-inline: clamp(10px, 3.125vw, 40px);
}

#rule #rule_inner .itemLists > dd:last-of-type{
    padding-bottom: 0;
}

* + #rule{
    margin-top: clamp(50px, 7.8125vw, 100px);
}



/* insta
-----------------------*/

#insta .inner #insta_f_link{
    background-image: linear-gradient(90deg, #f6416c, #b210ff);
}





/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print, screen and (min-width: 768px) {

	/* rule
    -----------------------*/

}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print, screen and (min-width: 1024px) {

    /* main 
    -----------------------*/
    
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print, screen and (min-width: 1280px) {}







/*------------------------------------------------------------------------------------------------------------------------------------------

* fv

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

.fv{
    position: relative;
}

.fv::after, .fv::before{
    content: "";
    display: block;
    background: url(../img/parts01.svg) no-repeat center;
    background-size: contain;
    aspect-ratio: 1 / 1;
    width: clamp(40px, 6.25vw, 80px);
    position: absolute;
    top: calc(clamp(10px, 1.5625vw, 20px) * -1);
}

.fv::before{
    left: calc(clamp(10px, 1.5625vw, 20px) * -1);
}

.fv::after{
    transform: rotate(90deg);
    right: calc(clamp(10px, 1.5625vw, 20px) * -1);
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	.fv img{
        margin-inline: auto;
        min-height: 480px;
        object-fit: cover;
    }
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* about_contents

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

#about_contents{
    padding-inline: 16px;
}

#about_contents #about_contents_inner{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    background: url(../img/about/bg_sp.png) no-repeat center;
    background-size: contain !important;
    aspect-ratio: 1 / 1.262;
}

#about_contents #about_contents_inner h3 img{
    margin-inline: auto;
    width: 60vw;
}

#about_contents #about_contents_inner *{
    text-align: center;
    color: #ffffff;
}

#about_contents #about_contents_inner a{
    text-decoration: underline;
}

#about_contents #about_contents_inner a:hover{
    text-decoration: none;
}

* + #about_contents{
    margin-top: clamp(50px, 7.5vw, 96px);
}




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {

    #about_contents #about_contents_inner{
        background: url(../img/about/bg_pc.png) no-repeat center;
        aspect-ratio: 1 / 0.365;
        margin-inline: auto;
        max-width: 960px;
    }

    #about_contents #about_contents_inner h3 img{
        max-width: 460px;
        width: 48vw;
    }
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* present_contents

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/

#present_contents img{
    margin-inline: auto;
}

* + #present_contents{
    margin-top: clamp(50px, 7.8125vw, 100px);
}



/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	#present_contents{
        padding-inline: clamp(10px, 1.3020833333vw, 20px);
    }
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}







/*------------------------------------------------------------------------------------------------------------------------------------------

* Add Sample Code

------------------------------------------------------------------------------------------------------------------------------------------*/

/* screen width 768px未満
---------------------------------------------------------------------*/




/* 横向き用
---------------------------------------------------------------------*/

@media (orientation: landscape) {
}




/* TAB用768px～（TAB）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {
	
	
	
}




/* iPad pro・ノートPC用1024px～（NPC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1024px) {
	
	
	
}




/* PC用1280px～（PC）
---------------------------------------------------------------------*/

@media print,screen and (min-width: 1280px){
	
	
	
}