@charset "UTF-8";
/* argument */
/* font style */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
/*@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap");
@font-face { font-family: 'Conv_FontsFree-Net-SFProDisplay-Regular'; src: url("../../fonts/FontsFree-Net-SFProDisplay-Regular.eot"); src: local("☺"), url("../../fonts/FontsFree-Net-SFProDisplay-Regular.woff") format("woff"), url("../../fonts/FontsFree-Net-SFProDisplay-Regular.ttf") format("truetype"), url("../../fonts/FontsFree-Net-SFProDisplay-Regular.svg") format("svg"); font-weight: normal; font-style: normal; }

@font-face { font-family: 'Conv_FontsFree-Net-SFProDisplay-Bold'; src: url("../../fonts/FontsFree-Net-SFProDisplay-Bold.eot"); src: local("☺"), url("../../fonts/FontsFree-Net-SFProDisplay-Bold.woff") format("woff"), url("../../fonts/FontsFree-Net-SFProDisplay-Bold.ttf") format("truetype"), url("../../fonts/FontsFree-Net-SFProDisplay-Bold.svg") format("svg"); font-weight: normal; font-style: normal; }
*/


/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
/*====================================================================================
■01.RESET HTML
====================================================================================*/
/* ========== end △ */
.font_Baskerville { font-family: 'Libre Baskerville', serif; }

#wrapper { position: relative; width: 100%; height: 100%; -webkit-text-size-adjust: 100%; overflow: hidden; min-width: 320px; box-sizing: border-box; overflow: hidden; position: relative; }

/* ▽ PC-TAB layout ========== */
html { overflow-y: auto; line-height: normal; }

body { background: #fff; font-family: "Noto Sans Japanese","游ゴシック体", "游ゴシック", "Yu Gothic", "Meiryo","メイリオ","MS PGothic","MS Pゴシック",sans-serif; color: #000; line-height: 1.8; font-size: 14px; }

img { vertical-align: top; margin: 0px; padding: 0px; border: 0px; transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; max-width: 100%; }

.ov_hover:hover img { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70)"; }

a { color: #111; text-decoration: underline; -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; word-break: break-all; }

a:hover { text-decoration: none; }

/* ========== end △ */
/*====================================================================================
■02.CLEAR FLOAT
====================================================================================*/
.clearfix:after { clear: both; display: block; content: " "; height: 0px; visibility: hidden; }

.clearfix { display: inline-block; }

/* Hide these rules from IE-mac \*/
* html .clearfix { height: 1%; }

.clearfix { display: block; }

.hidden { display: none !important; }

/*====================================================================================
■03.USE MEDIA
====================================================================================*/
.pull-left { float: left; }

.pull-right { float: right; }

.media, .media-body { overflow: hidden; }

.media-text:after { clear: both; display: block; content: ""; height: 0px; visibility: hidden; }

/*====================================================================================
■04.LAYOUT
====================================================================================*/
.container { position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 auto; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) { .container { max-width: 1200px; margin: 0 auto; } }

/* ========== end △ */
/* ▽ TAB-SP layout ========== */
@media only screen and (max-width: 1199px) { .container { padding: 0 10px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) { .container { padding: 0 10px; } }

/* ▽ PC-TAB layout ========== */
@media screen and (min-width: 767px) { .pc { display: block; }
  .sp { display: none; } }

@media screen and (max-width: 766px) { .pc { display: none; }
  .sp { display: block; } }

@media screen and (min-width: 481px) { .layout_480 { display: none; } }

@media screen and (max-width: 480px) { .layout_480 { display: block; } }

.dis_360 { display: block; }

@media screen and (max-width: 360px) { .dis_360 { display: none; } }

/* ▽ SP layout ========== */
@media screen and (max-width: 320px) { body { width: 320px; } }

.a_phone { text-decoration: none !important; color: #000; }

@media screen and (min-width: 767px) { .a_phone { pointer-events: none; } }

/*====================================================================================
■05.FLEX
====================================================================================*/
.dis_flex { display: flex; display: -webkit-flex; /* Safari */ display: -moz-flex; /* Firefox */ display: -ms-flex; /* IE */ }

.flex_between { display: flex; justify-content: space-between; }

.flex_between_center { display: flex; justify-content: space-between; align-items: center; }

.flex_center_center { display: flex; justify-content: center; align-items: center; }

/*justify-content*/
.flex_jus_start { justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; }

.flex_jus_end { justify-content: flex-end; -webkit-justify-content: flex-end; -moz-justify-content: flex-end; -ms-justify-content: flex-end; }

.flex_jus_center { justify-content: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; }

.flex_jus_between { justify-content: space-between !important; -webkit-justify-content: space-between !important; -moz-justify-content: space-between !important; -ms-justify-content: space-between !important; }

.flex_jus_around { justify-content: space-around; -webkit-justify-content: space-around; -moz-justify-content: space-around; -ms-justify-content: space-around; }

.flex_jus_ini { justify-content: initial; -webkit-justify-content: initial; -moz-justify-content: initial; -ms-justify-content: initial; }

/*align-items*/
.flex_align_item_start { align-items: flex-start; -webkit-align-items: flex-start; -moz-align-items: flex-start; -ms-align-items: flex-start; }

.flex_align_item_end { align-items: flex-end; -webkit-align-items: flex-end; -moz-align-items: flex-end; -ms-align-items: flex-end; }

.flex_align_item_stretch { align-items: stretch; -webkit-align-items: stretch; -moz-align-items: stretch; -ms-align-items: stretch; }

.flex_align_item_baseline { align-items: baseline; -webkit-align-items: baseline; -moz-align-items: baseline; -ms-align-items: baseline; }

.flex_align_item_center { align-items: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; }

.flex_align_item_ini { align-items: initial; -webkit-align-items: initial; -moz-align-items: initial; -ms-align-items: initial; }

.flex-container { -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.flex_bg { width: 100%; margin-right: -100%; }

.flex_content { width: 100%; position: relative; }

/*====================================================================================
■06.HEADER
====================================================================================*/
#header { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; flex-wrap: wrap; }

#header .h_main { position: relative; width: 100%; padding: 7px 1% 10px; display: flex; justify-content: space-between; align-items: center; margin: auto; box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.35); -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.35); }

#header .h_main .h_logo { width: 341px; }

#header .h_main .h_right { display: flex; justify-content: space-between; flex-wrap: wrap; }

#header .h_main .h_right .logo_banner { width: 180px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; flex-wrap: wrap; }

#header .h_main .h_right .logo_banner li { width: 48%; }

#header .h_main .h_right .logo_banner li:first-child { padding: 2px 12px; }

#header .h_main .h_right .logo_banner li img { width: 100%; }

#header .h_main .h_right .h_contact { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 490px; margin-left: 50px; }

#header .h_main .h_right .h_contact .h_infor { font-family: "Yu Mincho" , "游明朝体" , YuMincho, "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif; display: flex; justify-content: flex-end; margin-bottom: 5px; letter-spacing: 0.55px; width: 100%; }

#header .h_main .h_right .h_contact .h_infor dt { background: #003c5a; padding: 2px 10px 0; color: #fff; }

#header .h_main .h_right .h_contact .h_infor dd { border: 1px solid #53aed1; border-left: none; padding: 2px 10px 0; font-weight: 500; }

#header .h_main .h_right .h_contact ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }

/*====================================================================================
■07.GOLABLE NAVIGATION
====================================================================================*/
#gnav { width: 100%; background: #353540; box-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.35); -webkit-box-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.35); }

#gnav ul { position: relative; display: flex; justify-content: center; }

#gnav ul li { padding: 18px 7%; }

@media only screen and (max-width: 1180px) { #gnav ul li { padding: 18px 5%; } }

#gnav ul li a { display: inline-block; position: relative; color: #fff; text-decoration: none; font-size: 16px; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; letter-spacing: 1px; }

#gnav ul li a:after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; width: 0; height: 2px; background: #53aed1; transition: all 0.5s; -webkit-transition: all 0.5s; }

#gnav ul li a:hover { color: #53aed1; }

#gnav ul li a:hover:after { width: 100%; }

#gnav .logo_banner_sp { display: none; }

/*====================================================================================
■08.FOOTER
====================================================================================*/
#page-top { position: fixed; right: 20px; z-index: 999; }

#footer { background: #353540; color: #fff; }

#footer a { color: #fff !important; }

#footer .f_main { padding: 50px 0 70px; }

#footer .f_main .container { display: flex; justify-content: space-between; }

#footer .f_main .container .f_left { width: 410px; }

#footer .f_main .container .f_left .f_logo { background: #fff; padding: 20px; margin-bottom: 50px; }

#footer .f_main .container .f_right { width: 510px; }

#footer .f_main .container .f_right .f_gnav { display: flex; justify-content: space-between; flex-wrap: wrap; }

#footer .f_main .container .f_right .f_gnav ul { width: 48%; }

#footer .f_main .container .f_right .f_gnav ul li { position: relative; width: 100%; margin-bottom: 5px; }

#footer .f_main .container .f_right .f_gnav ul li a { position: relative; text-decoration: none; display: inline-block; transition: all 0.5s; -webkit-transition: all 0.5s; }

#footer .f_main .container .f_right .f_gnav ul li a:before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; width: 0; height: 2px; background: #fff; transition: all 0.5s; -webkit-transition: all 0.5s; }

#footer .f_main .container .f_right .f_gnav ul li a:hover:before { width: 100%; }

#footer .f_main .container .f_right .f_gnav ul li:first-child a { margin-left: 0; }

#footer .f_main .container .f_right .sec_sns { margin-top: 50px; display: flex; }

#footer .f_main .container .f_right .sec_sns li { margin-left: 30px; }

#footer .f_main .container .f_right .sec_sns li:first-child { margin-left: 0; }

#footer .f_txt { text-align: center; font-size: 14px; color: #fff; padding: 15px 0; border-top: 1px solid #706e6e; }

/*====================================================================================
■09.LAYOUT
====================================================================================*/
.a_absolute { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 9; }

.btn_contact { font-family: "Yu Mincho" , "游明朝体" , YuMincho, "HGS明朝E" , "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.btn_contact a { position: relative; display: flex; justify-content: center; align-content: center; align-items: center; text-align: center; background: #53aed1; font-size: 16px; color: #fff; text-decoration: none !important; font-weight: normal; padding: 12px 20px; }

.btn_contact a::after, .btn_contact a:before { position: absolute; content: ""; width: calc(100% - 14px); height: calc(100% - 14px); border: 1px solid #fff; }

.btn_contact a:after { top: 5px; left: 10px; }

.btn_contact a:before { top: 10px; left: 5px; }

.btn_contact a:hover { opacity: 0.7; }

.btn_contact a span { margin-left: 5px; }

.style_ttl01 { position: relative; z-index: 3; background: url(../common_img/ttl_bg.png) no-repeat center bottom; text-align: center; padding-bottom: 20px; margin-bottom: 30px; }

.style_ttl01 .ttl_eng { display: block; }

.style_ttl01 .ttl_jp { display: block; font-size: 22px; font-weight: 500 !important; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; letter-spacing: 1px; margin-top: 15px; }

.style_ttl01 .ttl_jp strong { font-size: 30px; font-weight: 500 !important; }

.ttl_sub { font-size: 22px; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; text-align: center; font-weight: normal; margin-bottom: 20px; }

.style_btn01 { display: inline-block; position: relative; background: #003c5a; color: #fff; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 19px; text-align: center; text-decoration: none !important; }

.style_btn01:after { content: ''; position: absolute; right: 26px; top: 50%; transform: translateY(-50%); display: inline-block; background: url("../images/arr_white.png") no-repeat; background-size: contain; width: 44px; height: 10px; -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; }

.style_btn01:hover:after { right: 10px; -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; }

.style_btn02 { display: flex; justify-content: center; margin-top: 30px; }

.style_btn02 a { display: inline-block; background: url("../images/arr_blue.png") no-repeat center right 30px; padding: 20px 65px; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; text-decoration: none; color: #003c5a; font-size: 16px; position: relative; text-align: center; width: 410px; -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; }

.style_btn02 a:after, .style_btn02 a:before { position: absolute; content: ""; width: calc(100% - 14px); height: calc(100% - 14px); border: 1px solid #003c5a; }

.style_btn02 a:after { top: 0px; left: 10px; }

.style_btn02 a:before { top: 10px; left: 0px; }

.style_btn02 a:hover { background: url("../images/arr_blue.png") no-repeat center right 20px; }

.style_list01 { margin-top: 60px; display: flex; justify-content: space-between; flex-wrap: wrap; }

.style_list01 li { position: relative; width: 23.7%; transition: all 0.5s; -webkit-transition: all 0.5s; z-index: 10; }

.style_list01 li a { position: relative; display: block; text-decoration: none !important; z-index: 4; }

.style_list01 li a:hover { opacity: 0.7; }

.style_list01 li a figure { width: 100%; margin: 0; overflow: hidden; }

.style_list01 li a figure img { width: 100%; }

.style_list01 li a .ttl_list01 { position: relative; background: #003c5a; color: #fff; font-size: 20px; padding: 15px 10px; text-align: center; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: normal; line-height: 1.5; }

.style_list01 li a .ttl_list01:after { position: absolute; content: ""; background: url(../images/about_icon.png) no-repeat; background-size: 22px; width: 22px; top: -11px; left: 50%; transform: translateX(-50%); height: 22px; z-index: 3; }

.style_list01 li a .ttl_list01 span { display: block; font-size: 24px; }

.style_list02 { display: flex; justify-content: space-between; flex-wrap: wrap; }

.style_list02 li { position: relative; width: 48%; transition: all 0.5s; -webkit-transition: all 0.5s; margin-top: 60px; }

.style_list02 li a { position: relative; display: block; text-decoration: none !important; z-index: 4; }

.style_list02 li a:hover { opacity: 0.7; }

.style_list02 li a .img_list02 { position: relative; }

.style_list02 li a .img_list02 figure { width: 100%; margin: 0; overflow: hidden; }

.style_list02 li a .img_list02 figure img { width: 100%; }

.style_list02 li a .img_list02 .ttl_list02 { position: absolute; border-top: 5px solid #fff; background: #663965; color: #fff; font-size: 27px; font-weight: normal; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; top: -65px; left: 15px; padding: 15px 10px; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; }

.style_list02 li a .img_list02 .price_list02 { position: absolute; bottom: -10px; right: -10px; display: inline-block; background: #663965; color: #fff; font-size: 22px; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; text-align: center; line-height: normal; padding: 0 20px 7px; }

.style_list02 li a .img_list02 .price_list02 .number { font-size: 40px; display: block; font-style: italic; }

.style_list02 li a .txt_list02 { background: url("../images/arr_blue_next.png") no-repeat right center; padding: 25px 100px 30px 0; }

.style_list02 li:nth-child(even) { margin-top: 120px; }

.style_list02 li:nth-child(even) .img_list02 .ttl_list02, .style_list02 li:nth-child(even) .img_list02 .price_list02 { background: #53aed1; }

.text_indent01 { margin-left: 15px; text-indent: -15px; }

/* ▽ TAB-SP layout ========== */
@media print, screen and (max-width: 1024px) and (min-width: 768px) { #header .h_main .h_logo { width: 30%; }
  #header .h_main .h_right { width: 65%; }
  #header .h_main .h_right .logo_banner { width: 25%; }
  #header .h_main .h_right .h_contact { width: 72%; margin-left: 3%; }
  #header .h_main .h_right .h_contact .h_infor { font-size: 1.25vw; }
  #header .h_main .h_right .h_contact .h_tel { width: 45%; }
  #header .h_main .h_right .h_contact .btn_contact { width: 52%; }
  .btn_contact a { padding: 12px 14px; }
  .btn_contact a span { font-size: 1.5vw; }
  #gnav ul li { padding: 15px 5%; }
  #gnav ul li a { font-size: 14px; }
  .style_list01 li a .ttl_list01 { padding: 15px 5px; }
  .style_list01 li a .ttl_list01 span { font-size: 17px; }
  .style_list02 li a .img_list02 .ttl_list02 { font-size: 20px; }
  .style_list02 li a .img_list02 .price_list02 { font-size: 18px; }
  .style_list02 li a .img_list02 .price_list02 .number { font-size: 34px; }
  #footer .f_main .container .f_left { width: 34%; }
  #footer .f_main .container .f_left .f_logo { padding: 2%; margin-bottom: 30px; }
  #footer .f_main .container .f_right { width: 60%; }
  #footer .f_main .container .f_right .sec_sns { margin-top: 30px; } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { #wrapper, .container { width: 100%; min-width: inherit; }
  #header .h_main .h_logo { width: 45%; }
  #header .h_main .h_right { width: 40%; }
  #header .h_main .h_right .h_btn { display: flex; justify-content: space-between; align-items: center; width: 100%; }
  #header .h_main .h_right .h_btn li { width: 30%; }
  #header .h_main .h_right .logo_banner, #header .h_main .h_right .h_contact { display: none !important; }
  .btn_close { display: none; }
  .btn_gnav.opened img { display: none; }
  .btn_gnav.opened .btn_close { display: inline; }
  #gnav { position: absolute; display: none; background: #fff; width: calc(100% + 20px); left: -10px; right: 0; top: 100%; padding: 2%; z-index: 999; }
  #gnav ul { flex-wrap: wrap; }
  #gnav ul li { width: 100%; padding: 10px 2%; }
  #gnav ul li a { width: 100%; display: block; text-align: center; font-size: 14px; color: #000; margin: 0; padding: 0; }
  #gnav ul li a:after { background: none; }
  #gnav ul li a:hover:after { width: 0; }
  #gnav .logo_banner_sp { display: flex; justify-content: center; }
  #gnav .logo_banner_sp li { width: 35%; }
  .style_btn01 { font-size: 14px; }
  .style_btn01:after { right: 10px; width: 30px; }
  .style_btn02 { max-width: 100%; }
  .style_btn02 a { min-width: 80%; font-size: 14px; }
  .style_ttl01 { background-size: 30px; padding-bottom: 15px; margin-bottom: 15px; }
  .style_ttl01 .ttl_jp { font-size: 18px; margin-top: 0px; }
  .style_ttl01 .ttl_jp strong { font-size: 20px; }
  .ttl_sub { font-size: 16px; }
  .style_list01 { margin-top: 30px; }
  .style_list01 li { width: 48%; }
  .style_list01 li a .ttl_list01 { font-size: 15px; padding: 10px 5px; }
  .style_list01 li a .ttl_list01 span { font-size: 18px; }
  .style_list01 li a .ttl_list01:after { background-size: 18px; width: 18px; top: -9px; }
  .style_list02 { width: 90%; justify-content: center; margin-left: 5%; }
  .style_list02 li { width: 100%; margin-top: 80px !important; }
  .style_list02 li a .img_list02 .ttl_list02 { font-size: 18px; }
  .style_list02 li a .img_list02 .price_list02 { font-size: 15px; }
  .style_list02 li a .img_list02 .price_list02 .number { font-size: 28px; }
  .style_list02 li a .txt_list02 { background: url("../images/sp_arr_blue_next.png") no-repeat right center; background-size: 65px; padding: 25px 70px 25px 0; }
  #footer .f_main { padding: 8% 0; }
  #footer .f_main .container { flex-wrap: wrap; }
  #footer .f_main .container .f_left { width: 100%; }
  #footer .f_main .container .f_left .f_logo { width: 53%; padding: 3%; margin-bottom: 20px; }
  #footer .f_main .container .f_left .map { margin-top: 10px; }
  #footer .f_main .container .f_right { width: 100%; margin-top: 20px; }
  #footer .f_main .container .f_right .sec_sns { width: 70%; margin: 20px auto 0; } }

@media only screen and (max-width: 480px) { #wrapper { font-size: 14px; } }

@media only screen and (max-width: 415px) { .style_list01 li a .ttl_list01 { font-size: 3vw; }
  .style_list01 li a .ttl_list01 span { font-size: 4vw; } }

@media only screen and (max-width: 375px) { .style_list02 li a .img_list02 .ttl_list02 { font-size: 16px; }
  .style_list02 li a .img_list02 .price_list02 { font-size: 14px; }
  .style_list02 li a .img_list02 .price_list02 .number { font-size: 24px; } }

.container02 { width: 100%; max-width: 1035px; margin: 0 auto; }

.sec_contact { background: url("../images/contact_bg.jpg") repeat top center; padding: 60px 0 50px; margin-top: 140px; font-family: "Noto Serif JP", "Noto Serif", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.sec_contact .cont_contact { display: flex; justify-content: space-between; flex-wrap: wrap; }

.sec_contact .cont_contact .infor_contact { width: 63%; }

.sec_contact .cont_contact .infor_contact .style_ttl01 { background: url("../common_img/ttl_bg.png") no-repeat left bottom; display: flex; align-items: center; align-content: center; }

.sec_contact .cont_contact .infor_contact .style_ttl01 span { display: inline-block; }

.sec_contact .cont_contact .infor_contact .style_ttl01 span.ttl_jp { padding-left: 20px; }

.sec_contact .cont_contact .infor_contact .infor_1 { display: flex; justify-content: flex-start; width: 100%; margin-bottom: 5px; letter-spacing: 0.55px; font-size: 21px; margin-bottom: 20px; }

.sec_contact .cont_contact .infor_contact .infor_1 dt { background: #003c5a; padding: 2px 15px 0; color: #fff; }

.sec_contact .cont_contact .infor_contact .infor_1 dd { border: 1px solid #53aed1; background: #fff; border-left: none; padding: 2px 15px 0; }

.sec_contact .cont_contact .infor_contact .sub_contact { font-size: 27px; font-weight: 500; margin-bottom: 20px; }

.sec_contact .cont_contact .infor_contact ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.sec_contact .cont_contact .infor_contact ul .contact_tel { width: 46%; }

.sec_contact .cont_contact .infor_contact ul .btn_contact { width: 48%; }

.sec_contact .cont_contact .infor_contact ul .btn_contact a { font-size: 21px; padding: 20px; }

.sec_contact .cont_contact .infor_contact ul .btn_contact a::after, .sec_contact .cont_contact .infor_contact ul .btn_contact a:before { position: absolute; content: ""; width: calc(100% - 24px); height: calc(100% - 24px); border: 1px solid #fff; }

.sec_contact .cont_contact .infor_contact ul .btn_contact a:after { top: 8px; left: 15px; }

.sec_contact .cont_contact .infor_contact ul .btn_contact a:before { top: 15px; left: 8px; }

.sec_contact .cont_contact .img_contact { width: 32%; }

.sec_contact .cont_contact .img_contact img { width: 100%; margin-top: -100px; }

@media only screen and (max-width: 767px) { .sec_contact { padding: 5% 0; margin-top: 50px; }
  .sec_contact .cont_contact { flex-direction: column-reverse; }
  .sec_contact .cont_contact .infor_contact { width: 100%; }
  .sec_contact .cont_contact .infor_contact .style_ttl01 { line-height: normal; }
  .sec_contact .cont_contact .infor_contact .style_ttl01 .ttl_eng img { width: 109px; }
  .sec_contact .cont_contact .infor_contact .infor_1 { font-size: 14px; }
  .sec_contact .cont_contact .infor_contact .infor_1 dt, .sec_contact .cont_contact .infor_contact .infor_1 dd { padding: 2px 10px; }
  .sec_contact .cont_contact .infor_contact .infor_1 dt { width: 40%; }
  .sec_contact .cont_contact .infor_contact .infor_1 dd { width: 60%; }
  .sec_contact .cont_contact .infor_contact .sub_contact { font-size: 15px; text-align: center; }
  .sec_contact .cont_contact .infor_contact ul { justify-content: center; }
  .sec_contact .cont_contact .infor_contact ul .contact_tel { width: 80%; }
  .sec_contact .cont_contact .infor_contact ul .btn_contact { width: 320px; margin-top: 20px; }
  .sec_contact .cont_contact .infor_contact ul .btn_contact a { font-size: 17px; }
  .sec_contact .cont_contact .infor_contact ul .btn_contact a img { width: 30px; }
  .sec_contact .cont_contact .img_contact { width: 100%; margin-bottom: 20px; }
  .sec_contact .cont_contact .img_contact img { margin-top: 0; } }

/*# sourceMappingURL=maps/base.css.map */
