@charset "utf-8";
/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:16px; line-height:2em; letter-spacing:1px; color:#000;-webkit-text-size-adjust:100%; font-weight:400;font-family:'futura-pt', 'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;}
table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5, h6{ padding:0px; margin:0px; font-size:100%; font-weight:normal; }
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom; }
table td { border:none; vertical-align:top; }
.text99 { text-indent:-9999px; }
a{-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
a:hover { text-decoration:none; }
a:hover { opacity:0.5; filter:alpha(opacity=50);-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
/*▲ 初期化 ▲*/
.mb30{ margin-bottom:30px;}
.mb50{ margin-bottom:50px;}


/*▼エリア・背景設定▼*/
body{}
#body-top{ background:url("../images/common/mp-bk.jpg")center 120px no-repeat; overflow:hidden;}
#home #body-top{ background:url("../images/home/mp-bk.jpg")center 120px no-repeat; overflow:hidden;}



h1{ text-indent:-9999px; height:0;}

/*▼ヘッダー▼*/
#header{ max-width:1500px; min-width:1100px; margin:auto; height:120px; position:relative;}
#header #hmid{ overflow:hidden; position:relative;}
#header .left{ float:left; padding-top:15px;}
#header .left a{ display:inline-block; text-decoration:none;}
#header .left .p-01{ background:#2059A6; color:#FFF; display:inline-block; padding:3px 10px; border-radius:5px; margin-bottom:6px; font-size:14px; letter-spacing:normal;}
#header .left .p-02{ font-size:25px; font-weight:700;}


#header .right{ display:inline-block;float:right; padding-top:15px; vertical-align: top;}
#header .right a{ text-decoration:none;}
#header .right .area-tel { display:inline-block;}
#header .right .area-tel a{ background:#2396C0; height:80px; width:180px; text-align:center;display:flex;align-items: center/* ←縦の中央揃え */;justify-content: center/* 横も中央 */;flex-direction: column; border-radius:10px;margin-right:20px;}
#header .right .area-tel .ico{ margin-bottom:10px;}
#header .right .area-tel .ico img{ margin:0 5px;}
#header .right .area-tel .p-tel{ font-size:22px; font-weight:bold; color:#FFF;font-family: "Kosugi", sans-serif;}

#header .right .area-contact { display:inline-block; vertical-align:top;}
#header .right .area-contact a{ background:#2059A6;height:80px; width:180px; text-align:center;display:flex;align-items: center/* ←縦の中央揃え */;justify-content: center/* 横も中央 */;flex-direction: column; border-radius:10px; float:right;}


#header .right .area-contact .ico img{ margin:0 5px;}
#header .right .area-contact .p-contact{ font-size:22px; font-weight:bold; color:#FFF;}
/* 横幅が1330px以下の場合に適用するスタイル */
@media (max-width:1330px) {
#header .bnr{ width:15%; position:relative; top:30px; transition:.5s; margin-right:10px;}
#header .bnr img{ transition:.5s;}
}



/*▼メインナビゲーション▼*/
#navi{ text-align:center; padding-top: 40px; display:inline-block; float:right;}
#navi ul{ height: 45px;}
#navi li { display:inline-block; font-size:16px; font-weight:600; text-align:center; padding:0 12px; position:relative;}
#navi li a{ color:#333; text-decoration:none; position:relative; display:block; padding:0px 10px 20px;}
#navi li a:hover{ opacity:1; transition:0.3s; color:#2059A6;}
#navi li a:after /*ナビ下線*/{ content:""; position:absolute; left:0; bottom:0px;width:100%; height:3px;background:#2059A6;transform:scale(0, 1);transition:0.3s;}
#navi li a:hover:after{ transform:scale(1);}
#navi li:last-child{ margin-right:0px;}



/*▼メインビジュアル▼*/
#mp{ padding:50px 0 100px; position:relative;}
#mp .area-01{ width:1500px; margin:auto; position:relative; border-radius:20px; overflow:hidden;}
#mp .area-01 img{}
#mp .area-01 .p-01{ font-size:40px; font-weight:bold; color:#fff; line-height:2em; letter-spacing:3px; position:absolute; top:160px; left:0px; right:0; margin:auto; text-align:center; font-family:"Zen Maru Gothic", serif;}
#mp .area-01 .p-01 span{ font-size:20px; font-weight:bold; display:block; line-height:1.5em;}

#mp .sakura1{ position:absolute; left:0px; right:1500px; bottom:0; margin:auto;}
#mp .sakura2{ position:absolute; left:1500px; right:0; top:0; margin:auto;}

#hmp{ max-width:1920px;margin:auto;position:relative; margin-bottom:100px;}
#hmp .sakura1{ position:absolute; left:0px; right:1500px; bottom:0; margin:auto;}
#hmp .sakura2{ position:absolute; left:1500px; right:0; top:0; margin:auto;}
#hmp .mp-text{ position:absolute; left:0; top:30%; background:url(../images/home/mp-text.png); width:896px; height:223px;}
#hmp .mp-text p{ font-size:30px; font-weight:bold; text-align:left; font-family:"Zen Maru Gothic", serif; margin:75px 0 0 250px; letter-spacing:5px;}
#hmp .mp-text p span.lg{ font-size:36px; letter-spacing:8px;}

#hmp .area-01 { position: absolute; z-index: 1000; top: -1px; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); left: 149px; }
#hmp .area-01 .p-01{background:#2059A6; color:#FFF; display:inline-block; padding:3px 10px; margin-bottom:6px; font-size:44px; margin-bottom:20px;}
#hmp .area-01 .p-02{background:#2396C0; color:#FFF; display:inline-block; padding:3px 10px; margin-bottom:6px; font-size:30px;}






/*▼フッター▼*/
#footer {}
#footer #fmid{ max-width:1500px; min-width:1200px; margin:auto; padding:90px 0 100px; overflow:hidden;}
#footer #fmid .left{ float:left; padding:0px 0 0 20px;}
#footer #fmid .fname{ margin-bottom:20px;}
#footer #fmid .fname a{ display:block; text-decoration:none;}
#footer #fmid .fname img{ vertical-align:middle; margin-right:15px;}
#footer #fmid .fname .inner{ vertical-align:middle; display:inline-block;}
#footer #fmid .fname .inner p{ font-size:32px; font-weight:bold; color:#5a4c42;}
#footer #fmid .fname .inner p span{ display:block; font-size:15px; letter-spacing:normal; margin-bottom:0px; line-height:1.4em;}
#footer #fmid .fname .p-01{ font-size:14px; letter-spacing:normal; padding-top:5px;}

#footer #fmid .ftel{ display:inline-block; text-align:center; margin-right:20px;}
#footer #fmid .ftel .p-01 { font-size:14px; color:#404040; letter-spacing:normal; display:block; margin-bottom:5px;}
#footer #fmid .ftel .p-tel{ font-size:34px; font-weight:bold; display:inline-block; letter-spacing:normal; line-height:1em; font-family:"Zen Maru Gothic", serif; margin-bottom:5px; letter-spacing:2px;}
#footer #fmid .ftel .p-tel a{ background:url("../images/common/ico-tel.png") left 10px no-repeat; color:#de7f88; display:block; text-decoration:none; padding-left:23px;}
#footer #fmid .sns{ text-align:center; display:inline-block;}
#footer #fmid .sns a{ display:inline-block; text-decoration:none; margin-right:10px;}
#footer #fmid .sns a:last-child{ margin-right:0;}



#footer #fmid .right{ float:right; text-align:right; padding-right:20px;}
/*フッターナビ*/
#fnavi{ text-align:center; margin-bottom:135px;}
#fnavi li { display:inline-block; font-size:16px; font-weight:bold; position:relative; margin:0 18px; font-family:"Zen Maru Gothic", serif;}
#fnavi li a{ color:#5a4c42; text-decoration:none; position:relative; display:block;}
#fnavi li ul{ position:absolute; top:40px; left:0;}
#fnavi li ul li{ font-size:14px; text-align:left; display:block; margin:0 0 8px;}
#fnavi li ul li i{ font-size:11px; margin-right:3px; position:relative; top:-1px;}
#fnavi li a:hover{ color:#de7f88; opacity:1; transition:0.3s;}
#fnavi li:last-child{ margin-right:5px;}

#footer #fmid .area-01{ display:inline-block; overflow:hidden;}
#footer #fmid .area-01 .btn{  float:left; margin-right:20px;}
#footer #fmid .area-01 .btn a{ display:block; text-decoration:none; padding:15px 25px; border-radius:50px;}
#footer #fmid .area-01 .btn a p{ font-size:15px; font-weight:bold; color:#fff;  text-align:center; vertical-align:middle; font-family:"Zen Maru Gothic", serif;}
#footer #fmid .area-01 .btn a p i{ font-size:15px; margin-right:3px;}
#footer #fmid .area-01 .btn:nth-child(1) a{ background:#e5a778;}
#footer #fmid .area-01 .btn:nth-child(2) a{ background:#de7f88;}
#footer #fmid .area-01 .btn:nth-child(3) a{ background:#5a4c42;}
#footer #fmid .area-01 .btn:nth-child(3){ margin-right:0;}




#footer #tamonten { background:#f3eddc; clear:both; text-align:center; font-size:10px; color:#fff; padding:10px 0;}
#footer #tamonten a { display:block; cursor:default; color:#333; text-decoration:none; opacity:1; filter:alpha(opacity=100);}


.page-top {
	position:fixed;
    bottom:70px;
    right:20px;
	background-image:url(../images/common/totop.png);
	width:60px; height:60px; text-indent:-9999px;
    -ms-filter:"alpha(opacity=80)";
    -moz-opacity:0.8;
    -khtml-opacity:0.8;
    opacity:0.8;
	z-index:10;
	-webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; transition:0s;}

#btn-kotei{ position:fixed; right:0; top:100px; font-size:20px;}
#btn-kotei a{ font-family:"Zen Maru Gothic", serif;color:#fff;text-decoration:none; display:block;padding:20px 0px;background: linear-gradient(0deg, rgba(222,127,136,1) 0%, rgba(225,145,148,1) 100%);border-radius:10px 0 0 10px; width:70px;writing-mode: vertical-rl; /* テキストを縦書きにする */
    text-align: center; /* テキストを中央揃えにする */
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */ }
#btn-kotei i{ font-size:30px; margin-bottom:10px;}

/*▼エリア・共通設定▼*/

.box{ width:1100px; margin:auto; padding:70px 0;}

.h2-01{ margin-bottom:50px; font-size:18px; font-weight:700; line-height:3em;}
.h2-01 span{ font-size:72px; color:#2059a6; font-weight:bold;font-family: "Oswald", sans-serif; display:block;}



.h2-02{ margin-bottom:50px; font-size:18px; font-weight:700; line-height:3em; text-align:center; color:#fff;}
.h2-02 span{ font-size:72px; font-weight:bold;font-family: "Oswald", sans-serif; display:block;}


.h3-01{ font-size:30px; font-weight:bold; color:#de7f88; text-align:center; margin-bottom:15px;}
.h3-02{ font-size:20px; font-weight:bold; color:#e68a45; text-align:center; padding:10px 0; border-top:1px solid #858469; border-bottom:1px solid #858469; margin-bottom:30px;}
.h3-03{ font-size:24px; font-weight:bold; color:#858469; margin-bottom:15px;}
.h3-03 i{ margin-right:10px;}


.h4-01{ font-size:24px; font-weight:bold; color:#858469; text-align:center; margin-bottom:40px;}
.h4-01.tleft{ text-align:left;}


.more {}
.more a{ background:#2059A6 url(../images/common/more-01.png) right 10px top 50% no-repeat; color:#fff; padding:10px 100px; text-decoration:none; display: inline-block;border-radius:5px;} 



.p-marker{ font-size:18px; font-weight:bold; margin-bottom:30px;}
.p-marker span{ font-size:28px; display:inline; position:relative; line-height:1.7em; margin:5px 0; background:linear-gradient(transparent 70%, #f6dddf 0%);}



/*▼ホーム　home▼*/


#home #box-01{ background: url(../images/home/bk-01.png) right top repeat-y; margin-bottom:100px;}
#home #box-01 .area-01{display:flow-root; position:relative;display:flex;align-items: center/* ←縦の中央揃え */;justify-content:space-between;}
#home #box-01 .area-01 .photo{ display:inline-block; position:relative; margin-left:-210px;}
#home #box-01 .area-01 .tb-01{ display:inline-block;margin-left:auto; width:520px; margin-right:100px;}
#home #box-01 .area-01 h3{ font-size:30px; font-weight:bold; margin-bottom:20px;}


#home #box-02{ background: url(../images/home/bk-01.png) left top repeat-y;}
#home #box-02 .area-01{display:flow-root; position:relative;display:flex;align-items: center/* ←縦の中央揃え */;justify-content:space-between; margin-bottom:50px;}
#home #box-02 .area-01 .photo{ display:inline-block; position:relative;margin-left:auto; margin-right:-210px; margin-top:-210px;}
#home #box-02 .area-01 .tb-01{ display:inline-block;width:520px; margin-left:100px;}
#home #box-02 .area-01 h3{ font-size:30px; font-weight:bold; margin-bottom:20px;}
#home #box-02 .more{ text-align:center;}

#home .bk-03{ background: url(../images/home/bk-03.png) center top no-repeat #EFF2F6; padding-top:350px; padding-bottom:150px;}

#home .bk-03 .area-01 h3{ font-size:36px; color:#2059a6; font-weight:bold;margin-bottom:10px; letter-spacing:normal;}
#home .bk-03 .area-01 h4{  font-size:24px; font-weight:bold; margin-bottom:10px; letter-spacing:normal;}
#home .bk-03-01{ background: url(../images/home/bk-03-01.png) center top repeat-y;}
#home .bk-03-02{ background: url(../images/home/bk-03-02.png) center top repeat-y;}

#home #box-03{ margin-bottom:150px; position:relative;}
#home #box-03 .area-01{ width:580px;}
#home #box-03 .area-01 .text{ margin-bottom:50px;}
#home #box-03 .photo{ background:url(../images/home/oem-bk.png); width:493px; height:493px; position:absolute; right:0; top:100px;}

#home #box-04{ margin-bottom:150px; position:relative;display:flow-root;}
#home #box-04 .area-01{ width:500px; float:right;}
#home #box-04 .area-01 .text{ margin-bottom:50px;}
#home #box-04 .photo{ background: url(../images/home/hakusen-bk.png); width:493px; height:493px; position:absolute; left:0; top:-50px;}



#home #box-05{ position:relative;}
#home #box-05 .area-01{ width:580px;}
#home #box-05 .area-01 .text{ margin-bottom:50px;}
#home #box-05 .photo{ background: url(../images/home/kodomo-bk.png); width:477px; height:477px; position:absolute; right:0; top:100px;}


#box-contact{ background: url(../images/common/box-contact.png) center top no-repeat; height:600px;display:flex;align-items: center/* ←縦の中央揃え */;justify-content: center/* 横も中央 */;flex-direction: column;}

#box-contact .area-01{ width:1100px; margin:auto;}
#box-contact .area-01 .tb-01{ overflow:hidden;display:flex;align-items: center/* ←縦の中央揃え */;}
#box-contact .area-01 a{ text-decoration:none;}
#box-contact .area-01 .tb-01 .p-01{ font-size:18px;font-weight:bold; margin-bottom:0px;}
#box-contact .area-01 .tb-01 .p-tel{ font-size:40px; font-weight:bold; font-family: "Kosugi", sans-serif; margin-bottom:0px; color:#2059A6;}
#box-contact .area-01 .tb-01 .p-tel img{ position:relative; bottom:24px; margin-right:7px;}

#box-contact .area-01 .tb-01 .p-contact{ background:#2059A6;font-size:20px; font-weight:bold; color:#FFF; padding:0 20px; margin:17px 0px;}
#box-contact .area-01 .tb-01 .p-contact img{ position:relative; bottom:8px; margin-right:12px;}

#box-contact .area-01 .tb-01 .left{background:#FFF;width:480px;height:222px;display:flex;align-items: center/* ←縦の中央揃え */;justify-content: center/* 横も中央 */;flex-direction: column; border-radius:5px;}
#box-contact .area-01 .tb-01 .left:nth-child(2){ margin-left:auto;}