@charset "UTF-8";
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

.clearfix:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

a {
  outline: none;
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: bottom;
}

a[href],
label[for],
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"],
input[type="radio"],
input[type="checkbox"],
select {
  cursor: pointer;
}

a[href^="tel:"] {
  cursor: default;
}

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div#mfp_hidden input {
  margin: 10px;
}

div.mfp_thanks {
  padding: 30px;
}

div.mfp_thanks p {
  line-height: 1.7em;
}

div.mfp_thanks ul.mfp_caution {
  margin: 0px;
  padding: 0px;
}

div.mfp_thanks ul.mfp_caution li {
  display: block;
  color: #C00;
  margin: 0px;
  padding: 5px 0px;
}

div#mfp_thanks {
  text-align: center;
  font-size: 18px;
  padding: 20px 0px;
}

div#mfp_thanks strong {
  color: #C00;
  font-size: 24px;
}

/*
form#mailformpro {
	padding: 10px 0px;
}
form#mailformpro dl dt {
	float: left;
	width: 160px;
	clear: both;
	font-size: 12px;
	padding: 10px 0px;
	text-align: right;
	border-top: solid 1px #CCC;
	margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px 5px 20px 170px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
form#mailformpro dl dd ul,form#mailformpro dl dd ol {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd ul li,form#mailformpro dl dd ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
*/
.must {
  display: block;
  background-color: #C00;
  border: solid 2px #C00;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
}

.optionally {
  display: block;
  background-color: #06C;
  border: solid 2px #06C;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
}

/*
form#mailformpro label {
	border-radius: 3px;
	margin: 3px;
	display: inline-block;
	white-space: nowrap;
}
form#mailformpro label.mfp_checked {
	padding: 3px;
	border: solid 1px #CCC;
	background-color: #E8EEF9;
	box-shadow: 0px 1px 3px #CCC inset;
}
form#mailformpro label.mfp_not_checked {
	padding: 3px;
	border: solid 1px #EEE;
}
*/
/*
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 12px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}
*/
div#mfp_phase_confirm {
  clear: both;
}

/*
div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
*/
div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}

div#mfp_overlay_inner {
  background-color: #FFF;
  padding: 15px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
  width: 640px;
  max-width: 90%;
}

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

div#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 40px;
  height: 40px;
  background-image: url(_images/mfp_loading.gif);
}

.mfp_colored {
  background-color: #F6F7F9;
}

.mfp_achroma {
  background-color: #FFF;
}

div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 5px 0px 0px 0px;
  padding: 3px 0px 5px 17px;
  color: #F00;
  font-size: 12px;
  line-height: normal;
  background-position: 0px 1px;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

.problem {
  background-color: #FCC;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

div#mfp_error p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_error p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_warning {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
  border-radius: 5px;
}

div#mfp_warning p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_warning p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_price {
  color: #C00;
  font-size: 36px;
  padding: 10px;
  font-weight: bolder;
}

div#mfp_price span {
  color: #666;
  font-size: 12px;
  font-weight: normal;
}

button.mfp_next, button.mfp_prev {
  font-size: 18px;
  margin: 10px;
  padding: 5px 10px;
}

button.mfp_next {
  float: right;
}

button.mfp_prev {
  float: left;
}

ul#mfp_phase_stat {
  padding: 10px;
  text-align: center;
}

ul#mfp_phase_stat li {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 5px;
  margin: 0px 5px;
  list-style: none;
  font-size: 14px;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
  box-shadow: none;
  color: #999;
  padding: 8px 0px;
}

ul#mfp_phase_stat li.mfp_active_phase {
  box-shadow: 0px 1px 6px #000;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #0068B7;
  border: solid 2px #0068B7;
  font-weight: bolder;
  color: #FFF;
  text-shadow: 0px 1px 3px #000;
}

ul#mfp_phase_stat li.mfp_inactive_phase {
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #EEE;
  border: solid 2px #EEE;
  color: #999;
  box-shadow: 0px 1px 6px #CCC;
}

div#mfp_shopping_cart {
  border: solid 1px #CCC;
  margin: 0px;
  padding: 0px;
}

div#mfp_shopping_cart p {
  margin: 0px;
  text-align: center;
  padding: 20px 10px;
  font-size: 12px;
  background-color: #FEE;
}

table.mfp_shoppingcart {
  border-spacing: 0px;
  border-collapse: collapse;
  width: 100%;
}

table.mfp_shoppingcart thead tr td {
  background-color: #EEE;
  border-bottom: solid 1px #CCC;
  text-align: center;
  font-size: 12px;
  padding: 5px;
}

table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart tbody tr td {
  font-size: 12px;
  padding: 5px;
  border-bottom: solid 1px #CCC;
}

table.mfp_shoppingcart tbody tr td select {
  display: block;
  margin: 0px auto;
  text-align: center;
}

table.mfp_shoppingcart tbody tr td select option {
  text-align: center;
}

table.mfp_shoppingcart tbody tr th span {
  display: block;
  font-weight: normal;
  font-size: 10px;
  color: #666;
  padding: 3px 0px;
}

table.mfp_shoppingcart tfoot tr td {
  padding: 5px;
  font-size: 16px;
  font-weight: bolder;
  color: #900;
}

td.msc_price {
  font-size: 12px;
  text-align: right;
}

div.mfp_buttons {
  clear: both;
  padding: 10px 0px;
  text-align: center;
}

.imagebutton {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  background: none;
}

.mfp_element_checkbox,
.mfp_element_radio {
  vertical-align: middle;
  margin: 0px 2px;
}

.mfp_element_file {
  font-size: 12px;
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
}

.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
  cursor: pointer;
  outline: none;
}

.mfp_element_reset {
  color: #333;
}

button.mfp_next, button.mfp_prev {
  font-size: 14px;
}

input#mfp_reserve_item, input#mfp_reserve_date {
  display: none;
}

div#mfp_reserve_wrapper {
  position: relative;
  overflow: hidden;
  border: solid 1px #CCC;
}

div#mfp_reserve_inner {
  position: relative;
  padding: 0px 0px 0px 100px;
  overflow: auto;
}

div#mfp_reserve_wrapper table {
  border-spacing: 0px;
  border-collapse: collapse;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_label {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100px;
  background-color: #FEE;
  z-index: 100;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value {
  padding: 0px 0px 0px 0px;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
  cursor: pointer;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
  background-color: #E8EEF9;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
  background-color: #0068B7;
  color: #FFF;
}

td.mfp_reserve_disabled {
  background-color: #CCC;
}

td.mfp_reserve_warning {
  background-color: #FFC;
}

div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
  border: solid 1px #CCC;
  padding: 0px 5px;
  font-size: 12px;
  text-align: center;
  font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  font-weight: normal;
  height: 20px;
  text-align: left;
}

td.mfp_reserve_week_0 {
  color: #F00;
  background-color: #FEE;
}

td.mfp_reserve_week_6 {
  color: #00F;
  background-color: #EEF;
}

div.mfp_ok {
  border-radius: 5px;
  background-color: #090;
  border: solid 1px #090;
  display: inline-block;
  line-height: 1.5em;
  padding: 0px 5px;
  margin: 0px 2px;
  color: #FFF;
  font-size: 10px;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  display: none;
}

div.prefcodeWrapper {
  position: relative;
}

div.prefcodeResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.prefcodeResult div {
  cursor: pointer;
}

div.prefcodeResult div:hover {
  background-color: #C9EBFB;
}

div.prefcodeResult div.prefcodeNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(_images/mfp_zip_loading.gif) no-repeat center center;
}

div.mfpSuggestWrapper {
  position: relative;
}

div.mfpSuggestResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.mfpSuggestResult div {
  cursor: pointer;
}

div.mfpSuggestResult div:hover {
  background-color: #C9EBFB;
}

div.mfpSuggestResult div.mfpSuggestNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(_images/mfp_zip_loading.gif) no-repeat center center;
}

.hidefield {
  height: 0px;
  overflow: hidden;
}

.showfield {
  height: auto;
  overflow: visible;
}

div.mfp_attached_thumbnails {
  display: none;
  padding: 5px;
  margin: 5px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
}

div.mfp_attached_thumbnails ul {
  margin: 0px;
  padding: 0px;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li {
  display: inline-block;
  vertical-align: top;
  padding: 0px;
  border: solid 4px #FFF;
  margin: 5px;
  box-shadow: 0px 2px 5px #999;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li a {
  display: block;
  max-height: 100px;
  overflow: hidden;
}

div.mfp_attached_thumbnails ul li a img {
  display: block;
  max-width: 80px;
}

button.mfp_attached_reset {
  font-size: 14px;
}

div.mfp_draganddrop {
  margin: 5px auto;
  width: 100%;
  height: 200px;
  border: solid 2px #CCC;
  border-radius: 3px;
  background: url(_images/draganddrop.png) no-repeat center center #EEE;
  background-size: auto 80%;
}

div.mfp_dragover {
  border: solid 2px #0068B7;
  background-color: #FFF;
}

div.mfp_attached_filelist {
  margin: 5px auto;
  padding: 5px;
  width: 100%;
  border: solid 1px #CCC;
  border-radius: 3px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul,
div.mfp_attached_filelist ul {
  padding: 5px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li,
div.mfp_attached_filelist ul li {
  padding: 5px 5px 5px 2em;
  background: url(_images/file.png) no-repeat 5px center;
  background-size: 1.3em 1.3em;
  display: inline-block;
  margin-right: 1em;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li:last-child,
div.mfp_attached_filelist ul li:last-child {
  border: none;
}

div.mfp_guide {
  position: relative;
  width: 1px;
  height: 1px;
}

div.mfp_guide div {
  position: absolute;
  bottom: 0px;
  left: 0px;
  margin-top: -2em;
  white-space: nowrap;
  border-radius: 5px;
  padding: 5px 10px;
  line-height: 1em;
  font-size: 12px;
  color: #FFF;
  font-weight: bolder;
  background: #F00;
  display: none;
}

div#mfp_numticket_wrapper,
div#mfp_numticket_wrapper * {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

div#mfp_numticket_wrapper {
  clear: both;
  padding: 15px;
}

div#mfp_numticket_wrapper section#numticket_message_wrapper {
  border: solid 3px #F00;
  border-radius: 5px;
  background: #FEE;
  padding: 15px;
  font-size: 16px;
  line-height: 1.7em;
  margin: 5px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime {
  border: solid 3px #CCC;
  border-radius: 5px;
  background: #FFF;
  padding: 15px;
  font-size: 16px;
  margin: 10px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime strong {
  font-size: 32px;
  display: block;
  text-align: center;
}

div#mfp_numticket_wrapper section#numticket_waitTime p.numticket_center {
  text-align: center;
}

div.mfp_traffic_status {
  max-width: 460px;
  margin: 10px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  padding: 15px;
}

div.mfp_traffic_status h3 {
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  color: #999;
}

div.mfp_traffic_status table {
  text-align: center;
  width: 100%;
}

div#wrapper div.mfp_traffic_status table tr th,
div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td,
div.mfp_traffic_status table th {
  border: none;
  padding: 0;
}

div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td {
  padding: 0 2px;
}

div#wrapper div.mfp_traffic_status table tr th,
div.mfp_traffic_status table th {
  border-top: solid 1px #CCC;
  font-size: 10px;
  font-weight: normal;
  padding-top: 5px;
  color: #999;
}

div.mfp_traffic_status table td {
  height: 100px;
}

div.mfp_traffic_status table td span {
  display: block;
  background: #7BAAF7;
  border-radius: 3px 3px 0 0;
  border-top: solid 1px #66A1F7;
  border-right: solid 1px #66A1F7;
  border-left: solid 1px #66A1F7;
  min-width: 10px;
  max-width: 30px;
  margin: 0 auto;
  padding-bottom: 10px;
}

div.mfp_traffic_status table td span.mfp_traffic_status_current {
  background: #5D7AF2;
  border-top: solid 1px #546CD1;
  border-right: solid 1px #546CD1;
  border-left: solid 1px #546CD1;
}

.mfp_ok {
  background-color: rgba(0, 255, 0, 0.2);
}

.mfp_ng {
  background-color: rgba(255, 0, 0, 0.2);
}

div#mfp_OperationCheck div#mfp_OperationCheck_inner {
  display: none;
}

div#mfp_OperationCheck strong {
  background: #090;
  display: block;
  color: #222;
  text-align: center;
  border-radius: 3px;
}

div#mfp_OperationCheck * {
  padding: 0px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p {
  padding: 0px 5px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p a {
  color: #0C0;
  text-decoration: none;
}

div#mfp_OperationCheck p a:hover,
div#mfp_OperationCheck p button:hover {
  text-decoration: underline;
}

div#mfp_OperationCheck p button {
  border: none;
  background: none;
  color: #0C0;
  cursor: pointer;
}

div#mfp_OperationCheck ul li,
div#mfp_OperationCheck ul li label,
div#mfp_OperationCheck ul li label input {
  line-height: 12px;
  font-size: 12px;
  list-style: none;
  vertical-align: middle;
}

div#mfp_OperationCheck ul li {
  padding: 5px 10px;
}

div#mfp_OperationCheck ul li label {
  text-decoration: underline;
}

button#mfp_recorder_record,
button#mfp_recorder_clear,
button#mfp_recorder_restore {
  border-radius: 5px;
  padding: 5px 10px 5px 2em;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
  font-size: 16px;
  cursor: pointer;
  outline: none;
  display: inline-block;
  margin: 5px auto;
}

button#mfp_recorder_record {
  background: url(_images/mfp_record_disabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_clear {
  background: url(_images/mfp_record_remove.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_restore {
  background: url(_images/mfp_record_restore.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button.enabled#mfp_recorder_record,
button.enabled#mfp_recorder_clear,
button.enabled#mfp_recorder_restore {
  background: url(_images/mfp_record_enabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

div#mfp_recorder_wrap {
  border: solid 1px #CCC;
  padding: 10px;
  text-align: center;
  margin: 5px auto;
}

td.request_image {
  width: 100px;
}

td.request_image img {
  max-width: 100px;
}

button.mfp_submit_enable {
  background: none;
  background: #000090;
}

button.mfp_submit_disable {
  background: none;
  background: #FD8282;
}

span.mfp_tips {
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #FCC;
  display: block;
  border-radius: 5px;
  padding: 10px;
  margin: 2px;
  box-shadow: 0px 2px 10px #999;
}

span.mfp_tips strong {
  color: #800040;
}

span.mfp_tips span {
  display: block;
  padding: 10px;
  color: #008080;
}

span.mfp_tips em {
  font-style: normal;
  color: #090;
  font-weight: bold;
}

@media screen and (max-width: 800px) {
  /*
	form#mailformpro dl dt {
		float: none;
		width: auto;
		font-size: 12px;
		padding: 5px;
		text-align: left;
	}
	form#mailformpro dl dd {
		clear: both;
		border-top: none;
		padding: 5px 15px;
		font-size: 12px;
		line-height: 1.5em;
	}
	div.mfp_buttons button {
		font-size: 14px;
	}
	div#mfp_phase_confirm h4 {
		font-size: 18px;
	}
	*/
  ul#mfp_phase_stat {
    padding: 0px;
    text-align: left;
  }
  ul#mfp_phase_stat li {
    text-align: center;
    padding: 5px 0px;
    border-radius: 3px;
    margin: 5px;
    list-style: none;
    font-size: 14px;
    width: 28%;
  }
  ul#mfp_phase_stat li.mfp_phase_arrow {
    bos-shadow: none;
    display: none;
  }
  table#mfp_confirm_table tr th {
    white-space: nowrap;
    width: 100px;
  }
  div#mfp_thanks {
    text-align: center;
    font-size: 18px;
    padding: 20px 0px;
  }
  div#mfp_thanks strong {
    color: #C00;
    font-size: 24px;
    display: block;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  ROLL OVER
-------------------------*/
.ro {
  transition: all 0.25s linear;
}

.ro:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.ro:hover img {
  opacity: 1;
}

.ro a:hover, .ro a:hover img {
  transition: none;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .ro:hover,
  .ro a:hover,
  .ro a:hover img {
    opacity: 1;
  }
}

/*-------------------------
  pcCont/spCont
-------------------------*/
.sp, .spCont {
  display: none;
}

#spMenuOverlay, #spMenu {
  display: none;
}

@media only screen and (max-width: 767px) {
  .pc, .pcCont {
    display: none;
  }
  .sp, .spCont {
    display: block;
  }
}

/*-------------------------
  COMMONS
-------------------------*/
.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.f_left {
  float: left;
}

.f_right {
  float: right;
}

.clear {
  clear: both;
}

button {
  cursor: pointer;
  outline: none;
}

.fBox {
  display: flex;
}

svg {
  fill: currentColor;
}

.preload * {
  transition: none !important;
}

.ofi {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.ac_tn {
  cursor: pointer;
}

img {
  -webkit-backface-visibility: hidden;
}

.slider {
  opacity: 0;
  transition: opacity .3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html {
  font-size: 62.5%;
}

body {
  position: relative;
  background: white;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  color: #000000;
  font-size: 1.6rem;
  line-height: 1;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  word-break: normal;
  word-wrap: break-word;
  line-break: strict;
  overflow-wrap: break-word;
  min-width: 1100px;
}

@media only screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
}

body a {
  word-break: break-all;
}

body.fixed {
  position: fixed;
  left: 0;
  right: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit;
}

.bold, strong {
  font-weight: inherit;
}

#container {
  position: relative;
  overflow: hidden;
  z-index: 0;
  width: 100%;
  min-height: 100vh;
  padding-top: 52px;
  box-sizing: border-box;
}

.contents {
  position: relative;
}

.innerWrap {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .innerWrap {
    max-width: none;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■parts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  hd
-------------------------*/
.hd01 .main {
  position: relative;
  padding: 0 0 14px;
}

@media only screen and (max-width: 767px) {
  .hd01 .main {
    padding-bottom: 17px;
  }
}

.hd01 .main:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 46px;
  height: 3px;
  background: #168EFE;
  margin: 0 auto;
}

/*-------------------------
  btn
-------------------------*/
.btn01 {
  position: relative;
  display: flex;
  max-width: 136px;
  width: 100%;
  margin: 0 auto;
}

.btn01 button {
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
  border: none;
}

.btn01 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 40px;
  border: 1px solid #000;
  box-sizing: border-box;
  border-radius: 0;
  color: #000;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  padding: 7px 34px 7px 10px;
  transition: all 0.25s linear;
}

.btn01 .btn_inner:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #fff;
}

.btn01 .btn_inner:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  right: 100%;
  z-index: -1;
  background: #000;
  transition: all 0.25s linear;
}

.btn01 span {
  display: inline-block;
}

.btn01 span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(-45deg);
  margin: auto 0;
  transition: all 0.25s linear;
}

.btn01 img {
  position: relative;
  display: block;
  transition: all 0.25s linear;
}

.btn01:hover .btn_inner:after {
  right: 0;
}

.btn01:hover span:after {
  border-color: #000;
}

.btn01:hover img {
  opacity: 0;
}

.btn01.ab .btn_inner {
  justify-content: flex-start;
  padding: 7px 34px 7px 17px;
}

.btn01.ab span:after {
  transform: rotate(45deg);
}

.btn01.backlist .btn_inner {
  padding-right: 10px;
  padding-left: 34px;
}

.btn01.backlist span {
  background: url(../img/txt_backlist__wht.png) no-repeat center center;
  background-size: auto 21px;
}

.btn01.backlist span:after {
  right: auto;
  left: 12px;
  transform: rotate(135deg);
}

.btn01.backlist img {
  height: 21px;
}

.btn01.submit {
  max-width: 125px;
}

.btn01.submit .btn_inner {
  justify-content: flex-start;
  padding-left: 17px;
}

.btn01.submit span {
  background: url(../img/txt_submit__wht.png) no-repeat left center;
  background-size: auto 19px;
}

.btn01.submit img {
  height: 19px;
}

.btn01.andmore span {
  background: url(../img/txt_andmore__wht.png) no-repeat center center;
  background-size: auto 21px;
}

.btn01.andmore img {
  height: 21px;
}

.btn01.top span {
  background: url(../img/txt_top__wht_20.png) no-repeat center center;
  background-size: auto 24px;
}

.btn01.top img {
  height: 24px;
}

.btn01:hover .btn_inner {
  color: #fff;
}

.btn01:hover span:after {
  border-color: #fff;
}

.btn02 {
  position: relative;
  display: flex;
  max-width: 136px;
  width: 100%;
  margin: 0 auto;
}

.btn02 button {
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
  border: none;
}

.btn02 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 40px;
  border: 1px solid #fff;
  box-sizing: border-box;
  border-radius: 0;
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  padding: 7px 34px 7px 10px;
  transition: all 0.25s linear;
}

.btn02 .btn_inner:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: transparent;
}

.btn02 .btn_inner:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  right: 100%;
  z-index: -1;
  background: #fff;
  transition: all 0.25s linear;
}

.btn02 span {
  display: inline-block;
}

.btn02 span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg);
  margin: auto 0;
  transition: all 0.25s linear;
}

.btn02 img {
  position: relative;
  display: block;
  transition: all 0.25s linear;
}

.btn02:hover .btn_inner:after {
  right: 0;
}

.btn02:hover span:after {
  border-color: #fff;
}

.btn02:hover img {
  opacity: 0;
}

.btn02.ab .btn_inner {
  justify-content: flex-start;
  padding: 7px 34px 7px 17px;
}

.btn02.ab span:after {
  transform: rotate(45deg);
}

.btn02.backlist .btn_inner {
  padding-right: 10px;
  padding-left: 34px;
}

.btn02.backlist span {
  background: url(../img/txt_backlist__wht.png) no-repeat center center;
  background-size: auto 21px;
}

.btn02.backlist span:after {
  right: auto;
  left: 12px;
  transform: rotate(135deg);
}

.btn02.backlist img {
  height: 21px;
}

.btn02.submit {
  max-width: 125px;
}

.btn02.submit .btn_inner {
  justify-content: flex-start;
  padding-left: 17px;
}

.btn02.submit span {
  background: url(../img/txt_submit__wht.png) no-repeat left center;
  background-size: auto 19px;
}

.btn02.submit img {
  height: 19px;
}

.btn02.andmore span {
  background: url(../img/txt_andmore__wht.png) no-repeat center center;
  background-size: auto 21px;
}

.btn02.andmore img {
  height: 21px;
}

.btn02.top span {
  background: url(../img/txt_top__wht_20.png) no-repeat center center;
  background-size: auto 24px;
}

.btn02.top img {
  height: 24px;
}

.btn02.andmore span {
  background-image: url(../img/txt_andmore__blk.png);
}

.btn02.andmore img {
  height: 21px;
}

.btn02:hover .btn_inner {
  color: #fff;
}

.btn02:hover span:after {
  border-color: #000;
}

/*-------------------------
  pagetitle
-------------------------*/
.pagetitle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .pagetitle {
    justify-content: flex-start;
    padding: 0 25px;
  }
}

.pagetitle:before {
  content: '';
  display: block;
  padding-bottom: 26.063%;
}

@media only screen and (max-width: 767px) {
  .pagetitle:before {
    padding-bottom: 46.98%;
  }
}

.pagetitle .img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  display: block;
}

.pagetitle .main {
  position: relative;
  text-align: center;
  padding: 0 0 14px;
}

@media only screen and (max-width: 767px) {
  .pagetitle .main {
    padding-bottom: 17px;
  }
}

.pagetitle .main:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 46px;
  height: 3px;
  background: #168EFE;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .pagetitle .main:after {
    margin: 0;
  }
}

.pagetitle .main img {
  width: auto;
  height: 64px;
}

@media only screen and (max-width: 767px) {
  .pagetitle .main img {
    height: 32px;
  }
}

/*-------------------------
  SNS
-------------------------*/
.sns_list {
  display: flex;
}

.sns_list li {
  width: 25px;
}

.sns_list a {
  transition: all 0.25s linear;
}

.sns_list a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.sns_list img {
  width: 100%;
  height: auto;
}

/*-------------------------
  sponsor
-------------------------*/
.list_sponsor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .list_sponsor ul:before, .list_sponsor ul:after {
    content: '';
    order: 1;
    width: 30%;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .list_sponsor li {
    width: 30%;
    text-align: center;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .list_sponsor li:only-child {
    width: 100%;
  }
}

.list_sponsor li:only-child a {
  display: inline-block;
}

.list_sponsor a {
  display: block;
  transition: all 0.25s linear;
}

.list_sponsor a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.list_sponsor img {
  max-width: 115px;
  width: 100%;
  height: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  color: #fff;
  height: 52px;
}

@media only screen and (max-width: 767px) {
  #header {
    display: flex;
    align-items: center;
    padding: 0 52px 0 25px;
  }
}

#header:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  background: #000;
}

@media only screen and (min-width: 768px) {
  #header .innerWrap {
    display: flex;
    justify-content: space-between;
    max-width: inherit;
    min-width: 1100px;
    height: 100%;
    padding: 0 0 0 25px;
  }
}

@media only screen and (min-width: 768px) {
  #header .logo_wrap {
    flex: 1 0 auto;
    align-self: center;
    margin: 0 60px 0 0;
    max-width: 349px;
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  #header .logo_wrap {
    max-width: 296px;
    width: 87.835%;
  }
}

#header .logo_wrap a {
  display: block;
}

#header .logo_wrap img {
  width: 100%;
  height: auto;
}

#header .menu_wrap {
  width: 100%;
}

#header #header_nav {
  display: flex;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  #header #header_nav {
    display: none;
  }
}

#header #header_nav .list_menu {
  width: 100%;
  align-self: flex-end;
}

#header #header_nav .list_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 500px;
  margin-left: auto;
}

#header #header_nav a {
  position: relative;
  display: block;
  padding: 13px 0;
  transition: all 0.25s linear;
}

#header #header_nav a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#header #header_nav a:after {
  content: '';
  display: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 39px;
  height: 3px;
  background: #168EFE;
  transform: translate(-50%, 0);
}

#header #header_nav img {
  width: auto;
  height: 24.12px;
}

#header #header_nav .active a:after {
  display: block;
}

#header .sns_list {
  flex: 1 0 auto;
  background: #168EFE;
  align-items: center;
  padding: 0 5px 0 13px;
  margin: 0 0 0 20px;
}

#header .sns_list a {
  display: block;
}

#header .sns_list li {
  margin: 0 9px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■MENU
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.menuBtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99999;
  width: 52px;
  height: 52px;
}

@media only screen and (min-width: 768px) {
  .menuBtn {
    display: none;
  }
}

/*-------------------------
  spMenuBtn
-------------------------*/
#spMenuBtn {
  z-index: 99999;
  border: none;
  background-color: transparent;
  outline: none;
  /*template*/
  padding: 11px 9px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #168EFE;
}

#spMenuBtn .spMenuBtn_bar {
  position: relative;
  width: 40px;
  height: 22px;
}

#spMenuBtn .spMenuBtn_bar:before, #spMenuBtn .spMenuBtn_bar:after {
  content: '';
}

#spMenuBtn .spMenuBtn_bar span, #spMenuBtn .spMenuBtn_bar:before, #spMenuBtn .spMenuBtn_bar:after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 2px;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}

#spMenuBtn .spMenuBtn_bar span {
  top: 0;
  bottom: 0;
}

#spMenuBtn .spMenuBtn_bar:before {
  top: 0;
}

#spMenuBtn .spMenuBtn_bar:after {
  bottom: 0;
}

#spMenuBtn .spMenuBtn_txt {
  display: block;
  width: 40px;
  font-size: 1.2rem;
  line-height: 1.0;
  text-align: center;
  transition: all 0.2s liner;
}

#spMenuBtn.open .spMenuBtn_bar {
  position: relative;
}

#spMenuBtn.open .spMenuBtn_bar:before, #spMenuBtn.open .spMenuBtn_bar:after {
  content: '';
}

#spMenuBtn.open .spMenuBtn_bar span, #spMenuBtn.open .spMenuBtn_bar:before, #spMenuBtn.open .spMenuBtn_bar:after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 2px;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}

#spMenuBtn.open .spMenuBtn_bar span {
  opacity: 0;
  top: 0;
  bottom: 0;
}

#spMenuBtn.open .spMenuBtn_bar:before {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#spMenuBtn.open .spMenuBtn_bar:after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#spMenuBtn .spMenuBtn_bar {
  width: 22px;
  height: 18px;
}

#spMenuBtn .spMenuBtn_bar span, #spMenuBtn .spMenuBtn_bar:before, #spMenuBtn .spMenuBtn_bar:after {
  height: 3px;
  background-color: #fff;
  border-radius: 100px;
}

#spMenuBtn.open .spMenuBtn_bar span, #spMenuBtn.open .spMenuBtn_bar:before, #spMenuBtn.open .spMenuBtn_bar:after {
  height: 3px;
}

/*-------------------------
  spMenu
-------------------------*/
#spMenuOverlay {
  display: none;
  position: fixed;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0);
  z-index: 9999;
}

#spMenu {
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: block;
  width: 100%;
  background: #f4f4f4;
  padding: 0;
  transition: all 0.25s ease-in-out;
  top: 0;
  transform: translate3d(100%, 0, 0);
  background-color: black;
  color: #fff;
}

#spMenu.open {
  opacity: 1;
  -webkit-transform: translate3d(0%, 0, 0);
  -ms-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

@media only screen and (min-width: 768px) {
  #spMenu {
    display: none !important;
  }
}

#spMenu .spMenu_innerWrap {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 57px 20px 95px;
}

#spMenu .spMenu_inner {
  width: 100%;
}

#closeBtn {
  z-index: 9999999;
  width: 30px;
  height: 30px;
  border: none;
  background-color: transparent;
  outline: none;
}

#closeBtn .closeBtn_bar {
  position: relative;
  width: 22px;
  height: 22px;
}

#closeBtn .closeBtn_bar:before, #closeBtn .closeBtn_bar:after {
  content: '';
}

#closeBtn .closeBtn_bar span, #closeBtn .closeBtn_bar:before, #closeBtn .closeBtn_bar:after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 2px;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}

#closeBtn .closeBtn_bar span {
  opacity: 0;
  top: 0;
  bottom: 0;
}

#closeBtn .closeBtn_bar:before {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#closeBtn .closeBtn_bar:after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#closeBtn .closeBtn_bar span, #closeBtn .closeBtn_bar:before, #closeBtn .closeBtn_bar:after {
  background-color: #fff;
}

#spMenu .list_menu {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
}

#spMenu .list_menu .list_wrap a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 50px;
  text-align: center;
}

#spMenu .list_menu .list_item {
  margin: 23px 0 0;
}

#spMenu .list_menu .list_item:first-child {
  margin-top: 0;
}

#spMenu .list_menu img {
  width: auto;
  height: 35.84px;
}

#spMenu .sns_list {
  justify-content: center;
  margin: 46px auto 0;
}

#spMenu .sns_list li {
  width: 34px;
  margin: 0 20px;
}

#spMenu .sns_list a {
  display: block;
}

#spMenu .sponsor_wrap {
  margin: 52px auto 0;
}

#spMenu .sponsor_wrap .hd01 {
  margin-bottom: 15px;
}

#spMenu .sponsor_wrap .hd01 img {
  width: auto;
  height: 32px;
}

#spMenu.fade {
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: block;
  width: 100%;
  background: #f4f4f4;
  padding: 0;
  transition: all 0.25s ease-in-out;
  display: none;
  opacity: 1;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  width: auto;
  transform: translate3d(0, 0, 0);
  /* 右からイン */
  transition: none;
  background-color: #00a0e9;
  padding: 0;
}

#spMenu.fade.open {
  opacity: 1;
  -webkit-transform: translate3d(0%, 0, 0);
  -ms-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

#spMenu.fade .spMenu_innerWrap {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 0 0 60px;
}

#spMenu.fade .spMenu_inner {
  width: 100%;
}

#spMenu.fade .list_menu .list_child {
  display: none;
}

#spMenu.fade .list_menu .list_grandchild {
  display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000;
  color: #fff;
  padding: 50px 40px 20px;
}

@media only screen and (min-width: 768px) {
  #footer {
    min-height: 412px;
  }
}

@media only screen and (max-width: 767px) {
  #footer {
    padding: 42px 25px 22px;
  }
}

#footer .sns_list {
  justify-content: center;
}

#footer .sns_list li {
  width: 29px;
  margin: 0 20px;
}

@media only screen and (max-width: 767px) {
  #footer .sns_list li {
    width: 34px;
  }
}

#footer .sns_wrap {
  margin: 75px auto 0;
}

@media only screen and (max-width: 767px) {
  #footer .sns_wrap {
    margin-top: 79px;
  }
}

#footer #copyright {
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 1.2rem;
  text-align: center;
  font-weight: 700;
  margin: 38px 0 0;
}

@media only screen and (max-width: 767px) {
  #footer #copyright {
    margin-top: 40px;
  }
}

#footer_sponsor .hd01 {
  margin: 0 auto 15px;
}

#footer_sponsor .hd01 img {
  height: 44.8px;
}

@media only screen and (max-width: 767px) {
  #footer_sponsor .hd01 img {
    height: 32px;
  }
}

#footer_sponsor .list_sponsor {
  overflow: hidden;
  max-width: 1225px;
  width: 100%;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  #footer_sponsor .list_sponsor ul {
    margin: 0 -30px;
  }
}

@media only screen and (min-width: 768px) {
  #footer_sponsor .list_sponsor li {
    margin: 0 30px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■WP用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  編集ボタン
-------------------------*/
a.post-edit-link {
  background-color: #F00 !important;
  background-image: none !important;
  border-radius: 5px 5px 5px 5px !important;
  color: #FFFFFF !important;
  font-size: 10px !important;
  font-weight: normal !important;
  padding: 3px 5px !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.1 !important;
}

a.post-edit-link:hover {
  background-color: #06C !important;
}

/*-------------------------
  404用
-------------------------*/
#notfound {
  padding: 150px 0;
}

#notfound p {
  text-align: center;
}

#notfound .caption {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
}

/*-------------------------
  記事用
-------------------------*/
article .entry, .wp-editor {
  font-size: 1.5rem;
  line-height: 2.26667;
}

@media only screen and (max-width: 767px) {
  article .entry, .wp-editor {
    line-height: 2;
  }
}

article .entry > *:last-child, .wp-editor > *:last-child {
  margin-bottom: 0;
}

article .entry p, article .entry ul, article .entry ol, article .entry table, .wp-editor p, .wp-editor ul, .wp-editor ol, .wp-editor table {
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  article .entry p, article .entry ul, article .entry ol, article .entry table, .wp-editor p, .wp-editor ul, .wp-editor ol, .wp-editor table {
    margin-bottom: 15px;
  }
}

article .entry .alignleft, .wp-editor .alignleft {
  float: left;
  display: block;
  max-width: 50%;
  margin-right: 50px;
}

@media only screen and (max-width: 767px) {
  article .entry .alignleft, .wp-editor .alignleft {
    float: none;
    max-width: 100%;
    text-align: center;
    font-weight: normal;
    margin: 0 auto 30px !important;
  }
}

article .entry .alignright, .wp-editor .alignright {
  float: right;
  display: block;
  max-width: 50%;
  margin-left: 50px;
}

@media only screen and (max-width: 767px) {
  article .entry .alignright, .wp-editor .alignright {
    float: none;
    max-width: 100%;
    text-align: center;
    font-weight: normal;
    margin: 0 auto 30px !important;
  }
}

article .entry .aligncenter, .wp-editor .aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

article .entry img, .wp-editor img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto 50px;
}

@media only screen and (max-width: 767px) {
  article .entry img, .wp-editor img {
    margin: 30px auto;
  }
}

@media only screen and (min-width: 768px) {
  article .entry img.alignleft, article .entry img.alignright, .wp-editor img.alignleft, .wp-editor img.alignright {
    margin-top: 7px;
  }
}

article .entry table, .wp-editor table {
  border-top: 1px solid #c5c5c5;
  border-left: 1px solid #c5c5c5;
}

article .entry table th, article .entry table td, .wp-editor table th, .wp-editor table td {
  border-bottom: 1px solid #c5c5c5;
  border-right: 1px solid #c5c5c5;
  padding: 5px 20px;
  text-align: left;
}

article .entry table th, .wp-editor table th {
  background: #f5f5f5;
  font-weight: 700;
}

article .entry pre, .wp-editor pre {
  white-space: normal;
}

article .entry .wp-caption, .wp-editor .wp-caption {
  max-width: inherit !important;
  width: 100% !important;
  margin: 0 0 32px;
}

article .entry .wp-caption-text, .wp-editor .wp-caption-text {
  font-size: 80%;
  margin: -20px 0 0;
}

article .entry em, .wp-editor em {
  font-style: italic;
}

article .entry strong, .wp-editor strong {
  font-weight: 700;
}

article .entry ul, .wp-editor ul {
  list-style-position: inside;
}

article .entry ul li, .wp-editor ul li {
  list-style: inherit;
}

article .entry ol, .wp-editor ol {
  list-style-position: inside;
}

article .entry ol li, .wp-editor ol li {
  list-style: inherit;
}

article .entry a, .wp-editor a {
  color: #168EFE;
  text-decoration: underline;
  transition: all 0.25s linear;
}

article .entry a:hover, .wp-editor a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

article .entry blockquote, .wp-editor blockquote {
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: center;
  background: #f5f5f5;
  min-height: 110px;
  text-align: left;
  padding: 25px 50px;
  margin: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  article .entry blockquote, .wp-editor blockquote {
    padding: 25px 30px;
  }
}

article .entry blockquote:before, article .entry blockquote:after, .wp-editor blockquote:before, .wp-editor blockquote:after {
  position: absolute;
  color: #c5c5c5;
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 6.0rem;
  line-height: 1.0;
}

article .entry blockquote:before, .wp-editor blockquote:before {
  content: '“';
  top: 18px;
  left: 15px;
}

@media only screen and (max-width: 767px) {
  article .entry blockquote:before, .wp-editor blockquote:before {
    top: 12px;
    left: 10px;
  }
}

article .entry blockquote:after, .wp-editor blockquote:after {
  content: '”';
  bottom: -12px;
  right: 15px;
}

@media only screen and (max-width: 767px) {
  article .entry blockquote:after, .wp-editor blockquote:after {
    bottom: -15px;
    right: 11px;
  }
}

article .entry blockquote > *:last-child, .wp-editor blockquote > *:last-child {
  margin-bottom: 0;
}

article .entry p + h1, article .entry p + h2, article .entry p + h3, article .entry p + h4, article .entry p + h5, article .entry p + h6, .wp-editor p + h1, .wp-editor p + h2, .wp-editor p + h3, .wp-editor p + h4, .wp-editor p + h5, .wp-editor p + h6 {
  margin-top: 40px;
}

article .entry h1, article .entry h2, article .entry h3, article .entry h4, article .entry h5, article .entry h6, .wp-editor h1, .wp-editor h2, .wp-editor h3, .wp-editor h4, .wp-editor h5, .wp-editor h6 {
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 20px;
}

@media only screen and (max-width: 767px) {
  article .entry h1, article .entry h2, article .entry h3, article .entry h4, article .entry h5, article .entry h6, .wp-editor h1, .wp-editor h2, .wp-editor h3, .wp-editor h4, .wp-editor h5, .wp-editor h6 {
    margin-bottom: 15px;
  }
}

article .entry h1, .wp-editor h1 {
  font-size: 150%;
}

article .entry h2, .wp-editor h2 {
  font-size: 120%;
}

article .entry h3, .wp-editor h3 {
  color: #168EFE;
  font-size: 120%;
  font-weight: 400;
  border-bottom: 1px solid #168EFE;
  padding: 0 0 10px;
}

article .entry h4, .wp-editor h4 {
  font-size: 120%;
  font-weight: 500;
  border-left: 2px solid #168EFE;
  padding-left: 10px;
}

article .entry h5, .wp-editor h5 {
  font-size: 120%;
  font-weight: 400;
}

article .entry h6, .wp-editor h6 {
  font-size: 110%;
}

/*-------------------------
  WP用のページャー
-------------------------*/
#list_pager {
  overflow: hidden;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  form reset
--------------------------------------------------*/
.form input,
.form select,
.form textarea,
.form button {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form input[type="password"],
.form input[type="number"],
.form input[type="url"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  width: 100%;
  background: none;
  border: 1px solid #f00;
  border-radius: 0;
  padding: 0;
}

.form select {
  outline: none;
  background: transparent;
  width: 100%;
  border: 1px solid #f00;
  padding: 0;
}

.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  resize: both;
  outline: none;
  width: 100%;
  height: 100px;
  background: transparent;
  border: 1px solid #f00;
  border-radius: 0;
}

.form button,
.form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  text-shadow: none;
  box-shadow: none;
}

.form button:hover,
.form input[type="submit"]:hover {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.form label {
  cursor: pointer;
}

.form label span {
  position: relative;
  padding: 0 0 0 22px;
}

.form label span:before, .form label span:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
}

.form label span:before {
  bottom: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid #f00;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
  margin: auto 0;
}

.form label span:after {
  opacity: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}

.form input[type="radio"],
.form input[type="checkbox"] {
  display: none;
}

.form input[type="radio"]:checked + span:after,
.form input[type="radio"]:checked + input + span:after,
.form input[type="checkbox"]:checked + span:after,
.form input[type="checkbox"]:checked + input + span:after {
  opacity: 1;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}

.form label input[type="radio"] + span:before,
.form label input[type="radio"] + input + span:before,
.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  border-radius: 50%;
}

.form label input[type="radio"] + span:before,
.form label input[type="radio"] + input + span:before {
  background-color: #fff;
}

.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  left: 4px;
  width: 8px;
  height: 8px;
  background: #f00;
}

.form label input[type="checkbox"] + span:after,
.form label input[type="checkbox"] + input + span:after {
  top: 0;
  bottom: 2px;
  left: 5px;
  width: 6px;
  height: 10px;
  background: none;
  border-bottom: 2px solid #f00;
  border-right: 2px solid #f00;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

@media only screen and (max-width: 767px) {
  .custombtn label span {
    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;
    width: 100%;
    height: 40px;
    padding: 0;
  }
  .custombtn label span:before, .custombtn label span:after {
    z-index: -1;
  }
  .custombtn label span:after {
    display: none;
  }
  .custombtn label input[type="radio"] + span:before,
  .custombtn label input[type="radio"] + input + span:before,
  .custombtn label input[type="radio"] + span:after,
  .custombtn label input[type="radio"] + input + span:after,
  .custombtn label input[type="checkbox"] + span:before,
  .custombtn label input[type="checkbox"] + input + span:before,
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    border-radius: 5px;
  }
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    border: none;
    background: #ccc;
    -webkit-transform: none;
    transform: none;
  }
  .custombtn label input[type="radio"]:checked + span,
  .custombtn label input[type="radio"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + span {
    color: #fff;
  }
  .custombtn label input[type="checkbox"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before {
    background-color: #6e6e6e;
  }
  .custombtn label input[type="radio"]:checked + span:before,
  .custombtn label input[type="radio"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before,
  .custombtn label input[type="checkbox"]:checked + input + span:before {
    background-color: #f00;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■↓↓↓お問い合わせフォーム　各サイトごとに自由編集↓↓↓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  メールフォームプロ
--------------------------------------------------*/
/* エラー */
div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 10px 0px 0px 0px;
  color: #F00;
  font-size: 1.2rem;
  line-height: normal;
  padding: 0;
  background-position: 0px 1px;
}

div.mfp_err:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

.problem {
  background-color: #FCC !important;
  border-color: #f00 !important;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

/* ボタン */
.mfp_buttons {
  font-size: 0;
  line-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mfp_buttons button {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  border-radius: 0;
}

.mfp_buttons button#mfp_button_send {
  max-width: 300px;
  min-height: 60px;
  border: 1px solid #f00;
  color: #f00;
  padding: 10px;
  transition: all 0.25s linear;
}

.mfp_buttons button#mfp_button_send:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 100%;
  z-index: -1;
  background: #f00;
  transition: all 0.25s linear;
}

.mfp_buttons button#mfp_button_send:hover {
  color: #fff;
}

.mfp_buttons button#mfp_button_send:hover:before {
  right: 0;
}

.mfp_buttons button#mfp_button_cancel {
  max-width: 200px;
  min-height: 40px;
  background: #ccc;
  margin: 30px 0 0;
  transition: all 0.25s linear;
}

.mfp_buttons button#mfp_button_cancel:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

/* テーブル */
#mfp_confirm_table tr {
  background: none;
}

@media only screen and (max-width: 767px) {
  #mfp_confirm_table tr:last-child td {
    padding-bottom: 0;
  }
}

#mfp_confirm_table th, #mfp_confirm_table td {
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
  padding: 20px 0;
}

@media only screen and (max-width: 767px) {
  #mfp_confirm_table th, #mfp_confirm_table td {
    display: block;
    width: 100%;
  }
}

#mfp_confirm_table th {
  width: 230px;
}

@media only screen and (max-width: 767px) {
  #mfp_confirm_table th {
    padding: 0 0 5px;
  }
}

@media only screen and (max-width: 767px) {
  #mfp_confirm_table td {
    padding: 0 0 30px;
  }
}

.form_item {
  display: flex;
  padding: 20px 0;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  .form_item {
    display: block;
  }
}

.form_item .item_title {
  position: relative;
  flex: 1 0 auto;
  width: 230px;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .form_item .item_title {
    width: auto;
  }
}

.form_item .item_title .required {
  font-size: 1.0rem;
  color: #f00;
}

.form_item .item_main {
  width: 100%;
}

.form_item .item_main .list_input {
  overflow: hidden;
}

.form_item .item_main .list_input li {
  display: inline-block;
}

/*--------------------------------------------------
	入力画面
--------------------------------------------------*/
#sec_contact_form .list_input ul + ul {
  margin-top: 15px;
}

#sec_contact_form .list_input li {
  margin: 0 20px 10px 0;
}

#sec_contact_form #mfp_phase_confirm h4 {
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form #mfp_phase_confirm h4 {
    margin: 0 0 50px;
  }
}

/*--------------------------------------------------
	サンクスページ
--------------------------------------------------*/
#sec_contact_thanks {
  display: flex;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  padding: 0 40px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_thanks {
    text-align: left;
    padding: 0;
  }
}

#sec_contact_thanks .innerWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 200px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_thanks .innerWrap {
    display: block;
    min-height: inherit;
  }
}

#sec_contact_thanks .title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin: 0 0 40px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_thanks .title {
    text-align: left;
  }
}

#sec_contact_thanks p + p {
  margin-top: 30px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_thanks p + p {
    margin-top: 15px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■お問い合わせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  form_item
-------------------------*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#notfound {
  padding: 150px 40px;
}

@media only screen and (max-width: 767px) {
  #notfound {
    padding: 60px 25px;
  }
}

#notfound .caption {
  font-size: 2.4rem;
}

@media only screen and (max-width: 767px) {
  #notfound .caption {
    font-size: 1.8rem;
  }
}

#notfound .btn01 {
  margin: 40px auto 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■TOP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.page-current-index #container {
  padding-top: 0;
}

.page-current-index #header:before {
  opacity: 0;
  transition: all 0.25s linear;
}

.page-current-index #header .logo_wrap {
  opacity: 0;
  transition: all 0.25s linear;
}

.page-current-index #header.active:before {
  opacity: 1;
}

.page-current-index #header.active .logo_wrap {
  opacity: 1;
}

/*-------------------------
  line
-------------------------*/
@keyframes line {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}

@keyframes line_img {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*-------------------------
  sec_mainvisual
-------------------------*/
#sec_mainvisual .slide {
  display: none;
  overflow: hidden;
}

#sec_mainvisual .slide_img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#sec_mainvisual .slide_item {
  min-height: 700px;
  height: 100vh;
  padding: 0 40px;
}

@media only screen and (max-width: 767px) {
  #sec_mainvisual .slide_item {
    padding: 0;
  }
}

#slide01 .slide_item {
  padding: 0 18px;
}

#slide01 .slide_item > .inner {
  position: relative;
  display: flex;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  #slide01 .slide_item > .inner {
    align-items: center;
  }
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item > .inner {
    padding: 92px 0 0;
  }
}

#slide01 .slide_item .slide_text {
  max-width: 1390px;
  width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .slide_text {
    display: flex;
    flex-direction: column;
  }
}

#slide01 .slide_item .logo {
  display: flex;
  max-width: 617px;
  padding: 0 0 0 13px;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .logo {
    padding: 0;
  }
}

#slide01 .slide_item .logo .text {
  width: 100%;
}

#slide01 .slide_item span {
  display: block;
}

#slide01 .slide_item img {
  width: 100%;
}

#slide01 .slide_item .pt1 {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
  flex: 1 0 auto;
  display: block;
  max-width: 129px;
  width: 22%;
  margin: 0 36px 0 0;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .pt1 {
    max-width: 76px;
    width: 20.88%;
    margin-right: 20px;
  }
}

#slide01 .slide_item .pt2 {
  position: relative;
  max-width: 355px;
  width: 81%;
  margin: 6px 0 0;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .pt2 {
    max-width: 212px;
    width: 79.11%;
  }
}

#slide01 .slide_item .pt2:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
  transform: scaleX(0);
}

#slide01 .slide_item .pt2 img {
  opacity: 0;
  transition: all 0.25s linear;
}

#slide01 .slide_item .pt3 {
  position: relative;
  max-width: 436px;
  margin: 35px 0 2px 3px;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .pt3 {
    max-width: 259px;
    width: 96.645%;
    margin: 20px 0 0;
  }
}

#slide01 .slide_item .pt3:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
  transform: scaleX(0);
}

#slide01 .slide_item .pt3 img {
  opacity: 0;
}

#slide01 .slide_item .text_en {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
  max-width: 654px;
  margin: 38px 0 0;
}

@media only screen and (max-width: 767px) {
  #slide01 .slide_item .text_en {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 0 10px;
    margin: 0;
  }
}

#slide01.swiper-slide-active .slide_item .pt1 {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  animation-duration: 0.25s;
  animation-delay: 0.85s;
}

#slide01.swiper-slide-active .slide_item .pt2:before {
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.75s;
}

#slide01.swiper-slide-active .slide_item .pt2 img {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#slide01.swiper-slide-active .slide_item .pt3:before {
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.75s;
  animation-delay: 0.5s;
}

#slide01.swiper-slide-active .slide_item .pt3 img {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-duration: 0.15s;
  animation-delay: 0.85s;
}

#slide01.swiper-slide-active .slide_item .text_en {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  animation-duration: 0.25s;
  animation-delay: 0.95s;
}

/*-------------------------
  NEWS
-------------------------*/
#sec_news {
  padding: 0 40px;
}

@media only screen and (max-width: 767px) {
  #sec_news {
    padding: 0 25px 44px;
  }
}

@media only screen and (min-width: 768px) {
  #sec_news .innerWrap {
    display: flex;
  }
}

#sec_news .hd01 {
  position: relative;
  flex: 1 0 auto;
  width: 170px;
  padding: 28px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01 {
    width: auto;
    text-align: center;
    padding: 10px 0 9px;
    margin: 0 0 25px;
  }
}

#sec_news .hd01:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100vw;
  right: 62px;
  background: #168EFE;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01:before {
    left: -25px;
    right: -25px;
  }
}

#sec_news .hd01:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 62px;
  z-index: -1;
  background: linear-gradient(to top left, rgba(255, 0, 0, 0) 50%, #168EFE 50.5%) no-repeat top left/100% 100%;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01:after {
    display: none;
  }
}

#sec_news .hd01 .main {
  display: inline-block;
  padding: 0 0 11px;
  overflow: hidden;
  position: relative;
}

#sec_news .hd01 .main:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_news .hd01 .main > * {
  opacity: 0;
}

#sec_news .hd01 .main.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_news .hd01 .main.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_news .hd01 .main.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01 .main {
    padding: 0;
  }
}

#sec_news .hd01 .main:after {
  background-color: #fff;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01 .main:after {
    display: none;
  }
}

#sec_news .hd01 img {
  height: 47px;
}

@media only screen and (max-width: 767px) {
  #sec_news .hd01 img {
    height: 33px;
  }
}

#sec_news .list_news {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 35px 25px 26px;
}

@media only screen and (max-width: 767px) {
  #sec_news .list_news {
    padding: 0;
  }
}

#sec_news .list_news li {
  margin: 20px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_news .list_news li:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #168EFE;
}

#sec_news .list_news li > * {
  opacity: 0;
}

#sec_news .list_news li.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_news .list_news li.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_news .list_news li.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

@media only screen and (max-width: 767px) {
  #sec_news .list_news li {
    margin-top: 25px;
  }
}

#sec_news .list_news li:first-child {
  margin-top: 0;
}

#sec_news .list_news a {
  transition: all 0.25s linear;
}

#sec_news .list_news a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

@media only screen and (min-width: 768px) {
  #sec_news .list_news .inner {
    display: flex;
  }
}

#sec_news .list_news .post_date {
  flex: 1 0 auto;
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  margin-right: 33px;
}

@media only screen and (max-width: 767px) {
  #sec_news .list_news .post_date {
    font-size: 1.3rem;
    margin: 0 0 7px;
  }
}

#sec_news .list_news .main {
  width: 100%;
}

#sec_news .btn01 {
  flex: 1 0 auto;
  align-self: flex-start;
  margin: 30px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_news .btn01:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #000;
}

#sec_news .btn01 > * {
  opacity: 0;
}

#sec_news .btn01.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_news .btn01.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_news .btn01.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

@media only screen and (max-width: 767px) {
  #sec_news .btn01 {
    margin-top: 25px;
  }
}

/*-------------------------
  PROFILE／RESULT
-------------------------*/
.profile_result {
  overflow: hidden;
  color: #fff;
  padding: 0 40px;
}

@media only screen and (max-width: 767px) {
  .profile_result {
    padding: 0;
  }
}

.profile_result .hd01 {
  display: inline-block;
}

.profile_result .hd01 .main:after {
  margin: 0;
}

.profile_result .hd01 img {
  height: 47px;
}

@media only screen and (max-width: 767px) {
  .profile_result .hd01 img {
    height: 33px;
  }
}

.profile_result section {
  position: relative;
}

.profile_result section:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100vw;
  right: -100vw;
  z-index: -1;
}

.profile_result section .innerWrap {
  overflow: hidden;
  max-width: 575px;
  margin: 0 0 0 auto;
}

.profile_result .img_profile {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  max-width: 456px;
  width: 41.455%;
}

@media only screen and (max-width: 767px) {
  .profile_result .img_profile {
    left: auto;
    right: -70px;
    max-width: 306px;
    width: 73.914%;
  }
}

.profile_result .img_profile img {
  width: 100%;
  height: auto;
}

/* sec_profile */
#sec_profile {
  padding: 65px 0 70px;
}

@media only screen and (min-width: 768px) {
  #sec_profile {
    position: static;
  }
}

@media only screen and (max-width: 767px) {
  #sec_profile {
    overflow: hidden;
    padding: 65px 25px 70px;
  }
}

#sec_profile:before {
  background: #000;
}

#sec_profile .hd01 {
  margin: 0 0 35px;
  overflow: hidden;
  position: relative;
}

#sec_profile .hd01:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_profile .hd01 > * {
  opacity: 0;
}

#sec_profile .hd01.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_profile .hd01.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_profile .hd01.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_profile .btn02 {
  margin: 40px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_profile .btn02:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_profile .btn02 > * {
  opacity: 0;
}

#sec_profile .btn02.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_profile .btn02.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_profile .btn02.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_profile .profile_detail {
  font-size: 1.5rem;
  line-height: 1.8;
}

#sec_profile .profile_detail > div {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

#sec_profile .profile_detail > div > p {
  display: inline-block;
  overflow: hidden;
  position: relative;
  margin: 0 0 5px;
}

#sec_profile .profile_detail > div > p:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_profile .profile_detail > div > p > * {
  opacity: 0;
}

#sec_profile .profile_detail > div > p.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_profile .profile_detail > div > p.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_profile .profile_detail > div > p.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_profile .profile_detail dl {
  overflow: hidden;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

#sec_profile .profile_detail dl > div {
  position: relative;
  display: inline-flex;
  margin: 3px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_profile .profile_detail dl > div:first-child {
  margin-top: 0;
}

#sec_profile .profile_detail dl > div:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_profile .profile_detail dl > div > * {
  opacity: 0;
}

#sec_profile .profile_detail dl > div.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_profile .profile_detail dl > div.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_profile .profile_detail dl > div.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_profile .profile_detail dt {
  flex: 1 0 auto;
  width: 102px;
}

/* sec_result */
#sec_result {
  padding: 65px 0 85px;
}

@media only screen and (max-width: 767px) {
  #sec_result {
    padding: 65px 25px 85px;
  }
}

#sec_result:before {
  background: #020D2D;
}

#sec_result .hd01 {
  margin: 0 0 40px;
  overflow: hidden;
  position: relative;
}

#sec_result .hd01:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_result .hd01 > * {
  opacity: 0;
}

#sec_result .hd01.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_result .hd01.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_result .hd01.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_result .btn02 {
  margin: 45px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_result .btn02:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_result .btn02 > * {
  opacity: 0;
}

#sec_result .btn02.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_result .btn02.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_result .btn02.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_result .btn02 span {
  background-image: url(../img/txt_andmore__nvy.png);
}

#sec_result .btn02:hover span:after {
  border-color: #020D2D;
}

#sec_result .list_result {
  font-size: 1.5rem;
  line-height: 1.6;
}

#sec_result .list_result ol {
  display: inline-flex;
  flex-direction: column;
}

#sec_result .list_result li {
  margin: 35px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_result .list_result li:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_result .list_result li > * {
  opacity: 0;
}

#sec_result .list_result li.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_result .list_result li.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_result .list_result li.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

#sec_result .list_result li:first-child {
  margin-top: 0;
}

#sec_result .list_result .inner {
  display: flex;
}

#sec_result .list_result .post_date {
  flex: 1 0 auto;
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 33px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_result .list_result .post_date {
    font-size: 1.2rem;
    padding-top: 3px;
    margin-right: 20px;
  }
}

#sec_result .list_result .main {
  width: 100%;
}

#sec_result .list_result .post_result {
  font-size: 1.8rem;
}

@media only screen and (max-width: 767px) {
  #sec_result .list_result .post_result {
    font-size: 1.6rem;
  }
}

/*-------------------------
  SCHEDULE
-------------------------*/
#sec_schedule {
  position: relative;
  min-height: 499px;
  color: #fff;
  padding: 52px 40px;
}

@media only screen and (max-width: 767px) {
  #sec_schedule {
    min-height: 562px;
    padding: 60px 25px 80px;
  }
}

#sec_schedule .img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

#sec_schedule .img img {
  object-position: center top;
}

#sec_schedule .hd01 {
  display: inline-block;
  margin: 0 0 40px;
  overflow: hidden;
  position: relative;
}

#sec_schedule .hd01:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_schedule .hd01 > * {
  opacity: 0;
}

#sec_schedule .hd01.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_schedule .hd01.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_schedule .hd01.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

@media only screen and (max-width: 767px) {
  #sec_schedule .hd01 {
    margin-bottom: 35px;
  }
}

#sec_schedule .hd01 .main:after {
  background-color: #fff;
  margin: 0;
}

#sec_schedule .hd01 img {
  height: 47px;
}

@media only screen and (max-width: 767px) {
  #sec_schedule .hd01 img {
    height: 33px;
  }
}

#sec_schedule .list_schedule {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 700;
}

#sec_schedule .list_schedule ol {
  display: inline-flex;
  flex-direction: column;
}

#sec_schedule .list_schedule li {
  margin: 40px 0 0;
  overflow: hidden;
  position: relative;
}

#sec_schedule .list_schedule li:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
}

#sec_schedule .list_schedule li > * {
  opacity: 0;
}

#sec_schedule .list_schedule li.line {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  animation-duration: 0.35s;
}

#sec_schedule .list_schedule li.line:before {
  opacity: 1;
  animation-name: line;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 0.25s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: right center;
  animation-duration: 0.95s;
  animation-delay: 0s;
}

#sec_schedule .list_schedule li.line > * {
  animation-name: line_img;
  animation-fill-mode: forwards;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
  transform-origin: left center;
  animation-delay: 0.35s;
}

@media only screen and (max-width: 767px) {
  #sec_schedule .list_schedule li {
    margin-top: 30px;
  }
}

#sec_schedule .list_schedule li:first-child {
  margin-top: 0;
}

@media only screen and (min-width: 768px) {
  #sec_schedule .list_schedule .inner {
    display: flex;
  }
}

#sec_schedule .list_schedule .post_date {
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 5px 0;
  margin: 0 30px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_schedule .list_schedule .post_date {
    font-size: 1.2rem;
    margin: 0;
  }
}

#sec_schedule .list_schedule .post_title {
  font-size: 1.8rem;
}

#sec_schedule .list_schedule .post_main {
  margin: 10px 0 0;
}

/*-------------------------
  SNS
-------------------------*/
.blk_sns {
  padding: 67px 40px 80px;
}

@media only screen and (max-width: 767px) {
  .blk_sns {
    padding: 55px 25px 70px;
  }
}

@media only screen and (min-width: 768px) {
  .blk_sns > .innerWrap {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .blk_sns > .innerWrap > section {
    max-width: 521px;
    width: 47.365%;
  }
}

@media only screen and (min-width: 768px) {
  .blk_sns > .innerWrap > section > .innerWrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
}

.blk_sns .hd01 {
  margin: 0 0 45px;
}

@media only screen and (max-width: 767px) {
  .blk_sns .hd01 {
    margin: 0 0 35px;
  }
}

.blk_sns .hd01 .main:after {
  margin: 0;
}

.blk_sns .hd01 img {
  height: 47px;
}

@media only screen and (max-width: 767px) {
  .blk_sns .hd01 img {
    height: 33px;
  }
}

.blk_sns div.main {
  margin: 0 0 35px;
}

.blk_sns .btn01 {
  margin: auto 0 0;
}

/* Instagram */
#sec_instagram div.main img {
  width: 100%;
  height: auto;
}

#sec_instagram #sb_instagram {
  padding: 0;
}

#sec_instagram #sbi_images {
  float: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 !important;
  margin-bottom: -15px;
}

#sec_instagram #sb_instagram.sbi_col_3 #sbi_images .sbi_item {
  float: none;
  position: relative;
  width: 30.77%;
  margin: 0 0 15px !important;
}

@media only screen and (max-width: 560px) {
  #sec_instagram #sb_instagram.sbi_col_3 #sbi_images .sbi_item {
    width: 48%;
  }
}

#sec_instagram #sb_instagram.sbi_col_3 #sbi_images .sbi_item:before {
  content: '';
  display: block;
  padding-bottom: 100%;
}

#sec_instagram #sb_instagram.sbi_col_3 #sbi_images .sbi_item > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#sec_instagram #sb_instagram .sbi_photo {
  width: 100% !important;
  height: 100% !important;
}

/* YouTube */
@media only screen and (max-width: 767px) {
  #sec_youtube {
    margin: 75px 0 0;
  }
}

#sec_youtube div.main {
  position: relative;
}

#sec_youtube div.main:before {
  content: '';
  display: block;
  padding-bottom: 62.5%;
}

#sec_youtube div.main iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■NEWS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  sec_mainvisual
-------------------------*/
#page_news .post_date {
  position: relative;
  flex: 1 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  max-width: 126px;
  width: 100%;
  font-size: 1.5rem;
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 18px;
}

@media only screen and (max-width: 767px) {
  #page_news .post_date {
    max-width: 76px;
    width: auto;
    font-size: 1.2rem;
    padding: 9px;
  }
}

#page_news .post_date:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #168EFE;
}

#page_news .post_title {
  align-self: center;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 12px 22px;
}

@media only screen and (max-width: 767px) {
  #page_news .post_title {
    font-size: 1.5rem;
    padding: 15px 13px;
  }
}

/*-------------------------
  sec_mainvisual
-------------------------*/
#sec_news_list {
  padding: 77px 40px 128px;
}

@media only screen and (max-width: 767px) {
  #sec_news_list {
    padding: 35px 25px 70px;
  }
}

#sec_news_list .list_news li {
  display: flex;
  width: 100%;
  margin: 30px 0 0;
}

#sec_news_list .list_news li:first-child {
  margin-top: 0;
}

#sec_news_list .list_news .inner {
  width: 100%;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  #sec_news_list .list_news .inner {
    display: flex;
    align-items: flex-start;
  }
}

@media only screen and (min-width: 768px) {
  #sec_news_list .list_news .inner > * {
    min-height: 52px;
  }
}

#sec_news_list .list_news .post_date {
  position: relative;
}

#sec_news_list .list_news .post_date:after {
  content: '';
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 100%;
  z-index: -1;
  background: #000;
  transition: all 0.25s linear;
}

#sec_news_list .list_news .main {
  position: relative;
}

@media only screen and (min-width: 768px) {
  #sec_news_list .list_news .main {
    display: flex;
    width: 100%;
  }
}

#sec_news_list .list_news .main:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #000;
}

#sec_news_list .list_news .main:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 100%;
  z-index: -1;
  background: #168EFE;
  transition: all 0.25s linear;
}

#sec_news_list .list_news .link {
  flex: 1 0 auto;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 17px 14px 17px 0;
}

@media only screen and (max-width: 767px) {
  #sec_news_list .list_news .link {
    display: flex;
    justify-content: flex-end;
    font-size: 1.2rem;
    line-height: 1.4;
    padding: 0 13px 11px;
  }
}

#sec_news_list .list_news .link a {
  transition: all 0.25s linear;
}

#sec_news_list .list_news .link a:hover {
  color: #168EFE;
}

#sec_news_list .list_news .link a:hover span:after {
  border-color: #168EFE;
}

#sec_news_list .list_news .link span {
  position: relative;
  padding-right: 20px;
}

#sec_news_list .list_news .link span:after {
  content: '';
  position: absolute;
  top: 6px;
  right: 0;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg);
  transition: all 0.25s linear;
}

@media only screen and (max-width: 767px) {
  #sec_news_list .list_news .link span:after {
    width: 9px;
    height: 9px;
  }
}

#sec_news_list .list_news a:hover .post_date:after {
  right: 0;
  transition-duration: 0.15s;
}

#sec_news_list .list_news a:hover .main:after {
  right: 0;
}

/*-------------------------
  sec_mainvisual
-------------------------*/
#sec_news_post {
  padding: 77px 40px 115px;
}

@media only screen and (max-width: 767px) {
  #sec_news_post {
    padding: 35px 25px 70px;
  }
}

@media only screen and (min-width: 768px) {
  #sec_news_post .sec_post__inner {
    display: flex;
    align-items: flex-start;
  }
}

@media only screen and (min-width: 768px) {
  #sec_news_post .sec_post__inner > * {
    min-height: 52px;
  }
}

@media only screen and (min-width: 768px) {
  #sec_news_post .main {
    width: 100%;
  }
}

#sec_news_post .post_title {
  color: #fff;
  background: #000;
  margin: 0 0 50px;
}

@media only screen and (max-width: 767px) {
  #sec_news_post .post_title {
    margin-bottom: 30px;
  }
}

#sec_news_post .btn01 {
  margin: 45px 0 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■RESULT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  sec_mainvisual
-------------------------*/
.page-result #container {
  background: #020D2D;
  color: #fff;
}

#sec_result_list {
  padding: 77px 40px 330px;
}

@media only screen and (max-width: 767px) {
  #sec_result_list {
    padding: 40px 25px 190px;
  }
}

#sec_result_list .list_result > div {
  margin: 70px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_result_list .list_result > div {
    margin-top: 50px;
  }
}

#sec_result_list .list_result > div:first-child {
  margin-top: 0;
}

#sec_result_list .list_result dt {
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 220px;
  width: 70%;
  height: 52px;
  border: 1px solid #fff;
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 2.0rem;
  margin: 0 auto;
  transition: all 0.25s linear;
}

#sec_result_list .list_result dt:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#sec_result_list .list_result dt:before, #sec_result_list .list_result dt:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 8px;
  height: 2px;
  background-color: #fff;
  margin: auto 0;
  transition: all 0.25s linear;
}

#sec_result_list .list_result dt:before {
  right: 15px;
  margin-left: -3px;
  transform: translateX(-50%) rotate(45deg);
}

#sec_result_list .list_result dt:after {
  right: 10px;
  margin-left: 3px;
  transform: translateX(-50%) rotate(-45deg);
}

#sec_result_list .list_result dt.active:before {
  transform: translateX(-50%) rotate(135deg);
}

#sec_result_list .list_result dt.active:after {
  transform: translateX(-50%) rotate(-135deg);
}

#sec_result_list .list_result dd {
  display: none;
}

#sec_result_list .list_result ol {
  padding: 50px 0 0;
}

#sec_result_list .list_result ol > li {
  margin: 50px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_result_list .list_result ol > li {
    margin-top: 45px;
  }
}

#sec_result_list .list_result ol > li:first-child {
  margin-top: 0;
}

#sec_result_list .list_result .post_date {
  font-family: "Arial", "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif, "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 1.5rem;
  border-bottom: 1px solid #fff;
  padding: 0 0 12px;
  margin: 0 0 20px;
}

@media only screen and (max-width: 767px) {
  #sec_result_list .list_result .post_date {
    margin-bottom: 10px;
  }
}

#sec_result_list .list_result .post_title {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 33px 15px 0;
}

@media only screen and (max-width: 767px) {
  #sec_result_list .list_result .post_title {
    font-size: 1.5rem;
  }
}

#sec_result_list .list_result .post_result {
  display: inline-block;
  background: #168EFE;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 13px 23px;
}

@media only screen and (max-width: 767px) {
  #sec_result_list .list_result .post_result {
    font-size: 1.5rem;
    padding: 5px 13px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■CONTACT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  form_item
-------------------------*/
.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form input[type="password"],
.form input[type="number"],
.form input[type="url"],
.form select {
  height: 53px;
  border-color: #707070;
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .form input[type="text"],
  .form input[type="tel"],
  .form input[type="email"],
  .form input[type="password"],
  .form input[type="number"],
  .form input[type="url"],
  .form select {
    height: 43px;
  }
}

.form textarea {
  height: 230px;
  border-color: #707070;
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .form textarea {
    height: 130px;
  }
}

.form .sizeM {
  max-width: 510px;
}

.form div.mfp_err {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 14px 0;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .form div.mfp_err {
    font-size: 1.3rem;
    padding: 0;
    margin: 0 0 10px;
  }
}

#page_contact .btn01 {
  margin: 44px 0 0;
}

@media only screen and (min-width: 768px) {
  #page_contact .btn01 {
    left: 210px;
  }
}

@media only screen and (max-width: 767px) {
  #page_contact #mfp_confirm_table th, #page_contact #mfp_confirm_table td {
    line-height: 1.6;
  }
}

#page_contact #mfp_confirm_table th {
  font-size: 1.8rem;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  #page_contact #mfp_confirm_table th {
    width: 210px;
    padding: 14px 0;
  }
}

@media only screen and (max-width: 767px) {
  #page_contact #mfp_confirm_table th {
    width: auto;
    font-size: 1.6rem;
    padding: 0 0 10px;
  }
}

@media only screen and (min-width: 768px) {
  #page_contact #mfp_confirm_table td {
    padding: 14px 13px 14px 0;
  }
}

@media only screen and (max-width: 767px) {
  #page_contact #mfp_confirm_table td {
    padding: 0 0 30px;
  }
}

#page_contact .mfp_buttons {
  flex-direction: row-reverse;
}

@media only screen and (min-width: 768px) {
  #page_contact .mfp_buttons {
    justify-content: flex-end;
    padding: 0 0 0 210px;
    margin: 50px 0 0;
  }
}

@media only screen and (max-width: 767px) {
  #page_contact .mfp_buttons {
    justify-content: center;
    padding: 0;
    margin-top: 20px;
  }
}

#page_contact .mfp_buttons button {
  font-size: 0;
  line-height: 0;
}

@media only screen and (max-width: 767px) {
  #page_contact .mfp_buttons button {
    margin: 0 10px;
  }
}

#page_contact .mfp_buttons button#mfp_button_send {
  max-width: 125px;
  min-height: 40px;
  z-index: inherit;
  background: url(../img/txt_submit__blk.png) no-repeat 17px center;
  background-size: auto 19px;
  border-color: #000;
  font-size: 0;
  margin: 0 0 0 30px;
}

#page_contact .mfp_buttons button#mfp_button_send:before {
  background-color: #000;
}

#page_contact .mfp_buttons button#mfp_button_send:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(-45deg);
  margin: auto 0;
  transition: all 0.25s linear;
}

#page_contact .mfp_buttons button#mfp_button_send:hover {
  background-image: url(../img/txt_submit__wht.png);
}

#page_contact .mfp_buttons button#mfp_button_send:hover:after {
  border-color: #fff;
}

#page_contact .mfp_buttons button#mfp_button_cancel {
  max-width: 125px;
  min-height: 40px;
  z-index: inherit;
  background: url(../img/txt_cancel__blk.png) no-repeat 80% center;
  background-size: auto 19px;
  border: 1px solid #000;
  margin: 0;
  opacity: 1 !important;
}

#page_contact .mfp_buttons button#mfp_button_cancel:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  right: 100%;
  z-index: -1;
  background: #000;
  transition: all 0.25s linear;
}

#page_contact .mfp_buttons button#mfp_button_cancel:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(135deg);
  margin: auto 0;
  transition: all 0.25s linear;
}

#page_contact .mfp_buttons button#mfp_button_cancel:hover {
  background-image: url(../img/txt_cancel__wht.png);
}

#page_contact .mfp_buttons button#mfp_button_cancel:hover:before {
  right: 0;
}

#page_contact .mfp_buttons button#mfp_button_cancel:hover:after {
  border-color: #fff;
}

#sec_contact_form {
  padding: 70px 40px 100px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form {
    padding: 70px 25px 100px;
  }
}

#sec_contact_form .innerWrap {
  max-width: 984px;
}

#sec_contact_form .form_item {
  padding: 0;
  margin: 50px 0 0;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form .form_item {
    margin-top: 30px;
  }
}

#sec_contact_form .form_item:first-child {
  margin-top: 0;
}

#sec_contact_form .form_item .item_title {
  align-self: flex-start;
  width: 210px;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 12px 0;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form .form_item .item_title {
    font-size: 1.6rem;
    padding: 0;
    margin: 0 0 10px;
  }
}

#sec_contact_form .form_item .item_title .required {
  font-size: inherit;
  color: inherit;
}

@media only screen and (min-width: 768px) {
  #sec_contact_form .form_item .item_main {
    padding: 0 13px 0 0;
  }
}

#sec_contact_form .form_item.textarea .item_title {
  padding: 10px 0;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form .form_item.textarea .item_title {
    padding: 0;
  }
}

#sec_contact_form .form_item.textarea div.mfp_err {
  padding: 12px 0 14px;
}

@media only screen and (max-width: 767px) {
  #sec_contact_form .form_item.textarea div.mfp_err {
    padding: 0;
  }
}

#sec_contact_thanks {
  padding: 70px 40px 100px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  #sec_contact_thanks {
    padding: 70px 25px 100px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■PROFILE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0s;
  visibility: hidden;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media only screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  sec_profile
-------------------------*/
#page_profile .blk_profile {
  overflow: hidden;
  position: relative;
  background: #000;
  color: #fff;
  padding: 0 40px;
}

@media only screen and (max-width: 767px) {
  #page_profile .blk_profile {
    padding: 0;
  }
}

#page_profile #sec_profile {
  position: relative;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile {
    padding: 55px 25px 90px;
  }
}

#page_profile #sec_profile * {
  opacity: 1;
}

#page_profile #sec_profile .innerWrap {
  overflow: hidden;
  max-width: 575px;
  margin: 0 0 0 auto;
}

#page_profile #sec_profile .img_profile {
  position: absolute;
  top: 0;
  bottom: auto;
  left: 0;
  display: block;
  max-width: 456px;
  width: 41.455%;
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile .img_profile {
    top: auto;
    bottom: 0;
    left: auto;
    right: -70px;
    max-width: 306px;
    width: 73.914%;
  }
}

#page_profile #sec_profile .img_profile img {
  width: 100%;
  height: auto;
}

#page_profile #sec_profile .hd01 {
  display: inline-block;
  margin: 0 0 35px;
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile .hd01 {
    margin-bottom: 30px;
  }
}

#page_profile #sec_profile .hd01 .main:after {
  margin: 0;
}

#page_profile #sec_profile .hd01 img {
  height: 47px;
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile .hd01 img {
    height: 33px;
  }
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile .profile_detail > div {
    margin-bottom: 5px;
  }
}

#page_profile #sec_profile .profile_detail > div > p:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  #page_profile #sec_profile .profile_detail dl > div {
    margin-top: 13px;
  }
}

/*-------------------------
  sec_message
-------------------------*/
#sec_message {
  padding: 54px 40px 133px;
}

@media only screen and (max-width: 767px) {
  #sec_message {
    padding: 45px 25px 50px;
  }
}

#sec_message .hd01 {
  margin-bottom: 45px;
}

@media only screen and (max-width: 767px) {
  #sec_message .hd01 {
    margin-bottom: 40px;
  }
}

#sec_message .hd01 .main {
  padding-bottom: 12px;
}

#sec_message .hd01 .main:after {
  margin: 0;
}

#sec_message .hd01 img {
  height: 44px;
}

@media only screen and (max-width: 767px) {
  #sec_message .hd01 img {
    height: 33px;
  }
}

#sec_message .text {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.4;
}

@media only screen and (min-width: 768px) {
  #sec_message .text {
    max-width: 831px;
    width: 75.546%;
  }
}

#sec_message .text .notes {
  font-size: 80%;
  margin: 30px 0 0;
}

#sec_message .name {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: right;
  margin: 35px 0 0;
}

@media only screen and (min-width: 768px) {
  #sec_message .name {
    max-width: 831px;
    width: 75.546%;
  }
}

@media only screen and (max-width: 767px) {
  #sec_message .name {
    margin-top: 20px;
  }
}

@media only screen and (min-width: 768px) {
  #sec_message .sign {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 220px;
    width: 20%;
  }
}

@media only screen and (max-width: 767px) {
  #sec_message .sign {
    max-width: 127px;
    width: 34.894%;
    margin: 25px 0 0 auto;
  }
}

#sec_message .sign img {
  width: 100%;
  height: auto;
}
