@charset "UTF-8";

/* wrap
------------------------------ */
.wrap_main {
  width: 100%;
  margin: 0 auto;
  padding: 8% 0 5%;
}

/* contents
------------------------------ */
.contents_title {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0 0;
}
.contents_logo {
    width: 44%;
    margin: 0 auto;
    padding: 2% 0 .5%;
}
.contents_ttl {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 0;
}
.contents_subject {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 0;
}
.contents_lead {
    width: 100%;
    margin: 0 auto;
    padding: 2% 10% 0;
}
.contents_header {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0 0;
}
.contents_headImg {
    width: 100%;
    margin: 0 auto;
    padding: 0 10% 2%;
}
.contents_subttl {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_pickup {
    width: 100%;
    margin: 0 auto;
    padding: 6% 0;
}
.contents_headline {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_button {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0;
}
.contents_footer {
	width: 100%;
	margin: 0 auto;
    padding: 0;
}

/* box
  ------------------------------ */
.buttonBox_01{
    width: 49%;
    margin: 0;
    padding: 0;
}

/* block
------------------------------ */
.btnBlock_01 {
    width:100%;
    margin: 0 auto;
    padding: 0 3%;
}

/* border
------------------------------ */
.frame_01{
    border: solid 1px #111;
}
.frame_02{
    border: solid 1px #111;
}
.topline_01{
    border-top: solid 1px #111;
}
.underline_01{
    border-bottom: solid 1px #999;
}
.partition_01{
    border-right: solid 1px #111;
}
.ttlBorder_gr{
    border-left: 15px solid #0A7772;
    border-bottom: 2px solid #0A7772;
}

/* element
------------------------------ */

/* inner
------------------------------ */

/* layer
------------------------------ */

/* inner
------------------------------ */

/*part
------------------------------ */

/*space
------------------------------ */

/*hover
------------------------------ */
.figure_series img{
    transition: 0.3s;
}
.figure_series img:hover {
	filter: brightness(0.6);
}
.changeImg {
    position: relative;
}
.changeImg img {
    transition: opacity 0.5s;
}
.changeImg:hover img:first-of-type {
    opacity: 0;
}
.changeImg img:last-of-type {
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
    z-index: 2;
}
.changeImg:hover img:last-of-type {
    opacity: 1;
}

/* center
------------------------------ */
.center_01{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	background-size: contain;
    background-repeat: repeat-y;
    background-position: center;
}


/*background-color
------------------------------ */
.white_bk{
    background: rgba(255,255,255,.8);
}
.gray_bk{
    background: rgba(238,238,238,1);
}
.beige_bk{
    background: rgba(240,238,228,.8);
}
.pink_bk{
    background: rgba(251,222,218,.5);
}
.yellow_bk{
    background: rgba(229,212,118,.6);
}
.margarine_bk{
    background: rgba(238,232,170,.6);
}

/* flex
------------------------------ */
.flexBtn_01 {
    display : -webkit-box;     /* old Android */
    display : -webkit-flex;    /* Safari etc. */
    display : -ms-flexbox;     /* IE10        */
    display : flex;
    -webkit-flex-wrap: wrap;          /* Safari etc. */
    -ms-flex-wrap    : wrap;          /* IE10        */
    flex-wrap        : wrap;
    justify-content: flex-start;
    flex-direction: row;
    column-gap: 2%;
}
.innerFlex_01 {
    display : -webkit-box;     /* old Android */
    display : -webkit-flex;    /* Safari etc. */
    display : -ms-flexbox;     /* IE10        */
    display : flex;
    -webkit-flex-wrap: wrap;          /* Safari etc. */
    -ms-flex-wrap    : wrap;          /* IE10        */
    flex-wrap        : wrap;
    justify-content: flex-start;
    flex-direction: row;
    column-gap: 1%;
}


/* h3 text
------------------------------ */
h3.title{
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    text-align: center;
    color: #2B2B2B;
    font-size: calc(2.2rem * 1.5);
    line-height: calc(3.2rem * 1.5);
    font-weight: normal;
    letter-spacing: .1rem;
}
h3.ttl {
    font-family: "ShipporiMincho";
    margin: 0;
    text-align: center;
    color: #2B2B2B;
    font-size: calc(2rem * 1.5);
    line-height: calc(3rem * 1.5);
    font-weight: normal;
    letter-spacing: .1rem;
}
h3.subject {
    font-family: "ShipporiMincho";
    margin: 0;
    text-align: center;
    color: #2B2B2B;
    font-size: calc(1.6rem * 1.5);
    line-height: calc(2.6rem * 1.5);
    font-weight: normal;
    letter-spacing: .1rem;
}

/* h4 text
------------------------------ */
h4.topic {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #000;
    text-align: center;
    font-size: calc(1.5rem * 1.5);
    line-height: calc(2.5rem * 1.5);
}
h4.headline{
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #000;
    text-align: center;
    align-items: center ;
    font-size: calc(2.2rem * 1.5);
    display: flex ;
}
h4.headline::before{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
	background: #555;
	display: inline-block;
}
h4.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
	background: #555;
	display: inline-block;
}	  
h4.listTop {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #000;
    text-align: center;
    font-size: calc(1.5rem * 1.5);
    line-height: calc(2.5rem * 1.5);
}

/* h5 text
------------------------------ */
h5.topic {
    font-family: "ShipporiMincho";
    margin: 0;
    color: #111;
    text-align: center;
    font-size: calc(2rem * 1.5);
    line-height: calc(3rem * 1.5);
}
h5.headline{
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #111;
    font-size: 2rem ;
    display: flex ;
    text-align: center;
    align-items: center ;
}
h5.headline::before {
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
    color: #000;
}
h5.headline::after{
    align-content: center;
	content: "";
	flex-grow:1;
	margin:0 3rem;
	height: 1px;
    color: #000;
}	

/* p text
------------------------------ */
p.lead {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #111;
    text-align: center;
    font-size: calc(1.2rem * 1.5);
    line-height: calc(2.2rem * 1.5);
    letter-spacing: .2rem;
}
p.explain_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #111;
    text-align: left;
    font-size: calc(1.1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.sentence_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #111;
    text-align: left;
    font-size: calc(1.1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.comment_01 {
    font-family: Lato,Noto Sans JP,sans-serif;
    margin: 0;
    color: #111;
    text-align: left;
    font-size: calc(1.1rem * 1.5);
    line-height: calc(2rem * 1.5);
    letter-spacing: .1rem;
}

/* btn
------------------------------ */
.btnBlock_01 p.btnTxt_01{
    margin: 0 auto;
    display: block;
    padding: 3% 0;
    font-size: calc(1.1rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #505050;
    color: #505050;
}
.btnBlock_01 p.btnTxt_01:hover{
    opacity: 10!important;
    color: #fff!important;
    background: #505050;
}

/* other------------------------------ */
.pc_display{display:block !important;}
.sp_display{display:none !important;}
.br_pc{display: block !important;}
.br_sp{display: none !important;}
.pc_img{display: block !important;}
.sp_img{display: none !important;}


/* --------------------------------
* Note PC
* -------------------------------- */
@media screen and (max-width: 1380px) {
    
}

/* --------------------------------
* yahoo
* -------------------------------- */
@media screen and (max-width: 1100px) {

}
    
/* --------------------------------
* rakuten
* -------------------------------- */
@media screen and (max-width: 850px) {

}

/* --------------------------------
* SP
* -------------------------------- */
@media screen and (max-width:639px) {

    
/* contents
------------------------------ */
.contents_logo {
    width: 64%;
    margin: 0 auto;
    padding: 8.2% 0 6%;
}
.contents_title {
    width: 100%;
    margin: 0 auto;
    padding: 8% 0 0;
}
.contents_ttl {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 1%;
}
.contents_subject {
    width: 100%;
    margin: 0 auto;
    padding: 4% 0 3%;
}
.contents_headImg {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents_lead {
    width: 100%;
    margin: 0 auto;
    padding: 3% 5% 0;
} 
.contents_headline {
    width: 100%;
    margin: 0 auto;
    padding: 2% 2% 4%;
}
.contents_heading {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0 1%;
} 
.contents_subttl {
    width: 100%;
    margin: 0 auto;
    padding: 4% 0 0;
}
.contents_button {
    width: 100%;
    margin: 0 auto;
    padding: 10% 0 4%;
}
.contents_wrapping {
    width: 100%;
    margin: 0 auto;
    padding: 0;
} 
    
    
/* element
------------------------------ */
    
/* box
------------------------------ */
.buttonBox_01 {
    width: 100%;
    margin: 0;
    padding: 0 0 10%;
}
    
/* block
------------------------------ */
.btnBlock_01 {
    width: 100%;
    margin: 0 auto;
    padding: 0 6%;
}
    
/* background
------------------------------ */
.white_bk{
    background: rgba(255,255,255,.7);
}
.gray_bk{
    background: rgba(238,238,238,1);
}
.beige_bk{
    background: rgba(240,238,228,.7);
}

/* border
------------------------------ */
.partition_01{
    border-right: none;
    border-bottom: solid 1px #111;
}

/* inward
------------------------------ */
    
/*inner
------------------------------ */
    
/*parts
------------------------------ */
    
/* layer
------------------------------ */

/* flex
------------------------------ */
.flexBtn_01 {
    flex-direction: column;
}
    
/* h3_text
------------------------------ */
h3.title {
    margin: 0;
    font-size: calc(1.5rem * 1.5);
    line-height: calc(2.3rem * 1.5);
    letter-spacing: .1rem;
}
h3.ttl {
    margin: 0;
    font-size: calc(1.4rem * 1.5);
    line-height: calc(2.4rem * 1.5);
    letter-spacing: .05rem;
}
h3.subject {
    margin: 0;
    font-size: calc(1.4rem * 1.5);
    line-height: calc(2.4rem * 1.5);
    letter-spacing: .05rem;
}

    /* h4 text
------------------------------ */
h4.topic {
    margin: 0;
    font-size: calc(1.3rem * 1.5);
    line-height: calc(2rem * 1.5);
}
h4.headline {
    margin: 0;
    font-size: calc(1.4rem * 1.5);
    line-height:calc(2.4rem * 1.5);
    display: block;
}
h4.headline::before{
    align-content: center;
	content: "";
	flex-grow: 1;
	margin: 2.2% 0 0;
    margin-bottom: 1%;
	height: 1px;
	background: #111;
	display: flex;
}
h4.headline::after {
    align-content: center;
    content: "";
    flex-grow: 1;
    margin: 2% 0 0;
    height: 1px;
    background: #111;
    display: flex;
}
h4.listTop {
    margin: 0;
    font-size: calc(1.3rem * 1.5);
    line-height: calc(2rem * 1.5);
}

    /* h5 text
------------------------------ */
h5.topic {
    margin: 0;
    font-size: calc(1.7rem * 1.5);
    line-height: calc(2.5rem * 1.5);
}
    
/* p text
------------------------------ */
p.lead {
    margin: 0;
    font-size: calc(1rem * 1.5);
    line-height: calc(1.7rem * 1.5);
    letter-spacing: .05rem;
  }
p.text_01 {
    margin: 0;
    font-size: calc(1.05rem * 1.5);
    line-height:calc(2rem * 1.5);
}
p.textBlock_01 {
    margin: 0;
    font-size: calc(1.05rem * 1.5);
    line-height:calc(2rem * 1.5);
    letter-spacing: .1rem;
}
p.itemBtn {
    margin: 0;
    font-size: calc(1.05rem * 1.5);
    line-height:calc(2rem * 1.5);
}
p.ruby {
    margin: 0;
    font-size: calc(1.05rem * 1.5);
    line-height:calc(2rem * 1.5);
    letter-spacing: 0;
}
    
    /* btn
------------------------------ */
.btnBlock_01 p.btnTxt_01 {
    margin: 0 auto;
    display: block;
    padding: 3.5% 0;
    font-size:  calc(1rem * 1.5);
    letter-spacing: .1rem;
    text-align: center;
    text-decoration: none;
}
    
    
/* other
------------------------------ */
.pc_display{display:none !important;}
.sp_display{display:block !important;}
.br_pc{display: none !important;}
.br_sp{display: block !important;}
.pc_img{display: none !important;}
.sp_img{display: block !important;}
    
}