@charset "UTF-8";


article {
    padding-top: 200px;
}
@media screen and (max-width: 1024px) {
	article {
        padding-top:0;
    }
}
.mv_block {
   /* background: url("../../img/2023/mv_bg.png");*/
    position: relative;
    width: 100%;
}
.mv_block img {
    height: auto;
    width: 100%;
}
.mv_block:before {
    content: '';
    display: inline-block;
    position: absolute;
    width: 345px;
    height: 240px;
 /* background-image: url("../../img/2023/mv_bg_pattern.png");
  background-size: contain;*/
  bottom: 80px;
  left: calc(50% - 800px);
}
@media screen and (min-width: 1281px) {
.mv_L{display: blodk;}
.mv_M{display: none;}
.mv_S{display: none;}
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
.mv_L{display: none;}
.mv_M{display: block;}
.mv_S{display: none;}
}
@media screen and (max-width: 768px) {
.mv_L{display: none;}
.mv_M{display: none;}
.mv_S{display: block;}
}


.mv_block .sns_box,
.sns_box_sp {
    background-image: url("../../img/2023/btn_sns_area.png");
  background-size: contain;
    height: 234px;
    width: 278px;
    position: absolute;
    bottom: -100px;
    right: 60px;
    text-align: center;
    z-index:2;
}
.sns_box_sp {
    position: fixed;
    bottom: 100px;
    right: 0px;
}
.mv_block .sns_box .btn_display,
.sns_box_sp .btn_display {
    background: #333;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
    top:60px;
    right: 10px;
    width: 40px;
    height: 40px;
    transition-duration: 0.3s;
}
.mv_block .sns_box .btn_display:before,
.sns_box_sp .btn_display:before,
.mv_block .sns_box .btn_display:after,
.sns_box_sp .btn_display:after {
 /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 24px; /* 棒の高さ */
  background: #fff;
}
.mv_block .sns_box .btn_display:before,
.sns_box_sp .btn_display:before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.mv_block .sns_box .btn_display:after,
.sns_box_sp .btn_display:after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.sns_box ul,
.sns_box_sp ul {
    display: flex;
    justify-content: center;
    margin-top: 100px;
}
.sns_box ul li,
.sns_box_sp ul li {
    margin: 5px;
}
.sns_box ul li a,
.sns_box_sp ul li a {
    display: block;
}
.sns_box ul li a img,
.sns_box_sp ul li a img {
	transition-duration: 0.3s;
}
.mv_block .sns_box .btn_display:hover,
.sns_box_sp .btn_display:hover,
.sns_box ul li a:hover img,
.sns_box_sp ul li a:hover img {
    transform: scale(1.1);
	transition-duration: 0.3s;
}
.mv_block .sns_box .btn_display:hover,
.sns_box_sp .btn_display:hover {
    cursor: pointer;
}
/*フッターまでスクロールしたら消すため*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}



.mv_main {
    margin: auto;
    position: relative;
    width: 1280px;
}
@media screen and (max-width: 1024px) {
    .mv_block {
        background: none;
        height: auto;
        position: relative;
        width: 100%;
    }
    .mv_main {
        width: 100%;
    }
}


/*------------------------------------------------------------
	Wrapper
------------------------------------------------------------*/
.p-index-wrapper {
    padding: 35px 15px 80px;
    /* background: url("../../img/2022/bg.png"); */
    background-size: cover;
}
/*------------------------------------------------------------
	Header
------------------------------------------------------------*/
.p-header {
    font-size: 0;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto 50px;
    padding: 0 15px;
}
.p-header img {
    max-width: 100%;
}
/*------------------------------------------------------------
	Header
------------------------------------------------------------*/
.p-footer {
    padding: 25px 15px;
    background: #EA6CA4;
}
.p-footer {
    font-size: 0.8rem;
    text-align: center;
    color: #FFF;
}
/*------------------------------------------------------------
	Main Image
------------------------------------------------------------*/
.p-main {
    position: relative;
    max-width: 1200px;
    margin: auto;
}
@media screen and (max-width: 767px) {
.p-main{
	max-width:100%;
}}

.p-main-img {
    font-size: 0;
    border-radius: 15px;
    overflow: hidden;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.1);
    border: 1px solid #FFF;
}
.p-main-img img {
    width: 100%;
}
.p-main-btn-item {
    width: 400px;
    position: absolute;
    z-index: 1;
}
.p-main-btn-item img {
    width: 100%;
}
.p-main-btn-item.is-01 {
    left: -50px;
    top: 100px;
}
.p-main-btn-item.is-02 {
    width: 320px;
    right: 120px;
    bottom: 150px;
}
.p-main-btn-item.is-03 {
    width: 320px;
    left: -50px;
    bottom: 20px;
}
.p-main-btn-item > a {
    display: block;
}
.p-main-btn-item > a > img {
    width: 100%;
    transition: 0.2s;
}
.p-main-btn-item > a:hover > img {
    transform: scale(1.1);
}
@media screen and (max-width: 1024px) {
.p-header {
    max-width: 700px;
}
.p-main-btn-item.is-01 {
    width: 250px;
    left: -15px;
    top: 5%;
}
.p-main-btn-item.is-02 {
    width: 250px;
    right: 0px;
    bottom: 10%;
}
.p-main-btn-item.is-03 {
    width: 250px;
    left: -15px;
    bottom: 20px;
}
}
@media screen and (max-width: 767px) {
.p-main-btn-item.is-01 {
    width: 150px;
    left: -15px;
    top: 3%;
}
.p-main-btn-item.is-02 {
    width: 115px;
    right: -10px;
    bottom: 15%;
}
.p-main-btn-item.is-03 {
    width: 150px;
    left: -30px;
    bottom: -30px;
}
}
/*------------------------------------------------------------
	Banner
------------------------------------------------------------*/
.p-bnr {
    margin: 50px auto 0;
    max-width: 1200px;
}
.p-bnr-item {
    font-size: 0;
    border-radius: 10px;
    overflow: hidden;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.1);
}
.p-bnr-item > a {
    transition: 0.2s;
    display: block;
}
.p-bnr-item > a:hover {
    opacity: 0.7;
}
.p-bnr-item > a > img {
    width: 100%;
}
@media screen and (max-width: 767px) {
.p-bnr-item {
    margin-top: 20px;
}
}



/*------------------------------------------------------------
	whatsnew
------------------------------------------------------------*/
div.newsarea {
	box-sizing: border-box;
    max-width: 1200px;
	padding:0;
	margin:50px auto 0;
}
div.newsarea h2 {
    margin-bottom: 10px;
    text-align: left;
}
div.newsarea div.ovfl {
    background: #fffdf2;
    border: #333 solid 1px;
    border-radius: 20px;
    padding: 5px 15px;
	width:100%;
	height:360px;
	overflow:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling: touch;
}
div.newsarea div.ovfl dl {
	padding:12px 8px;
	border-bottom:1px dashed #999;
}
div.newsarea div.ovfl dl:last-child {
	border-bottom:none;
}
div.newsarea div.ovfl dl dt {
	font-size:80%;
	line-height:120%;
	color:#ff7bac;
    float:left;
    clear:left;
    width:7em;
}
div.newsarea div.ovfl dl dd {
	font-size:90%;
	line-height:120%;
    margin-left: 7em;
}
div.newsarea div.ovfl dl dd a {
    color: #333;
}
div.newsarea div.ovfl dl dd a:hover {
    color: #888;
    text-decoration: underline;
}




@media screen and (max-width: 1024px) {
div.newsarea {
	width:100%;
	max-width:100%;
	float:none;
	padding:0 15px;
margin: 0 auto 0;
}
}
div.newsarea h2 {
	padding:16px 0;
}
div.newsarea div.ovfl {
	height:300px;
}
}


/*------------------------------------------------------------
	charmpoint
------------------------------------------------------------*/
div.charmpoint {
	box-sizing: border-box;
    max-width: 1200px;
	padding:0;
	margin:50px auto 0;
}
div.charmpoint h2 {
    margin-bottom: 10px;
}
.charmpoint_list {}

.charmpoint_list li {
    margin-bottom: 30px;
    margin-top: 10px;
}
.charmpoint_list_point {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.charmpoint_list_point.reverse {
    flex-direction: row-reverse
}
.charmpoint_list_point .charm_txt {
    box-sizing: border-box;
    padding: 10px 0 0 60px;
    position: relative;
    width: 580px;
}
.charmpoint_list_point .charm_txt h3 {
    color: #0a3264;
    font-size: 32px;
    font-weight: normal;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 20px;
    display: inline;
    background: linear-gradient(transparent 60%, #fcfc94b5 40% );
}
.charmpoint_list_point .charm_txt p {
    line-height: 1.8;
}
.charm_txt_list{
    position: relative;
    left: -4em;
    top: 2em;
}
.charm_txt_list li {
    padding-left: 1em;
    position: relative;
}
.charm_txt_list li:before {
    content:  "";
    width: 4px;
    height: 4px;
    display:  inline-block;
    background-color: #666;
    position:  absolute;
    top: 15px;
    left: 0;
    border-radius:  50%;
    margin: 0 0.2em;
}
.charmpoint_list_point .charm_txt {
    background: url("../../img/2024/top/ttl_charmpoint01_num.png") no-repeat left 5px;
    background-size:6%;
}
.charmpoint_list_point .charm_txt.charm_02 {
    background: url("../../img/2024/top/ttl_charmpoint02_num.png") no-repeat left top;
    padding: 20px 0 0 100px;
    background-size: 12%;
}
.charmpoint_list_point .charm_txt.charm_03 {
    background: url("../../img/2024/top/ttl_charmpoint03_num.png") no-repeat left top;
    padding: 20px 0 0 100px;
    background-size:12%;
}
.charmpoint_list_point .charm_txt p {
    position: relative;
    left: -4em;
    top: 3em;
}

.charmpoint {
    margin-top: 3em;
}

.charm_img_list {
    /* width: 550px; */
}
.charm_img_list img {
    height: auto;
}
.charm_img_list li {
}
.float_left {
    text-align: left;
}
.float_right {
    text-align: right;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    div.charmpoint {
        padding: 0 15px;
        width: 100%;
    }
    .charm_img,
    .charm_img_list {
        flex:1;
        width: auto;
    }
    .charm_img img,
    .charm_txt_list img {
        height: auto;
        max-width: 100%;
    }
    .charmpoint_list_point .charm_txt {
        width: 50%;
    }
    .charmpoint_list_point .charm_txt h3 {
        font-size: 3vw;
    }

}
@media screen and (max-width: 768px) {
    div.charmpoint {
        margin-top: 0;
        padding: 2em 1em;
        width: 100%;
        max-width: 100%;
    }
    div.charmpoint h2 img {
        height: auto;
        max-width: 100%;
    }
    .charmpoint_list_point {
        display: block;
    }
    .charmpoint_list_point .charm_txt {
        width: 100%;
        max-width: 100%;
    }
    .charm_img,
    .charm_img_list {
        /* margin-top: 40px; */
        text-align: center;
    }
    .charm_img_list img {
        height: auto;
        max-width: 100%;
    }
    .charm_img img {
        height: auto;
        max-width: 90%;
    }
    .charm_img_list {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

.charmpoint_list li {
    margin-bottom: 10px;
}

}

/*------------------------------------------------------------
	philosophy
------------------------------------------------------------*/
.philosophy {
    background: url("../../img/2024/top/bg_notebook.png");
    background-repeat: no-repeat;
    background-size: contain;
    box-sizing: border-box;
    /* box-shadow: 2px 2px 4px #999; */
    max-width: 1144px;
    padding: 2em 2em;
    margin: 50px auto;
    text-align: center;
}
.philosophy h2 span {
    color: #0a3264;
    display: block;
    font-size: 24px;
    font-weight: bold;
}
.philosophy_list {
    counter-reset: number;
    display: inline-block;
    list-style-type: none;
    margin: 20px auto 30px;
    position:relative;
}

@media screen and (min-width: 1025px) {
.philosophy_list:before {
    position:absolute;
    display:block;
    content:"";
    background: url("../../img/2024/top/img_philosophy_01.png");
    width: 150px;
    height: 350px;
    background-size: contain;
    left: -70%;bottom: 0;
}
.philosophy_list:after {
    position:absolute;
    display:block;
    content:"";
    background: url("../../img/2024/top/img_philosophy_02.png");
    width: 150px;
    height: 350px;
    background-size: contain;
    right: -70%;bottom: 0;

}
}
.philosophy_list li {
    font-size: 120%;
    margin-bottom: 10px;
    padding-left: 40px;
    position: relative;
    text-align: left;
}
.philosophy_list li:before {
    content: counter(number);
    counter-increment: number;
    padding: 0 0.2em;
    position: absolute;
    top: 0;
    left: .4em;
    text-align: center;
}
.philosophy_list li:after {
    content: '';
    position: absolute;
    display: block;
    top: 20px;
    left: 0;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border: 1px solid #000;
    border-radius: 50%;
    }

@media screen and (max-width: 1024px) {
	.philosophy_list li {
    font-size: 110%;
}
		.philosophy_list li:before {top: .25em;left: .5em;}
	 .philosophy h2{
		 position:relative;
	 }
    .philosophy {
        box-shadow: none;
        max-width: 90%;
        background: url(../../img/2024/top/bg_notebook_sp.png) no-repeat;
        background-position: top center;
        background-size: 90%;
        /* padding-bottom: 12em; */
        border: #0a3264 5px solid;
        position: relative;
        background: #daf3f7;
        z-index: -1;
    }

#philosophy:before {
    content: "";
    /* border: #DAF3F7 17px solid; */
    width: 90%;
    height: 92%;
    display: block;
    background: #fff;
    position: absolute;
    bottom: 5%;
    left: 5%;
}

}
@media screen and (max-width: 768px) {
    .philosophy h2 img {
        height: auto;
        width: 80%;
        z-index: 9;
    }
}
@media screen and (max-width: 768px){

.charmpoint_list_point .charm_txt h3 {
    font-size: 1.8em;
    line-height: 1.5em;
}

ul.charm_txt_list {
    left: 0;
    top: 0;
}

.charmpoint_list_point .charm_txt h3 {
    width: 85%;
    margin: 0em 0 0 15%;
    display: block;
}

.charmpoint_list_point .charm_txt, .charmpoint_list_point .charm_txt.charm_02,.charmpoint_list_point .charm_txt.charm_03 {
    padding: 0;
    background-size: 7.5%;
}
.charm_txt.charm_01{
	 background-size: 4.5%;
}
.charmpoint_list_point .charm_txt p{
    left:0;
    top: 2em;
    display: block;
    color: #0A3264;
}

}

/*------------------------------------------------------------
	pc/sp
------------------------------------------------------------*/
.p-for_pc {
	display: block;
}
.p-for_sp {
	display: none;
}
@media screen and (max-width: 767px) {
.p-for_pc {
	display: none;
}
.p-for_sp {
	display: block;

}

}






