@charset "UTF-8";
/****************************************
		TOE Project共通設定のSCSS
*****************************************/
/****************************************
		0. Import
*****************************************/
/*options*/
   /* $base-grid: true, $margin-grid: true, $padding-grid: true, $block-grid: true, $collapse: true, $offset: true, $vertical-grid: true, $frame-grid: true

);
*/
/****************************************
		1. General Setting
*****************************************/
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap");
html, body, div, span, applet, object, iframe, strong, picture, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, legend, caption, tbody, tfoot, thead, table, label, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-style: inherit; font-family: inherit; vertical-align: baseline; list-style: none; }

main { display: block; }

/*html init*/
html { margin: 0 !important; padding: 0; }

/* a init */
a { color: #333333; text-decoration: none; }

a:hover { color: #004F87; cursor: pointer; }

nav { display: block; }

/*Clear*/
.clear { clear: both; line-height: 0; }

.clearfix:after { content: ""; clear: both; display: block; }

/*box-sizing paddingとborderをwidth heightに含める*/
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
* *::after, * *::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

body { margin: 0; padding: 0; }

html, body { font-family: "Zen Maru Gothic", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

ul { list-style-type: none; margin: 0; padding: 0; }

li { margin: 0; }

.center { text-align: center; }

.right { text-align: right; }

.columns, .column { padding: 0; margin: 0; }

p { margin: 0; }

img { vertical-align: middle; }

.bold { font-weight: 700 !important; }

.space1 { margin-bottom: 5px; }

.space2 { margin-bottom: 10px; }

.space3 { margin-bottom: 15px; }

.space4 { margin-bottom: 20px; }

.space5 { margin-bottom: 25px; }

.space6 { margin-bottom: 30px; }

.space7 { margin-bottom: 35px; }

.space8 { margin-bottom: 40px; }

.space9 { margin-bottom: 45px; }

.space10 { margin-bottom: 50px; }

.space11 { margin-bottom: 55px; }

.space12 { margin-bottom: 60px; }

.space13 { margin-bottom: 65px; }

.space14 { margin-bottom: 70px; }

.space15 { margin-bottom: 75px; }

.space16 { margin-bottom: 80px; }

.space17 { margin-bottom: 85px; }

.space18 { margin-bottom: 90px; }

.space19 { margin-bottom: 95px; }

.space20 { margin-bottom: 100px; }

@media print { a[href]:after { content: "" !important; }
  abbr[title]:after { content: "" !important; } }
figure, picture { margin: 0; display: block; }

.googlemap_wrapper { height: 0; overflow: hidden; width: 100%; position: relative; }
.googlemap_wrapper iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%; }

.last { margin-bottom: 0 !important; }

/*************************************************/
/*menu-trigger Animatation Setting*/
/*************************************************/
.menu-trigger, .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; caret-color: transparent; }

.menu-trigger { position: relative; width: 20px; height: 21px; }

.menu-trigger span { position: absolute; left: 0; width: 100%; height: 3px; background-color: #e11453; display: block; }

.menu-trigger span:nth-of-type(1) { top: 0; }

.menu-trigger span:nth-of-type(2) { top: 9px; }

.menu-trigger span:nth-of-type(3) { bottom: 0; }

/*************************************************/
/*menu-trigger Animatation Setting*/
/*************************************************/
.menu-trigger.active { width: 21px; }

.menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateX(1px) translateY(8px) rotate(-45deg); transform: translateX(0) translateY(8px) rotate(-45deg); top: 4px; }

.menu-trigger.active span:nth-of-type(2) { top: 19px; -webkit-transform: translateX(0) translateY(-8px) rotate(45deg); transform: translateX(0) translateY(-7px) rotate(45deg); }

.menu-trigger.active span:nth-of-type(3) { opacity: 0; bottom: -5px; }

@page { size: A4 portrait; }
/****************************************
		0.1. font-family
*****************************************/
/*
Noto sans JP
300 light
400 regular
500 medium
600 SemiBold
700 Bold
800 ExBold
900 Black
*/
html, body { font-size: 100%; font-weight: 400; }

body { -webkit-print-color-adjust: exact; }

/****************************************
		0.1. define
*****************************************/
.fs10 { font-size: 10px; }

.fs11 { font-size: 11px; }

.fs12 { font-size: 12px; }

.fs13 { font-size: 13px; }

.fs14 { font-size: 14px; }

.fs15 { font-size: 15px; }

.fs16 { font-size: 16px; }

.fs17 { font-size: 17px; }

.fs18 { font-size: 18px; }

.fs19 { font-size: 19px; }

.fs20 { font-size: 20px; }

.fs21 { font-size: 21px; }

.fs22 { font-size: 22px; }

.fs23 { font-size: 23px; }

.fs24 { font-size: 24px; }

.fs25 { font-size: 25px; }

.fs26 { font-size: 26px; }

.fs27 { font-size: 27px; }

.fs28 { font-size: 28px; }

.fs29 { font-size: 29px; }

.fs30 { font-size: 30px; }

.mb5 { margin-bottom: 5px; }

.mb10 { margin-bottom: 10px; }

.mb15 { margin-bottom: 15px; }

.mb20 { margin-bottom: 20px; }

.mb25 { margin-bottom: 25px; }

.mb30 { margin-bottom: 30px; }

.mb35 { margin-bottom: 35px; }

.mb40 { margin-bottom: 40px; }

.mb45 { margin-bottom: 45px; }

.mb50 { margin-bottom: 50px; }

.mb55 { margin-bottom: 55px; }

.mb60 { margin-bottom: 60px; }

.mb65 { margin-bottom: 65px; }

.mb70 { margin-bottom: 70px; }

.mb75 { margin-bottom: 75px; }

.mb80 { margin-bottom: 80px; }

.mb85 { margin-bottom: 85px; }

.mb90 { margin-bottom: 90px; }

.mb95 { margin-bottom: 95px; }

.mb100 { margin-bottom: 100px; }

.underline { text-decoration: underline; }

.hover_a { opacity: 1; cursor: pointer; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }

.hover_a:hover { cursor: pointer; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }

@media screen and (max-width: 479px) { .smbr::before { content: "\A"; white-space: pre; } }

@media screen and (max-width: 969px) { .mdbr::before { content: "\A"; white-space: pre; } }

@media screen and (max-width: 1199px) { .lgbr::before { content: "\A"; white-space: pre; } }

@media screen and (min-width: 970px) { .pcbr::before { content: "\A"; white-space: pre; } }

#pagetop { display: none; position: fixed; z-index: 99; transform: none !important; -webkit-transform: none !important; transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); /*
@include max-screen( $max-large-width ){ width:40px; height:40px; bottom:20px; right:20px;
}
*/ width: 50px; height: 50px; }
#pagetop:hover { cursor: pointer; opacity: 0.7; }
@media print { #pagetop { visibility: hidden; } }
@media all and (max-width: 969px) { #pagetop { right: 10px; bottom: 80px; } }
@media all and (min-width: 970px) { #pagetop { right: 10px; bottom: 10px; } }

.img_fit img { width: 100%; }

.text { color: #603813; font-weight: 500; line-height: calc( 36 /21); }
@media all and (max-width: 969px) { .text { font-size: 1rem; letter-spacing: 1px; } }
@media all and (min-width: 970px) { .text { font-size: 1.25rem; letter-spacing: 2px; } }

/***************************************
共通ボタン
*****************************************/
/************************************
Animation setting add
**************************************/
/************************************ body
**************************************/
body { background-color: #ffffed; }

/************************************** BASIC LAYOUT
***************************************/
body { /*
//管理画面ナブバーはaboluteではないので    <div class="header_sp_spaceで調整
&.logged-in{ @include screen( 0 , 782px){ padding-top:46px; } @include screen( 783px , $max-medium-width){ padding-top:32px; } 
}
*/ }

section .container { max-width: 1140px; margin: 0 auto; }
@media all and (min-width: 970px) { section .container { padding-left: 20px; padding-right: 20px; } }

section.sec_top .container { padding-bottom: 0 !important; }

@media all and (max-width: 969px) { .sp_w100_text { padding-left: 5px; padding-right: 5px; } }

/************************************** Character
***************************************/
h1 { font-size: 2.0625rem; margin-bottom: 33px; color: #1C4F87; text-align: center; font-weight: 400; }

h2 { font-size: 1.5625rem; color: #1C4F87; position: relative; font-weight: 400; }
@media all and (max-width: 969px) { h2 { margin-bottom: 30px; } }
@media all and (min-width: 970px) { h2 { margin-bottom: 50px; } }

/************************************** HEADER
***************************************/
.header_pc { background-color: #FFF; height: 100px; }
@media all and (max-width: 969px) { .header_pc { display: none; } }
@media all and (min-width: 970px) { .header_pc { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } }
.header_pc .container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0 20px; width: 100%; max-width: 1140px; }
.header_pc .container .logo_area { width: 144px; height: 50px; }
.header_pc .container .logo_area a { display: block; display: flex; align-items: center; }
.header_pc .container .logo_area a img { width: 100%; }
.header_pc .container .nav_pc_area ul.menu_pc { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; list-style-type: disc; gap: 60px; }
.header_pc .container .nav_pc_area ul.menu_pc li a { font-size: 20px; color: #754c24; font-weight: 600; position: relative; }
.header_pc .container .nav_pc_area ul.menu_pc li a:after { content: ""; width: 0; height: 2px; background-color: #603813; position: absolute; left: 0; bottom: -5px; transform: traslate(0, 0); transition: all 0.2s ease-in; }
.header_pc .container .nav_pc_area ul.menu_pc li a:hover:after { width: 100%; }

.header_sp { background-color: #FFF; }
@media all and (max-width: 969px) { .header_sp { display: block; } }
@media all and (min-width: 970px) { .header_sp { display: none; } }
.header_sp .container_header { width: 100%; height: 80px; padding: 0 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.header_sp .container_header .logo_area { width: 100px; }
.header_sp .container_header .logo_area a { display: block; width: 100%; }
.header_sp .container_header .logo_area a img { width: 100%; display: block; }

/**********************************************
FOOTER
**********************************************/
footer .image_wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 30px 10px 10px; }
@media all and (max-width: 969px) { footer .image_wrapper img { width: 86.25px; } }
@media all and (min-width: 970px) { footer .image_wrapper img { width: 115px; } }
footer .section_copy { padding-bottom: 50px; }
footer .section_copy .copy { color: #603813; text-align: center; font-size: 12px; font-weight: 600; }

/**********************************************
TOP SECTION
**********************************************/
section.sec_top { background-color: #FFF; }
@media all and (max-width: 969px) { section.sec_top { padding: 0 0 0 0; } }
@media all and (min-width: 970px) { section.sec_top { background-image: url("../images/bg_green_01.png"); background-position: center 100%; background-repeat: no-repeat; padding: 0 0 0 0; } }
section.sec_top .top_wrapper_pc { width: 100%; position: relative; z-index: 10; aspect-ratio: 1.51724; }
@media all and (max-width: 969px) { section.sec_top .top_wrapper_pc { display: none !important; } }
@media all and (min-width: 970px) { section.sec_top .top_wrapper_pc { display: block; } }
section.sec_top .top_wrapper_pc h1 { width: 100%; aspect-ratio: 9.48276; position: absolute; margin-bottom: 0 !important; top: 30px; left: 0; }
section.sec_top .top_wrapper_pc h1 img { position: absolute; left: 23.63636%; top: 0; max-width: 447px; }
section.sec_top .top_wrapper_pc .bird1 { position: absolute; max-width: 65px; width: 5.90909%; top: 14.89655%; left: 14.54545%; z-index: 1; }
section.sec_top .top_wrapper_pc .top_image { position: absolute; max-width: 1000px; width: 90.90909%; top: 20.68966%; left: 2.72727%; z-index: 1; }
section.sec_top .top_wrapper_pc .top_mama { position: absolute; max-width: 138px; width: 12.54545%; top: 57.24138%; left: 45.45455%; z-index: 2; }
section.sec_top .top_wrapper_pc .top_green { position: absolute; top: 67.58621%; right: 0; z-index: 0; }
section.sec_top .top_wrapper_pc .taxi_plate { display: block; position: absolute; max-width: 160px; width: 14.54545%; left: 69.63636%; top: 69.51724%; z-index: 1; }
section.sec_top .top_wrapper_pc .text_wrapper1 { position: absolute; max-width: 337px; width: 30.63636%; left: 57.72727%; top: 27.58621%; z-index: 1; }
section.sec_top .top_wrapper_pc .text_wrapper2 { position: absolute; max-width: 577px; left: 0; right: 0; top: 100%; z-index: 1; margin: 0 auto; }
section.sec_top .top_wrapper_pc .text { color: #603813; font-weight: 600; line-height: calc( 36 /21); letter-spacing: 2px; font-size: 20px; }
section.sec_top .top_wrapper_sp { padding-top: 30px; }
@media all and (max-width: 969px) { section.sec_top .top_wrapper_sp { display: block; width: 100%; } }
@media all and (min-width: 970px) { section.sec_top .top_wrapper_sp { display: none; } }
section.sec_top .top_wrapper_sp .h1_sp { text-align: center; }
section.sec_top .top_wrapper_sp .h1_img_sp { display: block; max-width: 300px; margin: 0 auto; }
section.sec_top .top_wrapper_sp .top_illust_wrapper { position: relative; aspect-ratio: 750/859; background-image: url("../images/sp/top_illust_sp.png"); background-position: center; background-size: cover; }
section.sec_top .top_wrapper_sp .top_illust_sp { width: 100%; position: absolute; left: 50%; top: 0; transform: translate(-50%, 0); }
section.sec_top .top_wrapper_sp .top_mama_sp { position: absolute; max-width: 160px; width: 24%; left: 50.26738%; top: 32.71693%; }
section.sec_top .top_wrapper_sp .taxi_plate { display: block; position: absolute; right: 20px; bottom: 30px; width: 100px; margin: 0 auto; }
section.sec_top .top_wrapper_sp .text { color: #603813; font-weight: 600; line-height: calc( 36 /21); letter-spacing: 2px; font-size: 16px; max-width: 500px; margin: 0 auto; }
section.sec_top .top_wrapper_sp .text_wrapper1 { padding: 30px 15px 0; width: 100%; background-color: #FFFFed; }

.sec_top2 { position: relative; background-color: #ffffed; }
@media all and (max-width: 969px) { .sec_top2 { padding-top: 30px; } }
@media all and (min-width: 970px) { .sec_top2 { background-image: url("../images/bg_green_02.png"); background-position: center 0; background-repeat: no-repeat; } }
.sec_top2 .top_green { position: absolute; }
.sec_top2 .text { color: #603813; font-weight: 600; line-height: calc( 36 /21); letter-spacing: 2px; margin: 0 auto; }
@media all and (max-width: 969px) { .sec_top2 .text { font-size: 16px; padding-left: 15px; padding-right: 15px; max-width: 500px; } }
@media all and (min-width: 970px) { .sec_top2 .text { font-size: 20px; max-width: 570px; } }
.sec_top2 h2 { color: #603813; font-weight: 800; letter-spacing: 2px; text-align: center; margin-bottom: 30px; }
@media all and (max-width: 969px) { .sec_top2 h2 { font-size: 18px; } }
@media all and (min-width: 970px) { .sec_top2 h2 { font-size: 24px; } }

@media all and (max-width: 969px) { section.sec_apple { padding: 30px 0 30px 0; } }
@media all and (min-width: 970px) { section.sec_apple { padding: 50px 0 70px 0; } }
@media all and (max-width: 969px) { section.sec_apple .container { padding-left: 15px; padding-right: 15px; } }
@media all and (min-width: 970px) { section.sec_apple .container { padding-left: 20px; padding-right: 20px; } }
section.sec_apple .grid_wrapper { display: grid; justify-content: center; max-width: 800px; margin: 0 auto 40px; }
@media all and (min-width: 0) and (max-width: 969px) { section.sec_apple .grid_wrapper { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; row-gap: 20px; }
  section.sec_apple .grid_wrapper .child { width: 32%; } }
@media all and (min-width: 970px) { section.sec_apple .grid_wrapper { grid-template-columns: repeat(5, 1fr); }
  section.sec_apple .grid_wrapper .child { width: 100%; } }
section.sec_apple .grid_wrapper .child { text-align: center; }
section.sec_apple .grid_wrapper .child img.apple_image { width: 90px; }
section.sec_apple .grid_wrapper .child .text { text-align: center; width: 100%; position: relative; }
@media all and (max-width: 969px) { section.sec_apple .grid_wrapper .child .text { font-size: 16px; }
  section.sec_apple .grid_wrapper .child .text span { position: absolute; width: calc(100% + 50px); display: block; text-align: center; font-size: inherit; left: 50%; top: 0; transform: translate(-50%, 0); } }
@media all and (min-width: 970px) { section.sec_apple .grid_wrapper .child .text { font-size: 20px; } }
section.sec_apple .grid_wrapper2 { display: grid; justify-content: center; margin: 0 auto; }
@media all and (max-width: 969px) { section.sec_apple .grid_wrapper2 { max-width: 395px; grid-template-columns: repeat(1, 1fr); gap: 40px; } }
@media all and (min-width: 970px) { section.sec_apple .grid_wrapper2 { max-width: 790px; grid-template-columns: repeat(2, 1fr); gap: 20px; } }
section.sec_apple .grid_wrapper2 .child { width: 100%; aspect-ratio: 1/1; background-image: url("../images/top_giza.png"); background-repeat: no-repeat; background-position: center center; background-size: cover; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
section.sec_apple .grid_wrapper2 .child .list_wrapper { width: 270px; }
section.sec_apple .grid_wrapper2 .child .text { text-align: center; width: 100%; }
section.sec_apple .grid_wrapper2 .child ul.child_list { display: grid; grid-template-columns: 1fr; gap: 10px; }
section.sec_apple .grid_wrapper2 .child ul.child_list.list1 { width: 11em; margin: 0 auto; }
section.sec_apple .grid_wrapper2 .child ul.child_list li { color: #603813; font-weight: 500; line-height: calc( 36 /21); line-height: 1.1; text-indent: -1em; padding-left: 1em; }
@media all and (max-width: 969px) { section.sec_apple .grid_wrapper2 .child ul.child_list li { font-size: 1rem; letter-spacing: 1px; } }
@media all and (min-width: 970px) { section.sec_apple .grid_wrapper2 .child ul.child_list li { font-size: 1.25rem; letter-spacing: 2px; } }
@media all and (max-width: 969px) { section.sec_apple .grid_wrapper2 .child ul.child_list li { font-size: 16px; } }
@media all and (min-width: 970px) { section.sec_apple .grid_wrapper2 .child ul.child_list li { font-size: 20px; } }
section.sec_apple .grid_wrapper2 .child ul.child_list li::before { content: "・"; }
section.sec_apple .grid_wrapper2 .child .str5 { width: 245px; display: block; margin-bottom: 15px; }

section.sec_btn_contact { padding: 50px 0 70px 0; }
@media all and (max-width: 969px) { section.sec_btn_contact .container { padding-left: 15px; padding-right: 15px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .container { padding-left: 20px; padding-right: 20px; } }
section.sec_btn_contact .flex_wrapper1 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; max-width: 948px; margin: 0 auto; gap: 20px; background-color: #FFF; position: relative; }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 { flex-direction: column; border-radius: 20px; padding: 50px 20px 20px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .flex_wrapper1 { border-radius: 40px; padding: 50px; } }
section.sec_btn_contact .flex_wrapper1 .child_left { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; flex-direction: column; max-width: 360px; }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 10px; }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 { display: block; width: 100%; font-size: 1.625rem; color: #e11453; letter-spacing: 3px; }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 span { display: inline-block; width: 100%; max-width: 350px; position: relative; padding-right: 76px; color: #e11453; }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 span { font-size: 1.25rem; } }
@media all and (min-width: 970px) { section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 span { font-size: 1.5625rem; } }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 span:before { content: ""; width: 0%; height: 2px; border-radius: 999px; background-color: #e11453; position: absolute; top: calc(100% + 5px); left: 0; transition: all 0.2s ease-in; }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3 span:after { content: ""; display: block; width: 66px; height: 59px; position: absolute; right: 0; top: 50%; transform: translate(0, -50%); background-image: url("../images/illust3.png"); background-size: contain; background-repeat: no-repeat; background-position: right center; }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3:hover span:after { background-image: url("../images/illust3_on.png"); }
section.sec_btn_contact .flex_wrapper1 .child_left .flex_small_wrapper a#illust3:hover span:before { width: calc( 100% - 86px ); }
section.sec_btn_contact .flex_wrapper1 .child_left .child_item1, section.sec_btn_contact .flex_wrapper1 .child_left .child_item2, section.sec_btn_contact .flex_wrapper1 .child_left .child_item3 { width: 100%; }
section.sec_btn_contact .flex_wrapper1 .child_left .child_item1 { padding-bottom: 20px; }
section.sec_btn_contact .flex_wrapper1 .child_left .child_item1 img { display: block; margin: 0 auto; }
section.sec_btn_contact .flex_wrapper1 .child_left .child_item2 { padding-bottom: 50px; }
section.sec_btn_contact .flex_wrapper1 .child_right { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 .child_right { padding-top: 30px; } }
section.sec_btn_contact .flex_wrapper1 .child_right img.illust_house { width: 100%; }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 .child_right img.illust_house { max-width: 280px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .flex_wrapper1 .child_right img.illust_house { max-width: 331px; } }
section.sec_btn_contact .flex_wrapper1 .illust2 { width: 112px; }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 .illust2 { display: none; } }
@media all and (max-width: 969px) { section.sec_btn_contact .flex_wrapper1 .sp_flex_wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; column-gap: 30px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .flex_wrapper1 .sp_flex_wrapper { display: none; } }
section.sec_btn_contact .flex_wrapper1 .sp_flex_wrapper .illust2_sp { width: 129px; }
section.sec_btn_contact .flex_wrapper1 .sp_flex_wrapper .illust3_sp { width: 72px; }
section.sec_btn_contact .huki_wrapper { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); }
section.sec_btn_contact .huki1 { position: relative; background-color: #eacdc7; text-align: center; }
@media all and (max-width: 969px) { section.sec_btn_contact .huki1 { padding: 10px 20px; max-width: 280px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .huki1 { padding: 10px 30px; max-width: 260px; } }
section.sec_btn_contact .huki1 span { color: #e11453; font-weight: 600; letter-spacing: 2px; }
@media all and (max-width: 969px) { section.sec_btn_contact .huki1 span { font-size: 20px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .huki1 span { font-size: 28px; } }
section.sec_btn_contact .huki1:after { content: ""; display: block; width: 28px; height: 28px; position: absolute; left: 50%; top: 100%; transform: translate(-50%, -5px); background-image: url("../images/huki1_leg.svg"); background-size: 100% 100%; background-position: left top; background-repeat: no-repeat; }
section.sec_btn_contact .bird2 { display: block; width: 54px; margin: 0 auto 20px; }
section.sec_btn_contact .btn_contact { display: block; background-color: #FFF; text-align: center; padding: 10px; width: 246px; border: 1px solid #e11453; border-radius: 9999px; margin: 0 auto 100px; transition: all 0.2s ease-in; }
section.sec_btn_contact .btn_contact span { color: #e11453; font-weight: 600; letter-spacing: 2px; }
@media all and (max-width: 969px) { section.sec_btn_contact .btn_contact span { font-size: 18px; } }
@media all and (min-width: 970px) { section.sec_btn_contact .btn_contact span { font-size: 28px; } }
section.sec_btn_contact .btn_contact:hover { background-color: #e11453; }
section.sec_btn_contact .btn_contact:hover span { color: #FFF; }

/****************************************/
/*アニメ*/
/****************************************/
@keyframes yura_anime { 0% { transform: rotate(0deg); }
  25% { transform: rotate(-30deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(30deg); }
  100% { transform: rotate(0deg); } }
.apple_image.anime_on { transform-origin: center 2px; animation-duration: 2s; animation-name: yura_anime; animation-direction: normal; animation-iteration-count: 2; animation-timing-function: linear; }

.apple_image.anime_on2 { transform-origin: center 2px; animation-duration: 2.2s; animation-name: yura_anime; animation-direction: normal; animation-iteration-count: 2; animation-timing-function: linear; }

@keyframes mama_anime { 0% { transform: rotate(-10deg); }
  100% { transform: rotate(10deg); } }
.top_mama.anime_on, .top_mama_sp.anime_on { transform-origin: bottom center; animation-duration: 2s; animation-name: mama_anime; animation-direction: alternate; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }

/*********************************************
CONTACT
**********************************************/
#contact { padding: 60px 0; }
#contact .container { padding: 0 20px; max-width: 860px; margin: 0 auto; }
#contact h1.h1_contact { font-size: 1.75rem; font-weight: 600; color: #e11453; letter-spacing: 3px; }
@media all and (max-width: 969px) { #contact h1.h1_contact { margin-bottom: 40px; } }
@media all and (min-width: 970px) { #contact h1.h1_contact { margin-bottom: 100px; } }
#contact h1.h1_contact:before { content: ""; display: block; width: 54px; height: 51px; background-image: url("../images/bird2.png"); background-repeat: no-repeat; background-size: contain; margin: 0 auto 20px; }
#contact .input_table, #contact .confirm_table { width: 100%; max-width: 820px; table-layout: fixed; }
@media all and (max-width: 969px) { #contact .input_table th, #contact .input_table td, #contact .confirm_table th, #contact .confirm_table td { display: grid; width: 100%; }
  #contact .input_table th, #contact .confirm_table th { text-align: left; padding-bottom: 10px; }
  #contact .input_table td, #contact .confirm_table td { text-align: left; padding-bottom: 40px; } }
@media all and (min-width: 970px) { #contact .input_table th, #contact .confirm_table th { text-align: left; padding-bottom: 40px; width: 30%; }
  #contact .input_table td, #contact .confirm_table td { padding-bottom: 40px; width: 70%; } }
#contact .confirm_text { max-width: 800px; margin: 0 auto 40px; }
@media all and (max-width: 969px) { #contact .confirm_table th, #contact .confirm_table td { font-size: 1rem; } }
@media all and (min-width: 970px) { #contact .confirm_table th, #contact .confirm_table td { font-size: 1.25rem; } }
#contact .confirm_table td { color: #e11453; }
#contact form { margin: 0 auto; }
@media all and (max-width: 969px) { #contact form { max-width: 600px; } }
@media all and (min-width: 970px) { #contact form { max-width: 820px; } }
#contact form label { font-weight: 600; color: #e11453; }
@media all and (max-width: 969px) { #contact form label { font-size: 1rem; } }
@media all and (min-width: 970px) { #contact form label { font-size: 1.25rem; } }
#contact form label.block { display: block; margin-bottom: 10px; }
#contact form .error { color: #f00; }
@media all and (max-width: 969px) { #contact form .error { font-size: 1rem; } }
@media all and (min-width: 970px) { #contact form .error { font-size: 1.25rem; } }
#contact form input[type="text"], #contact form input[type="email"], #contact form textarea { font-family: "Zen Maru Gothic", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
#contact form input[type="text"].ng, #contact form input[type="email"].ng, #contact form textarea.ng { background-color: #ffe9f1; }
#contact form input[type="text"], #contact form input[type="email"] { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; color: #000; display: block; width: 100%; border: 1px solid #e11453; border-radius: 9999px; padding: 0 20px; }
@media all and (max-width: 969px) { #contact form input[type="text"], #contact form input[type="email"] { height: 50px; font-size: 1rem; } }
@media all and (min-width: 970px) { #contact form input[type="text"], #contact form input[type="email"] { height: 70px; font-size: 1.25rem; } }
#contact form input[type="text"]:focus-visible, #contact form input[type="email"]:focus-visible { outline: 1px solid #80092c; }
#contact form textarea { color: #000; display: block; width: 100%; border: 1px solid #e11453; border-radius: 40px; padding: 20px 30px; }
@media all and (max-width: 969px) { #contact form textarea { font-size: 1rem; min-height: 280px; } }
@media all and (min-width: 970px) { #contact form textarea { font-size: 1.25rem; min-height: 390px; } }
#contact form textarea:focus-visible { outline: 1px solid #80092c; }
#contact form .btn-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 110px; }
#contact form button.btn-confirm, #contact form button.btn-back, #contact form button.btn-success { color: #e11453; font-weight: 400; background-color: #FFF; border: 1px solid #e11453; border-radius: 9999px; padding: 0 15px; letter-spacing: 3px; margin: 0 10px; font-family: "Zen Maru Gothic", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; transition: all .2s ease-in; }
@media all and (max-width: 969px) { #contact form button.btn-confirm, #contact form button.btn-back, #contact form button.btn-success { font-size: 1.25rem; height: 40px; width: 200px; } }
@media all and (min-width: 970px) { #contact form button.btn-confirm, #contact form button.btn-back, #contact form button.btn-success { font-size: 1.75rem; height: 55px; width: 246px; } }
#contact form button.btn-confirm:hover, #contact form button.btn-back:hover, #contact form button.btn-success:hover { color: #FFF; background-color: #e11453; }

/**********************************************
SP MENU
**********************************************/
/***********************************
モーダルウィンドウ
*************************************/
article.wrapper { overflow: hidden; }

#sp_menu { opacity: 1; z-index: 998; width: 100%; height: 100%; margin-left: 100vw; position: fixed; top: 80px; left: 0; background-color: #ffffed; transition: margin-left .5s ease-in-out; overflow: scroll; padding: 30px 20px 100px; }
#sp_menu[open_flg="true"] { opacity: 1; margin-left: 0; }
#sp_menu #menu_sp { display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; gap: 30px; }
#sp_menu #menu_sp li { text-align: center; }
#sp_menu #menu_sp li a { font-size: 20px; color: #e11453; font-weight: 600; }
