@charset "utf-8";

/* リセット
---------------------------------------------------------- */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after { content: ''; content: none;}
table {border-collapse: collapse;border-spacing: 0;}


/* ベースフォント
---------------------------------------------------------- */
html {font-size: 62.5%; }
body{font-family:"メイリオ", Meiryo,"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; font-size:13px; font-size: 1.3rem; color:#434343; line-height:2.0; text-align:center;}
a:link,
a:visited{color : #1e73be; text-decoration : none; outline: none;}
a:hover,
a:active{color : #4aaaff; text-decoration : none; outline: none;}


/* 基本設定
---------------------------------------------------------- */
img{border:none; max-width:100%; height: auto; vertical-align:middle;}
strong {font-weight: bold; }
ol li {list-style-type: decimal; list-style-position: inside; margin-left: 1.4em; text-indent: -1.4em;}




/**********************************************************************************


  パーツ


***********************************************************************************/

/* 基本パーツ
---------------------------------------------------------- */
/*margin*/
.m0{margin:0 !important;}
.mb0{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb50{margin-bottom:50px !important;}
.mb60{margin-bottom:60px !important;}
.mb100{margin-bottom:100px !important;}
.mt0{margin-top:0 !important;}
.mt24{margin-top:24px !important;}
.mt10{margin-top:10px !important;}
.mt20{margin-top:20px !important;}
.mt30{margin-top:30px !important;}
.mt50{margin-top:50px !important;}

/*align*/
.taC{text-align:center !important;}
.taR{text-align:right !important;}
.taL{text-align:left !important;}

/*float*/
.fL{float:left !important;}
.fR{float:right !important;}

/*font*/
.fs13 {font-size:13px !important;}

/*矢印*/
.ico01 {text-indent: -1.1em; margin: 0 0 10px 1.2em !important; line-height: 1.7em;}

/*アコーディオン*/
.toggle_title {
	line-height: 42px;
	padding: 2px 10px;
	position: relative;
	cursor: pointer;
	transition: 0.2s;
	border-bottom: 1px solid #999;
}
.toggle_title:after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background:url(../img/ico-tri.png) no-repeat right top;
	position:absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	transition: 0.2s;
}
.toggle_title.selected:after {
	transform: translateY(-50%) rotate(180deg);
	transition: 0.2s;
}
.toggle_txt {
	display: none;
}
.toggle_txt li {border-bottom: 1px solid #ccc;}
.toggle_txt li a {display:block; padding: 10px 20px; background: #fffcf9; transition: 600ms ease all;}
/* 見出し、ボタン装飾、ツールなど
---------------------------------------------------------- */
.rice {padding-left: 1em !important; text-indent: -1em;}
.flx {display: flex;}
.fwb {font-weight: bold;}
.txt01 {
	font-weight: bold;
	position: relative;
	font-size: 26px;
	text-align: center;
	border-bottom: 5px solid #f6f6f6;
}

.txt01::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #1e73be;
}
.txt02 {
    font-weight: bold;
    margin: 40px 0 0 0;
    font-size: 20px;
}
.txt02::before {
    content: "";
    display: block;
    width: 75px;
    height: 4px;
    border-radius: 10px;
    background: #a9d7ff;
    margin-bottom: 14px;
    border: 0;
}
.txt03 {
     background: linear-gradient(transparent 60%, #ffff66 60%);
}

.bg01 {
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 7px;
    box-shadow: 0 0 7px rgb(0 0 0 / 20%);
}
.bg02 {background: #f6fdff;}
.fss{font-size:80%;}
.onpc {display:none;}
.link01 a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #6abdff;
	transform: scaleX(0);
	transition: transform 0.3s;
}


/**********************************************************************************


  レイアウト


***********************************************************************************/
html {height: 100%;}
body {background: #fff; height: 100%;}
.inner {
    max-width: 100%;
    margin: auto;
    padding: 0 3%;
}
#wrapper {
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    flex-flow: column;
    min-height: 100vh;
}
#container {font-size:16px; text-align:left;}
header {
    background: #edf5fc;
    border-top: 4px solid #1e73be;
    border-bottom: 1px solid #ffffff;
    -moz-box-shadow: 0px 0px 1px #313131;
    -webkit-box-shadow: 0px 0px 1px #313131;
    line-height: 0;
    width: 100%;
}
header .inner {justify-content: space-between; padding: 0;}
main {display:block; flex: 1;}
footer {
    border-top: 4px solid #1e73be;
    background: #f3f3f3;
}
footer .inner {padding: 0;}
footer p {margin: 10px 10px 0 10px; text-align: left;}
footer ul {margin:16px 0 0 0;}
footer ul li {border-bottom: 1px solid #e5e5e5; text-align:left;}
footer ul li:first-child {border-top: 1px solid #e5e5e5;}
footer ul li a {display: block; padding: 6px 0; color: #343434 !important;}
footer ul li i {padding: 0 3px 0 16px}
footer ul a:link {color: #343434;}
footer #copy {
    font-size: 13px;
    color: #7c8e9e;
    padding-bottom: 20px;
    letter-spacing: 1px;
    font-family: arial,sans-serif;
    margin: 10px 0 0 0;
    text-align: center;
}


/* サイドバー
---------------------------------------------------------- */





/**********************************************************************************


  ナビ


***********************************************************************************/
.logo {
    padding: 10px 0 10px 6px;
    line-height: 1.5;
    text-align: left;
    width: 150px;
}
.menu {width:400px;}
nav ul li i {padding: 0 3px 0 17px;}



/**********************************************************************************


  ページ


***********************************************************************************/


/* トップページ
---------------------------------------------------------- */
#top h1 {font-size: 13px; text-align:center;}
#top h1::after {
    content:'';
    display: block;
    width: 100%;
    height: 0;
    margin: 0 auto;
    padding-top: 64%;
    text-indent: 9999px;
    background: url(../img/top-img02.jpg) no-repeat 0 0;
    background-size: cover;
    border-bottom: 1px solid #f3f3f3;
    box-shadow: 0 0 0.25em rgb(0 0 0 / 25%);
}
#top h2 {
    text-align:left;
    padding: 0 10px;
    margin: 0 0 6px 0;
    font-size: 21px;
    font-weight:bold;
}
#top h2:after {
    content: '';
    display: inline-block;
    width: 50px;
    height: 1px;
    margin-left: 6px;
    background: #8f8f8f;
    vertical-align: 8px;
}
#top .contents {background: #f9f9f9;}
#top .contents section.box01 {background: #fff; padding: 16px 3% 16px 3%;}
#top .contents section.box01 p a {
    color: #0095e7;
    font-weight: bold;
    padding: 0 0 0 18px;
    margin: 10px 0 27px 8px;
    font-size: 16px;
    position: relative;
}
#top .contents section.box01 p a i {
    color: #ff7f2e;
    position: absolute;
    left: 2px;
    top: 2px;
}
#top .contents section.box02 {background:#f9f9f9; padding: 16px 3% 10px 3%;}
#top .contents section.box02 p.txt a {
    background: none;
    color: #0095e7;
    font-weight: bold;
    padding: 0 0 0 18px;
    margin: 10px 0 27px 8px;
    font-size: 16px;
    text-align: left;
    line-height: 1.7;
    display: inline-block;
    position: relative;
}
#top .contents section.box02 p.txt a i {
    color: #ff7f2e;
    position: absolute;
    left: 2px;
    top: 4px;
}

#top .contents ul li a {
    color: #ffffff;
    background: #42b3f0;
    background-color: rgb(20 161 237 / 80%);
    border-radius: 100px;
    padding: 10px 6px;
    margin: 0 14px 11px 14px;
    display: block;
    font-size: 16px;
    text-align: center;
    position: relative;
    border:none;
    position:relative;
    transition:600ms ease all;
    outline:none;
}

#top .contents ul li i {
    color: #ebf2fc;
    position: absolute;
    left: 14px;
    top: 17px;
}
#top .contents ul li.txt {width:100%; padding: 7px 0;}
#top .contents ul li a span {display:none;}



/* 下層ページ共通
---------------------------------------------------------- */
body.page main h1 {font-size:21px; margin: 10px 0 20px 0;}
body.page main p {margin-bottom: 30px;}
main.single .contents {padding: 20px;}

/*-------------------------------------------*/
/*	ナビページ
/*-------------------------------------------*/
#nav section.box02 {padding-bottom:30px;}
#nav section.box02 h2 {font-size:24px; margin:0 0 20px 0; padding:20px 0 0 0;}
#nav section.box02 .toggle_title {color: #1e73be; background: #fff; padding: 5px 20px; margin:0;}
#nav section.box02 a {position: relative;}
#nav section.box02 i {position: absolute; right: 12px; top: 17px; color: #2c2c2c;}
#nav section.box02 .txt {border-bottom: 1px solid #999;}
#nav section.box02 .txt:last-child {border-bottom: none;}
#nav section.box02 .txt a {
    display: block;
    padding: 10px 20px;
    transition: 600ms ease all;
}
#nav section.box02 .bg01 div.txt:first-child a {border-top-left-radius:7px; border-top-right-radius:7px;}
#nav section.box02 .bg01 div.txt:last-child a {border-bottom-left-radius:7px; border-bottom-right-radius:7px;}

/*-------------------------------------------*/
/*	登録フォーム
/*-------------------------------------------*/
.reg .inner {padding: 0 1%;}
.section-info h2 {position: relative; text-align:center; margin: 20px 10px 4px 8px;}
.section-info h2::before {
	content: '';
    position: absolute;
    width: 100%;
    height: 25px;
    background: url(../img/ico-bor.png) repeat-x;
    z-index: 1;
    top: -38%;
    left: 0px;
}
.section-info .box01 {
    border-radius: 6px;
    padding: 10px 18px;
    margin: 0 0 14px 0;
    background: #efedeb;
    background: -moz-linear-gradient( #fcfcfc 0%, #efedeb 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#efedeb));
    background: -webkit-linear-gradient( #fcfcfc 0%, #efedeb 100%);
    background: -o-linear-gradient( #fcfcfc 0%, #efedeb 100%);
    background: linear-gradient( #fcfcfc 0%, #efedeb 100%);
}
.section-info .box01 p strong {
    background: url(../img/ico-cir.png) no-repeat left 37%;
    color: #ff453f;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 0 31px;
    background-size: 17px;
    display: block;
}

/*フォーム*/
#mail_form h2 {
    padding:20px 0;
    background: #6cb2ef;
    color:#fff;
    font-size: 20px;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    position: relative;
}
#mail_form input[type="text"]:focus,
#mail_form input[type="tel"]:focus,
#mail_form input[type="email"]:focus {
  border: 1px solid #ff9900;
  outline: 0;
}
#mail_form dl:nth-last-child(odd) {background: #fffdfb;}

/*個人情報の取り扱いについて*/
#mail_form .privacy {height:100px;-webkit-overflow-scrolling: touch; padding: 6px 6px 10px 14px; border:1px solid #ccc; margin:14px; font-size:13px; line-height:1.5; background:#eee;}
#mail_form .privacy{overflow: auto; /* 対象となる要素のクラス名が"element"の場合 */}
#mail_form .privacy::-webkit-scrollbar{width: 5px; background: #ccc; /* スクロールバー本体 */}
#mail_form .privacy::-webkit-scrollbar-thumb{background: #666; border-radius: 2px; /* スクロールバーの動く部分 */}
#mail_form .privacy::-webkit-scrollbar-track-piece:start{background: #ccc; /* スクロールバーの動く部分の前 */}
#mail_form .privacy::-webkit-scrollbar-track-piece:end{background: #ccc; /* スクロールバーの動く部分の後ろ */}
#mail_form .privacy::-webkit-scrollbar-corner{background: transparent; /* スクロールバー角 */}
#mail_form .privacy p {margin:0 0 16px 0;}

.image {
	position: relative;
	border: 17px solid #f2ebe4;
	background: #f2ebe4;
}

.image::before,
.image::after {
	content: '';
	position: absolute;
	transform: rotate(-35deg);
	width: 52px;
	height: 17px;
	background-color: #f2ebe4;
	z-index: 1;
}

.image::before {
	top: -5px;
    left: -16px;
    border-bottom: 1px solid #aaa;
}

.image::after {
	bottom: -5px;
    right: -16px;
    border-top: 1px solid #aaa;
}



/*-------------------------------------------*/
/*	サンクスページ
/*-------------------------------------------*/
#thanks .contents li a {display:block;}
#thanks .contents .ico-tri li {
    position: relative;
    padding: 6px 0 6px 14px;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    font-size: 1.4rem;
}

#thanks .contents .ico-tri li:before {
    content: '';
    position: absolute;
    top: 14px;
    left: 0;
    width: 8px;
    height: 8px;
    background: #ff8319;
    border-radius: 50%;
}

#thanks .contents section {
    padding: 24px 50px 50px;
    border-radius: 6px;
    background: #fffaf3;
    border: 1px solid #cccccc;
    border-radius: 7px;
    box-shadow: 0 0 7px rgb(0 0 0 / 20%);
}

/*-------------------------------------------*/
/*	お問い合わせ
/*-------------------------------------------*/
#contact form#mail_form {margin: 0 auto; text-align: left;}



/*-------------------------------------------*/
/*	プライバシーポリシー
/*-------------------------------------------*/
#privacy {}


/*-------------------------------------------*/
/*	会社概要
/*-------------------------------------------*/
#company table {margin:0 auto;}

/**********************************************************************************


  レスポンシブ


***********************************************************************************/

@media screen and (max-width : 599px){

}



@media screen and (min-width : 600px){
#top h1::after {background: url(../img/top-img03.jpg) no-repeat 0 0; background-size: cover;}
#thanks .contents .ico-tri li {
    padding: 10px 0 10px 22px;
}
#thanks .contents .ico-tri li:before {
    top: 18px;
    width: 10px;
    height: 10px;
}
.section-form h2:after {
    border-style: solid;
    border-width: 0 10px 10px;
    border-color: #6cb2ef transparent;
    content: " ";
    top: -10px;
    left: 50%;
    position: absolute;
    background-color: transparent;
    border-width: 10px 10px 0;
    top: auto;
    bottom: -10px;
}
}



@media screen and (min-width : 1025px){
.flxP {display: flex;}
.onpc {display:block;}
.inner {padding: 0;}
.toggle_title {border-top:none; border-left:none; border-right:none; border-radius: 0px;}
/* レイアウト
---------------------------------------------------------- */
#header .inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0;
}
#container {padding-top: 16px;}
footer {height: 100px;}
footer .inner {padding: 0 10px;}
footer .flxP {justify-content: space-between;}
footer ul {display: flex; margin:0;}
footer ul li, footer ul li:first-child {border: none;}
footer ul li a {display: inline-block;}
footer li {border: none;}
footer #copy {margin: 14px 0 0 0; text-align: right;}
.logo {width: auto;}
body.page main h1 {font-size:29px;}



/* トップページ
---------------------------------------------------------- */
#top {background: #f5f6f8;}
#top h1 {
    font-size: 39px;
    font-weight: bold;
    text-align: left;
    width: 590px;
    color: #0b6ec1;
    line-height: 1.8;
    height: auto;
    margin: 0;
    padding: 47px 0 40px 0;
    text-indent: 0;
    background: none;
}
#top h1::after {content:none;}
#top h1 span {display:block;}
#top h2 {font-size: 26px; font-weight:normal; background:none; padding: 0;}
#top h2:after {content: none;}
#top main #container {
    background: url(../img/top-img01.jpg) no-repeat right 2px;
    max-width: 1150px;
    margin: 0 auto;
    padding-bottom: 30px;
    padding-left: 10px;
}
#top .contents {background: none;}
#top .contents section.box01, #top .contents section.box02 {background: none; padding: 0;}
#top .contents section.box01 p a {
    margin: 0 0 0 28px;
}
#top .contents section.box01 {margin: 0 0 30px 0;}
#top .contents section.box02 div {
    background-color: rgba(255,255,255,.8);
    border-radius: 0.25em;
    box-shadow: 0 0 0.25em rgb(0 0 0 / 25%);
    width: 800px;
    padding: 20px 20px;
}
#top .contents section ul {
    display: flex;
    flex-wrap: wrap;
}
#top .contents ul li {
    width: 50%;
    margin: 0;
}
#top .contents ul li i {top: 13px;}
#top .contents ul li a {font-size: 14px; margin: 0 6px 11px 6px; padding: 6px 6px;}
#top .contents ul li a span {display:inline-block;}


/* 下層ページ
---------------------------------------------------------- */
main.single #container {width: 800px; margin: 0 auto; padding: 40px;}

#nav main h1 {margin:30px 0 20px 0}
#nav main {padding:34px 0 0 0;}
#nav main #container .contents .box01.inner {width: 700px;}
#nav main #container .contents .box02.inner {width: 500px;}

#nav section.box02 h2 {margin: 0 0 40px 0; padding: 30px}
#thanks main #container {
    width: 800px;
    margin: 0 auto;
    padding: 40px;
}
.section-info {margin: 0 50px 0 0; background: #fff;}
form#mail_form {width: 660px;}
}



@media screen and (min-width : 1280px){
.inner {width: 1200px;}
.image {margin: 16px 0 0 0;}
header {padding: 10px 0 6px 0;}
footer .inner {width:1200px;}

#top main #container {padding-left: 0;}
.section-info h2 {font-size: 20px; text-align:right; margin: 20px 10px 4px 0;}
.section-info h2::before {width: 72%; top: 30%;}
.section-info .box01 {border: 6px solid #666;}
.section-info .box01 p.onpc {line-height:1.5em; margin: 0 0 1em 0;}
.section-info .box01 p strong {font-size:26px; padding: 0 0 0 48px; background-size: 34px; background: url(../img/ico-cir.png) no-repeat left 27%;}

}
