@charset "UTF-8";
@import url("grid.css");

img {
	max-width:100%;
}
a {
    color: #0066CC;
}
a:hover { 
    color: #999;
}

.renewal_info h2,.renewal_info h3,.renewal_info h4{
    color: #2E2E2E;
    text-align: center;
    padding: .5em;
}

/*adds*/
    .company_logo{float: left;margin-right: 20px}
    #navi li{padding:1.5em 0em 0.5em 1em;background: #E9F2F7}
    .red{color:crimson;}
    .green{color: green;}
    .underline{text-decoration: underline;}

		.for_text_indents_05em {
				margin-left:40px !important;
				padding-left: 1.5em ;
				text-indent	: -0.5em ;
		}
		.for_text_indents_1em {
				padding-left: 1em;
				text-indent	: -1.1em;
		}
		.for_text_indents_15em {
				padding-left: 4.5em;
		}
.for_text_indents_15em li {
        list-style: circle;
		}
.for_text_indents_2em {
				padding-left: 2em;
				text-indent	: -2em;
		}

/* 開いて実行されるアニメーションを設定*/
details[open] .content {
  animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
  0% {
    opacity: 0; /* Transparent */
    transform: translateY(-10px); 
    /* translateX(+100px)：右から表示 */
    /* translateX(-100px)：左から表示 */
    /* translateY(+100px)：下から表示 */
    /* translateY(-100px)：上から表示 */

  }
  100% {
    opacity: 1;
    transform: none;
  }
} 
    summary {
  position: relative;
  display: block; /* 矢印を消す */
  padding: 10px 15px 10px 20px; /* アイコン分の余白 */
  cursor: pointer;
}
    summary:hover {
  cursor: pointer; /* カーソルを指マークに */
  background-color: #EFEFEF;
}
summary::-webkit-details-marker {
  display: none; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary:before,
summary:after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}
summary:before {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background-color: #1da1ff;
}
summary:after {
  right: 6px;
  width: 5px;
  height: 5px;
  border: 4px solid transparent;
  border-left: 5px solid #fff;
  box-sizing: border-box;
  transition: .1s;
}
/* オープン時 */
details[open] summary:after {
  transform: rotate(90deg); /* 90度回転 */
  right: 4px;
  top: 5px;
}
    h2{margin-left: 1em;line-height: 2;margin-right:2em}
    h3{margin-left: 2em !important;}
    .container h4{margin-left: 2em}
    h5{margin-left: 3em !important;}
    h6{font-size:120%;font-weight: bold;}
    blockquote{margin-left: 3em}
    .rank1{background: #D7F4FF;font-size: 150%;}
    .rank2{background: #D7F4FF;font-size: 120%;margin: 1em 2em;color: #054C80;}
    .rankdummy{background: #D7F4FF;font-size: 150%;line-height: 100%; padding: 10px 15px 10px 20px; /* アイコン分の余白 */}

    .content p{margin: 1em 5em;}
    Ul{list-style: none;}
    .fee dl{border: 2px solid #004ca0;margin:1em 5em;border-radius: 20px;padding: 1em;width:300px;}
    .callbox{border: 2px solid #004ca0;border-radius: 20px;width: 240px;padding: 1em;text-align: center;float: left;margin:1em 0.5em 2em 0em;min-height: 250px;}
    .callbox .tell{font-size: 150%;}

    .gorenraku {margin: 2em;border:2px solid #004ca0; padding: 1em;border-radius: 20px;background: #FFFFFF;}
    .gorenraku a{}

    /*shoplist*/
    .callbox_wide{border: 2px solid #004ca0;border-radius: 20px;width: 45%;padding: 1em;float: left;margin:1em 0.5em 2em 0em;min-height: 310px;font-size:110%;line-height: 1.5em;}
    .callbox_wide strong{font-size: 140%}
    .callbox_wide a{font-size:120%}

    .infobox{padding: 3em 0 0 2em;}
    details{clear: both;}
    .subtitle{background: #004ca0;border-radius: 40px;display: block;text-align: center;padding: 1em;color: #FFFFFF;}



/* .fixed-sub-menu
----------------------------------------------- */
@media print {
  .fixed-sub-menu {
    display: none;
  }
}
.fixed-sub-menu {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  right: 0;
  width: 500px;
  margin-left: auto;
  z-index: 450;
}
.fixed-sub-menu _:-ms-lang(x)::-ms-backdrop,
.fixed-sub-menu {
  position: fixed;
}
.fixed-sub-menu.is-static {
  margin-bottom: 1px;
}
.fixed-sub-menu.is-static _:-ms-lang(x)::-ms-backdrop,
.fixed-sub-menu.is-static {
  position: fixed;
  visibility: hidden;
}
.fixed-sub-menu > ul {
  display: flex;
  justify-content: flex-end;
}
.fixed-sub-menu > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 100px;
  background-color: #004ca0;
  border-right: 1px solid #fff;
}

.fixed-sub-menu > ul > li > a {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 8px 0 4px;
  color: #fff;
  text-decoration: none;
  font-size: 1.1rem;
  line-height: 1.18182;
}
.fixed-sub-menu > ul > li > a:focus {
  outline: 1px dotted #000;
}
.fixed-sub-menu__head {
  display: flex;
  align-items: center;
  margin: 5px auto 0;
  height: 2em;
  text-align: center;
}
.fixed-sub-menu__body {
  display: flex;
  align-items: center;
  margin: auto;
}
.fixed-sub-menu__narrow {
  letter-spacing: -2px;
}
@media only screen and (max-width: 767px) {
    .content p{margin: 1em;}
    h2,h3,h4{margin-left: .2em !important;margin-right:.2em !important;}

    .fixed-sub-menu {
    width: 100%;
    transition: .3s transform ease-out;
  }
  [data-scroll-direction="down"] .fixed-sub-menu {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  [data-scroll-direction="down"] .fixed-sub-menu.is-static {
    position: static;
    transition: none;
    -webkit-transform: none;
    transform: none;
  }
  [data-scroll-direction="up"] .fixed-sub-menu.is-static {
    position: -webkit-sticky;
    position: sticky;
  }
  .fixed-sub-menu > ul > li {
    width: 25%;
    height: 65px;
  }
  .fixed-sub-menu > ul > li:first-child {
    border-radius: 0;
  }
  .fixed-sub-menu > ul > li:last-child {
    border-radius: 0;
  }
  .fixed-sub-menu__head {
    font-size: 100%;
  }
  .fixed-sub-menu__img-01 {
    width: 21px;
  }
  .fixed-sub-menu__img-02,
  .fixed-sub-menu__img-03,
  .fixed-sub-menu__img-04 {
    width: 18px;
  }
  .fixed-sub-menu__img-05 {
    width: 27px;
  }
  .fixed-sub-menu__img-06 {
    width: 28px;
  }
}

.fixed-sub-menu--ie-only {
  display: none;
}
.fixed-sub-menu--ie-only _:-ms-lang(x)::-ms-backdrop,
.fixed-sub-menu--ie-only {
  position: relative;
  display: block;
  margin-bottom: 1px;
  visibility: hidden;
}
.fixed-sub-menu--ie-only.is-static _:-ms-lang(x)::-ms-backdrop,
.fixed-sub-menu--ie-only.is-static {
  position: relative;
  visibility: visible;
}


/*ヘッダー
-------------------------------------*/
.header {
	display: flex;
    flex-direction: row;
    padding: 2rem 0 0 0;
}
.header-box {
	margin-left: auto;
	margin-top: 8px;
}
.contact-button {
	padding: 1rem;
	border: 2px solid #000;
}
.header__menu {
	display: flex;
    flex-direction: row;
    justify-content: space-around;
    list-style: none;
	margin: 4rem 0 0 150px;
}
nav li {
	flex: 1 0 auto;
}
nav li a {
    text-decoration: none;
    text-align: center;
    width: 100%;
}
nav a:hover {
    font-weight: bold;    
}
nav a {
    padding: 0.5rem;
}

@media screen and (min-width: 768px){
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}

#navi {
    display: block !important;
}
}

@media screen and (max-width: 768px){
.header {
	flex-direction: column;
    margin-bottom: 10px;
}
.header #open,#close  {
    position: absolute;
    top: 20px;
    right: 12px;
}
nav ul {
	flex-direction: column;
}
    nav li{padding-bottom: 1em}    
.header li {
	padding-top: 0;
}
/* スマホ時はMENUボタンを表示 */
#open {
    display: block;
    background: url(../img/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
/* スマホ時はメニューを非表示 */
#navi {
    display: none;
}
}
/*メイン画像
-------------------------------------*/
.font_small{font-size:75%;}


/*メイン画像
-------------------------------------*/
.mainimg img {
    width: 100vw;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 5rem 0 0 0;

}
section {
	margin: 5rem 0;
	padding: 3rem 0;
}
.gray-back {
	background-color: #deebf7;
}

/*キャッチコピー
-------------------------------------*/
.catch {
    text-align: center;padding: 1em 0;
    margin:0 auto 100px auto;width: 60%;
}
@media screen and (max-width: 768px){
    .catch{width: 95%;}
}

.catch a {font-weight: bold; font-size: 110%;}
.catch h2 {
    padding-bottom: 1rem;
    
}
.catch dl{margin-left: 8vw;margin-top: 2em}
.catch dt{float: left;padding:0.5em;clear: both;border-bottom: 1px solid gray}
.catch dd{float: left;padding:0.5em; border-bottom: 1px solid gray;text-align: left;}
.under {
    border-bottom: 0.4rem solid #005BAC;
    padding:0 1rem 1rem 1rem;
}
.center {
	text-align: center;
	margin-bottom: 4rem;
}
.center_object{
    margin: auto;
    width: auto;
    
}

/*申し込みの流れ
-------------------------------------*/
.flow.row {
	margin-bottom: 3rem;
}


.index_show{}


/*フッター
-------------------------------------*/
@media print {
  footer {
    display: none;
  }
}

footer {
    background-color: #f7f7f7;
    padding: 5rem 0;
}
footer h4 {
    border-bottom: 3px solid #ccc;
    margin-left: 0em!important;

}

footer a{color: #666;text-decoration: none;}

/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid #ccc;
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 250px;
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #000;
}
.copyright a {
    color: #fff;
    text-decoration: none;
	display: inline;
}
.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background: #fff;
    color: #06c;
    width: 70px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background: #06c;
    color: #fff
}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	
/*ヘッダー
-------------------------------------*/
.header-box {
	display: none;
}	
/*お問い合わせ
-------------------------------------*/
.table th {
	width: 100%;
	display: block;
}	
.table td {
	display: block;
}
}