@charset "utf-8";

/**************************************************
		Common
**************************************************/
/* ===== Section ===== */
.section01 { position:relative; }
.section01 > .container { position:relative; margin:0 auto; padding:40px 0; width:1200px; }
.section02 { position:relative; }
.section02 > .container { position:relative; margin:0 auto; padding:40px 0; width:1000px; }

/* ===== Title ===== */
.ti01 { margin-bottom:30px; font-size:1.75rem; font-weight:normal; line-height:1.6; }
.ti01 .sub { display:block; margin-bottom:5px; font-size:1.13rem; }
.ti01 .main { display:block; }
.ti02 { margin-bottom:30px; padding-top:25px; border-top:3px solid #000; font-size:1.5rem; font-weight:normal; line-height:1.6; text-align:center; }
.ti02 .sub { display:block; margin-top:10px; font-size:0.88rem; }
.ti02 .main { display:block; }
.ti03 { position:relative; font-size:1.5rem; font-weight:normal; line-height:1.5; text-align:center; z-index:10; }
.ti03 .bg { display:inline-block; padding:13px 25px;; background:#57BEE3; color:#fff; }
.ti03 .sub { display:block; font-size:1rem; }
.ti03 .main { display:block; }

/* ===== Text ===== */
.txt01 { font-size:1rem; line-height:1.9; }
.txt02 { font-size:0.88rem; line-height:1.7; }
.fontRed { color:#c00; }
.txtHover { color:#004EFF; text-decoration:underline; }
.txtHover:hover { opacity:0.7; }

.txt01 .lineHover { display:inline-block; position:relative; z-index:0; }
.txt01 .lineHover::before { position:absolute; left:0; bottom:0.3em; width:0; height:4px; background:#D9E002; content:""; z-index:-1; transition:background-color 0.3s, width 0.3s; }
.txt01 a:hover .lineHover { color:#656803; }
.txt01 a:hover .lineHover::before { width:100%; }


/* ===== Notes ===== */
.notes01 { font-size:0.75rem; line-height:1.7; }
.notes01 > li { position:relative; padding-left:1.5em; margin-bottom:10px;}
.notes01 > li::before { position:absolute; left:0; content:"※";}

/* ===== Icon ===== */
.iconInline { display:inline; padding:0 7px; vertical-align:middle; line-height:0; }
.iconWindow,
.iconTel,
.iconInfo { display:inline-block; position:relative; }
.iconWindow { padding-right:17px; }
.iconTel { padding-left:55px; }
.iconInfo { padding-left:35px; }
.iconWindow::before,
.iconTel::before,
.iconInfo::before { position:absolute; top:50%; left:0; background:transparent none 50% 50% no-repeat; background-size:contain; transform:translateY(-50%); content:""; }
.iconWindow::before { left:auto; right:0; width:11px; height:11px; background-image:url("../img/common/icon_window.png"); }
.iconTel::before { width:40px; height:40px; background-image:url("../img/common/icon_tel.png"); }
.iconInfo::before { width:24px; height:24px; background-image:url("../img/common/icon_info.png"); }

/* ===== Line ===== */
.line01 { display:inline-block; position:relative; line-height:1.5; }
.line01::before { position:absolute; left:0; bottom:0.2em; width:100%; height:8px; background:#D9E002; content:""; z-index:-1; }

/* ===== Button ===== */
.bt01 { display:inline-block; position:relative; padding:27px 60px; border:0; border-radius:50px; min-width:240px; background:linear-gradient(45deg, #D9E002, #C3FF64); font-size:1.5rem; color:#000; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; z-index:0; transition:all 0.3s ease-out; transform-style:preserve-3d; will-change:transform, filter; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.bt01::before { display:inline-block; position:absolute; bottom:0; left:30px; right:30px; border-radius:50px; height:30px; background:linear-gradient(45deg, #D9E002, #C3FF64); filter:blur(20px) brightness(0.95); transition:all 0.3s ease-out; transform-style:preserve-3d; content:''; z-index:-1; }
.bt01:hover { transform:scale(0.95); /*filter:brightness(1.05) contrast(1.05);*/ }
.bt01:hover::before { bottom:0; filter:blur(10px) brightness(0.95); }
.bt02 { display:inline-block; position:relative; padding:14px 27px; border:3px solid #D9E002; border-radius:50px; min-width:260px; background:#D9E002; font-size:1.13rem; color:#000; line-height:1.5; text-align:center; text-decoration:none; overflow:hidden; cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.bt02.black { border-color:#000; background:#000; color:#fff; }
.bt02.small { padding:13px 27px; min-width:190px; font-size:0.88rem; }
.bt02:hover { background-color:#fff; }
.bt02.black:hover { background-color:#fff; color:#000; }
.bt02.disabled { border-color:#ccc; background:#ccc; cursor:default; }

/* ===== Table ===== */
.table01 { width:100%; font-size:1rem; line-height:1.7; }
.table01 th,
.table01 td { padding:12px 7px; border:3px solid #000; font-weight:normal; text-align:center; vertical-align:middle; }
.table01 thead::after { display:block; width:100%; height:1px; content:""; }
.table01 thead th,
.table01 thead td { padding:7px; background:#797979; color:#fff; }
.table01 tbody th { background:#F0F0F0; }
.table01 tbody td { background:#fff; }

/* ===== Box ===== */
.box01 { padding:35px 47px; border:3px solid #EFEFEF; }
.box01 .flex { display:flex; align-items:center; justify-content:space-between; }
.box02 { position:relative; padding:57px 47px; border:3px solid #000; }
.box02::before { position:absolute; top:7px; right:7px; width:calc(100% + 6px); height:calc(100% + 6px); background:transparent url("../img/common/bg_box02.png") 50% 50% repeat; content:""; z-index:-1; }

/* ===== Form ===== */
.listForm01 { line-height:1.5; }
.listForm01 > li { margin-bottom:25px; }
.listForm01 > li:last-child { margin-bottom:0; }
.listForm01 dt { position:relative; margin-bottom:10px; font-size:1rem; }
.listForm01 dt .num { position:absolute; top:50%; right:0; font-size:0.75rem; transform:translateY(-50%); }
.listForm01 dt .num .error { font-weight:bold; color:#c00; }
.listForm01 dd { font-size:0.88rem; }
.listFormButton01 { display:flex; margin:0 auto; width:540px; align-items:center; justify-content:space-between; }
.iconRequired { display:inline-block; margin-left:10px; padding:3px 7px; background:#D0021B; font-size:0.63rem; color:#fff; line-height:1.3; }
.txtError { display:block; margin-top:10px; font-weight:bold; color:#c00; }

.input01,
.textarea01 { display:inline-block; padding:7px 17px; border:3px solid #000; border-radius:0; height:50px; font-size:0.88rem; line-height:1.5; background:#fff; box-shadow:none; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.textarea01 { height:100px; resize:vertical; }
.input01.large { height:80px; font-size:1.88rem; }
.textarea01.large { padding-top:13px; padding-bottom:13px; font-size:1.5rem; }
.textarea01.large2 { height:210px; }
.input01:-ms-input-placeholder { color:#797979; opacity:1; }
.input01::-ms-input-placeholder { color:#797979; opacity:1; }
.input01::placeholder { color:#797979; opacity:1; }
.textarea01:-ms-input-placeholder { color:#797979; opacity:1; }
.textarea01::-ms-input-placeholder { color:#797979; opacity:1; }
.textarea01::placeholder { color:#797979; opacity:1; }
.select01 { display:inline-block; position:relative; border:3px solid #000; background:#fff; overflow:hidden; z-index:0; }
.select01::before { position:absolute; display:block; top:50%; right:7px; border-top:5px solid #000; border-left:5px solid transparent; border-right:5px solid transparent; content:""; transform:translateY(-50%); z-index:-1; }
.select01 select { padding:7px 27px 7px 17px; border:0; border-radius:0; width:100%; height:50px; background:transparent; font-size:0.88rem; line-height:1; -webkit-appearance:none; -moz-appearance:none; appearance:none; outline:none; }
.select01 select::-ms-expand { display:none; }
.file01 { position:relative; }
.file01 .inner { display:flex; align-items:center; }
.file01 input[type=file] { position:absolute; left:-100vw; }
.file01 .rightItem { margin-left:25px; flex:1; }
.file01 .fileimage { position:relative; border:3px solid #000; background:#b4b4b4 url("../img/common/icon_file.png") 50% 50% no-repeat; background-size:40px 30px; }
.file01 .image01 { width:90px; height:90px; }
.file01 .image02 { width:260px; height:180px; }
.file01 .image03 { width:260px; height:180px; }
.file01 .thumb { position:absolute; top:0; left:0; width:100%; height:100%; background:#fff none 50% 50% no-repeat; background-size:cover; z-index:10; cursor:pointer; }
.file01 .thumb::before { position:absolute; top:-15px; right:-15px; border-radius:100%; width:40px; height:40px; background:#000 url("../img/common/icon_close.png") 50% 50% no-repeat; background-size:20px auto; content:""; z-index:20; opacity:0; transition:opacity 0.3s; }
.file01 .thumb:hover::before { opacity:1; }
