{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% form_theme form 'Form/form_div_layout.twig' %}
{% block stylesheet %}
<style>
{% if form_errors(form.contents) %}
#contact_contents {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.name.name01) %}
#contact_name_name01 {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.name.name02) %}
#contact_name_name02 {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.kana.kana01) %}
#contact_kana_kana01 {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.kana.kana02) %}
#contact_kana_kana02 {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.address.pref) %}
#contact_address_pref {
width: 50%;
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
@media(max-width: 768px) {
width:100%;
}
}
{% endif %}
{% if form_errors(form.phone_number) %}
#contact_phone_number {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.email.first) %}
#contact_email_first {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
{% if form_errors(form.email.second) %}
#contact_email_second {
background-color: #FDF1F0;
border: 1px solid #C73C3C !important;
}
{% endif %}
select {
-webkit-appearance: none;
appearance: none;
background-image: url("{{ asset('assets/img/common/icons/select-arrow.svg') }}");
background-repeat: no-repeat;
background-position: right 16px center;
padding: 12px 16px;
width: 100%;
border: solid 1px;
border-color: #CCCCCC;
border-radius: 3px;
background-color: #FFFFFF;
}
input[type="radio"],
input[type="checkbox"] {
accent-color: #666666;
}
#contact_name_name01,
#contact_name_name02,
#contact_kana_kana01,
#contact_kana_kana02,
#contact_postal_code,
#contact_address_addr01,
#contact_address_addr02,
#contact_phone_number,
#contact_order_number,
#contact_contents,
#contact_email_first,
#contact_email_second,
#contact_textArea_for_pet_type,
#contact_textArea_for_remains,
#contact_textArea_for_opinion {
padding: 12px;
width: 100%;
border-width: 1px;
border-color: #CCCCCC;
border-radius: 3px;
text: #BBBBBB;
}
input[type="radio"] {
width: 16px;
height: 16px;
border: 2px solid #CCCCCC;
background-color: #CCCCCC;
margin-right: 8px;
}
&:not(:first-child) {
margin: 0;
}
input[type="radio"]::after {
width: 8px;
height: 8px;
background-color: #CCCCCC;
}
</style>
{% endblock %}
{% block javascript %}
<script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
<script>
$(function () {
$("#{{ form.contact_type.vars.id }}").on('change', function () {
if ($(this).val() === 'catalog') {
window.location.href = "{{ url('contact', { type: 'catalog' }) }}";
} else {
window.location.href = "{{ url('contact', { type: 'other' }) }}";
}
});
});
</script>
{% endblock javascript %}
{% block main %}
<div class="pb-20 bg-background-default gap-1 flex-wrap items-center md:pb-0">
<div>
<div class="flex gap-4 md:gap-2 items-start mx-auto w-full pl-[10.625vw] md:pl-6 pt-[120px] md:pt-20 pb-10 md:pb-1">
<hr class="md:h-[64px] h-[120px] w-[2px] bg-gradient-to-b from-[#ADAAA6] to-[#F0EDE900] border-none">
<h1 class="text-2xl md:text-xl font-light leading-9 tracking-widest">お問い合わせ</h1>
</div>
{% set breadcrumbs = [{'name': 'お問い合わせ(入力)'}] %}
{{ include('Block/breadcrumb.twig') }}
</div>
<div class="w-full items-center flex flex-col ">
<div class="w-[591px] bg-sub-beige-pale py-6 flex flex-col items-center mb-20 gap-5 text-sm md:w-full">
<div class="flex flex-col items-center">
<p class="leading-7 tracking-widest">お電話でもご相談を承ります。</p>
<p class="leading-7 tracking-widest">お気軽にお問い合わせください。</p>
</div>
<a href="tel:03-5579-5671" class="text-2xl leading-9 font-notoseddf flex gap-2">
<img src="{{asset('assets/icon/phone.svg')}}" alt="電話のアイコン" class="w-8 h-8">
<p class="text-[32px] leading-9 font-notoserif">03-5579-5671</p>
</a>
<p>受付時間/10:00~18:00(年末年始除く)</p>
</div>
<div class="flex flex-col justify-center items-center gap-2 pb-20 md:pb-6 w-full max-w-[592px] mx-auto md:px-6 whitespace-nowrap">
<div class="flex items-center w-full justify-between">
<div class="w-11 h-11 bg-sub-blue flex items-center justify-center rounded-full">
<p class="text-white font-bold font-notoserif leading-none">1</p>
</div>
<div class="w-[33vw] flex-1 h-[2px] bg-gray"></div>
<div class="w-11 h-11 bg-gray flex items-center justify-center rounded-full">
<p class="text-white font-bold font-notoserif leading-none">2</p>
</div>
<div class="w-[33vw] flex-1 h-[2px] bg-gray"></div>
<div class="w-11 h-11 bg-gray flex items-center justify-center rounded-full">
<p class="text-white font-bold font-notoserif leading-none">3</p>
</div>
</div>
<div class="flex w-full items-center text-xs mx-auto max-w-[800px] justify-between">
<p class="font-bold w-[27.8vw] pl-[10px]">入力</p>
<p class="text-center">登録内容の確認</p>
<p class="text-end w-[27.8vw]">登録完了</p>
</div>
</div>
</div>
<div class="max-w-[592px] mx-auto pb-20">
<div class="ec-off1Grid__cell">
<form method="post" action="{{ url('contact', { type: type }) }}" class="h-adr" novalidate>
<span class="p-country-name" style="display:none;">Japan</span>
{{ form_widget(form._token) }}
<div class="mb-10 md:px-6 md:text-sm">
<p class="leading-7">商品・サービスについてなど、お気軽にお問い合わせください。</p>
<p class="leading-7 text-red font-bold">※ は必須項目です。</p>
</div>
<div class="flex flex-col gap-10 mb-20 md:px-6">
{# FIXME:必要な時に非表示戻す #}
<dl class="hidden">
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">{{ form_label(form.contact_type, '', { 'label_attr': { 'class': 'ec-label' }}) }}</p>
<p class="text-sm text-red">※</p>
</dt>
<dd>
<div>
{{ form_widget(form.contact_type) }}
{% if form_errors(form.contact_type) %}
<div class="!text-red text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
お問い合わせ種類が{{ form_errors(form.contact_type) }}</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl>
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">お名前</p>
<p class="text-sm text-red">※</p>
</dt>
<dd>
<div class="ec-halfInput{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
<div class="flex gap-2">
<div class="w-1/2">{{ form_widget(form.name.name01, {'attr': { 'placeholder': '山田' }}) }}</div>
<div class="w-1/2">
{{ form_widget(form.name.name02, {'attr': { 'placeholder': '太郎' }}) }}
</div>
</div>
<div class="flex flex-col gap-1 pt-2">
{% if form_errors(form.name.name01) %}
<div class="!text-red text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
姓:{{ form_errors(form.name.name01) }}</span>
</div>
{% endif %}
{% if form_errors(form.name.name02) %}
<div class="!text-red text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
名前:{{ form_errors(form.name.name02) }}
</span>
</div>
{% endif %}
</div>
</div>
</dd>
</dl>
<dl>
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">お名前(フリガナ)</p>
<p class="text-sm text-red">※</p>
</dt>
<dd>
<div class="ec-halfInput{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error'}}">
<div class="flex gap-2">
<div class="w-1/2">{{ form_widget(form.kana.kana01, { attr: { placeholder: 'ヤマダ' } }) }}</div>
<div class="w-1/2">
{{ form_widget(form.kana.kana02, { attr: { placeholder: 'タロウ' } }) }}
</div>
</div>
<div class="flex flex-col gap-1 pt-2">
{% if form_errors(form.kana.kana01) %}
<div class="!text-red text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
姓(カタカナ):{{ form_errors(form.kana.kana01) }}
</span>
</div>
{% endif %}
{% if form_errors(form.kana.kana02) %}
<div class="!text-red text-xs flex items-center gap-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
名(カタカナ):{{ form_errors(form.kana.kana02) }}
</span>
</div>
{% endif %}
</div>
</div>
</dd>
</dl>
<dl>
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">住所</p>
</dt>
<dd>
<div class="flex flex-col gap-6">
<div>
<div class="pb-4 md:pb-2">
<p class="pb-2 text-sm font-medium">郵便番号</p>
<div class="flex gap-x-4 items-center md:flex-col w-full gap-y-4 md:items-start">
<div class="flex gap-x-2 items-center">
<span>{{ 'common.postal_symbol'|trans }}</span>
<div class="w-[160px] ec-zipInput {% if form_errors(form.postal_code) %} border-red bg-rose-50 {% endif %}">
{{ form_widget(form.postal_code, {'attr':{'placeholder':'ハイフンなし'}}) }}
</div>
</div>
</div>
{% if form_errors(form.postal_code) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
郵便番号:{{ form_errors(form.postal_code) }}
</span>
</div>
{% endif %}
</div>
<a href="https://www.post.japanpost.jp/zipcode/" target="_blank" class="text-sm border-b w-fit leading-7 tracking-wider hover">郵便番号を検索する(外部サイトへ)</a>
</div>
<div class="ec-select{{ has_errors(form.address.pref) ? ' error' }}">
<p class="pb-2 text-sm font-medium">都道府県</p>
{{ form_widget(form.address.pref) }}
{% if form_errors(form.address.pref) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
都道府県:{{ form_errors(form.address.pref) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.address.addr01) ? ' error' }}">
<p class="pb-2 text-sm font-medium">市区町村</p>
<div class=" w-full ">
{{ form_widget(form.address.addr01, { 'attr': { 'placeholder': '千代田区神田神保町' }}) }}</div>
{% if form_errors(form.address.addr01) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
市区町村:{{ form_errors(form.address.addr01) }}
</span>
</div>
{% endif %}
</div>
<div class="ec-input{{ has_errors(form.address.addr02) ? ' error' }}">
<p class="pb-2 text-sm font-medium">番地・ビル名</p>
<div class="w-full">
{{ form_widget(form.address.addr02, { 'attr': { 'placeholder': '1-3-5 まなかマンション908' }}) }}</div>
{% if form_errors(form.address.addr02) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
番地・ビル名:{{ form_errors(form.address.addr02) }}
</span>
</div>
{% endif %}
</div>
</div>
</dd>
</dl>
<dl>
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">電話番号</p>
<p class="text-sm text-red">※</p>
</dt>
<dd class="mb-4">
<div class="ec-telInput{{ has_errors(form.phone_number) ? ' error' }}">
{{ form_widget(form.phone_number, {'attr': {'placeholder': '半角数字(ハイフンなし)'}}) }}
{% if form_errors(form.phone_number) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
電話番号:{{ form_errors(form.phone_number) }}
</span>
</div>
{% endif %}
</div>
</dd>
<p class="text-xs">※携帯電話等の日中につながりやすいお電話番号をご入力ください。</p>
</dl>
<dl class="-mb-5">
<dt class="flex items-center gap-2 pb-4">
<p class="text-xl font-medium leading-8">メールアドレス</p>
<p class="text-sm text-red">※</p>
</dt>
<dd>
<div class="ec-input{{ form_errors(form.email.first) ? ' error' }}">
<div class="w-full ">{{ form_widget(form.email.first, {'attr': { 'placeholder': 'mail@itsukushi.net' }}) }}</div>
{% if form_errors(form.email.first) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex md:flex-col">
メールアドレス:{{ form_errors(form.email.first) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
<dl>
<dt>
<p class="text-sm font-medium leading-8">確認のためもう一度入力してください</p>
</dt>
<dd class="ec-input{{ form_errors(form.email.second) ? ' error' }} mb-4">
<div class="w-full ">{{ form_widget(form.email.second, {'attr': { 'placeholder': 'mail@itsukushi.net' }}) }}</div>
{% if form_errors(form.email.second) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex">
メールアドレス(確認) :{{ form_errors(form.email.second) }}
</span>
</div>
{% endif %}
</dd>
<div class="flex flex-col gap-2">
<p class="text-xs">※ itsukushi@manaka-net.com からのメールを受信できる設定になっていることをご確認下さい。</p>
<p class="text-xs">※ SMSはご利用になれません。キャリアメールは極力お控え頂けますようお願い申し上げます。</p>
</div>
</dl>
{% if type == constant('Customize\\Service\\ContactService::CONTACT_TYPE_OTHER') %}
<dl>
<dt>
<div class="flex flex-col gap-4 mb-2">
<p class="text-xl font-medium leading-8">{{ form_label(form.order_number, '', { 'label_attr': { 'class': 'ec-label' }}) }}</p>
<p class="text-sm tracking-wider">(ご注文済みの場合のみ)</p>
</div>
</dt>
<dd>
<div>
{{ form_widget(form.order_number, {'attr': { 'placeholder': '注文番号' }}) }}
{{ form_errors(form.order_number) }}
</div>
</dd>
</dl>
<dl>
<dt>
<div class="flex items-center gap-2 mb-4">
<p class="text-xl font-medium leading-8">お問い合わせ内容</p>
<p class="text-sm text-red">※</p>
</div>
</dt>
<dd>
<div class="ec-input{{ has_errors(form.contents) ? ' error' }}">
<div class=" w-full text-sm">
{{ form_widget(form.contents, {'attr': { 'placeholder': 'お問い合わせ内容', 'rows': 10 }}) }}</div>
{% if form_errors(form.contents) %}
<div class="!text-red text-xs flex items-center gap-2 pt-2">
<img src="{{asset('assets/icon/error.svg')}}" alt="Error Image" class="w-3 h-3">
<span class="flex ">
お問い合わせ内容:{{ form_errors(form.contents) }}
</span>
</div>
{% endif %}
</div>
</dd>
</dl>
{% endif %}
</div>
<div class="text-sm flex flex-col pb-10 md:px-6">
<p class="text-xl mb-4">よろしければアンケートにご協力ください。</p>
<div class="flex flex-col gap-10 mb-20">
<dl class="flex flex-col gap-4">
<dt class="font-medium p-2 bg-sub-beige-pale">
{{ form_label(form.is_send_email, '', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<ul class="flex flex-wrap md:flex-col gap-3 md:gap-6">
{% for child in form.is_send_email.children %}
<li class="flex items-center">
{{ form_widget(child) }}
{{ form_label(child) }}
</li>
{% endfor %}
</ul>
{{ form_errors(form.is_send_email) }}
</dd>
</dl>
<dl class="flex flex-col gap-4">
<dt class="font-medium p-2 bg-sub-beige-pale">
{{ form_label(form.where_did_you_know, '', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div>
<ul class="flex flex-wrap md:flex-col gap-6">
{% for child in form.where_did_you_know %}
<li class="flex items-center">
{{ form_widget(child) }}
{{ form_label(child) }}
</li>
{% endfor %}
</ul>
</div>
{{ form_errors(form.where_did_you_know) }}
</dd>
</dl>
<dl class="flex flex-col gap-4">
<dt class="font-medium p-2 bg-sub-beige-pale">
{{ form_label(form.pet_type, '', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<ul class="flex md:flex-col gap-6 mb-6">
{% for child in form.pet_type.children %}
{% if child.vars.value != 'その他' %}
<li class="flex items-center gap-[3px]">
{{ form_widget(child) }}
{{ form_label(child) }}
</li>
{% endif %}
{% endfor %}
</ul>
<div class="flex flex-col">
<div class="mb-2 flex items-center gap-[3px]">
{{ form_widget(form.pet_type[4]) }}
{{ form_label(form.pet_type[4]) }}
</div>
{{ form_widget(form.textArea_for_pet_type, {'attr': { 'placeholder': '入力してください', 'rows': 1 }}) }}
{{ form_errors(form.textArea_for_pet_type) }}
</div>
</dd>
</dl>
<dl class="flex flex-col gap-4">
<dt class="font-medium p-2 bg-sub-beige-pale">
{{ form_label(form.remains, '', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<ul class="flex md:flex-col gap-6 md:gap-6 mb-6">
{% for child in form.remains.children %}
{% if child.vars.value != 'その他' %}
<li class="flex items-center gap-[3px]">
{{ form_widget(child) }}
{{ form_label(child) }}
</li>
{% endif %}
{% endfor %}
</ul>
<div class="flex flex-col">
<div class="mb-2 flex items-center gap-[3px]">
{{ form_widget(form.remains[3]) }}
{{ form_label(form.remains[3]) }}
</div>
{{ form_widget(form.textArea_for_remains, {'attr': { 'placeholder': '入力してください', 'rows': 1 }}) }}
{{ form_errors(form.textArea_for_remains) }}
</div>
</dd>
</dl>
<dl class="flex flex-col gap-4">
<dt class="font-medium p-2 bg-sub-beige-pale">
{{ form_label(form.textArea_for_opinion, '', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
{{ form_widget(form.textArea_for_opinion, {'attr': { 'placeholder': '入力してください', 'rows': 6 }}) }}
{{ form_errors(form.textArea_for_opinion) }}
</dd>
</dl>
</div>
<div class="flex flex-col items-center">
<p class="text-sm mb-8">
<a class="border-b border-black hover" href="{{ url('help_privacy') }}" target="_blank">プライバシーポリシー</a>
に同意の上、</p>
<button type="submit" class="w-[327px] py-3 rounded-[3px] bg-black text-sm font-bold text-white mb-10 md:mb-4 hover" name="mode" value="confirm">確認画面へ
</button>
<div class="flex flex-col gap-2 text-xs max-w-[384px]">
<p class="leading-4">※内容によっては、回答をさしあげるのにお時間を頂くこともございます。</p>
<p class="leading-4">※休業日は翌営業日以降の対応となりますので、ご了承ください。</p>
<p class="leading-4">※itsukushi@manaka-net.comからのメールが受信できるように設定をお願いします。</p>
</div>
</div>
</div>
{# エンティティ拡張の自動出力 #}
{% for f in form|filter(f => f.vars.eccube_form_options.auto_render) %}
{% if f.vars.eccube_form_options.form_theme %}
{% form_theme f f.vars.eccube_form_options.form_theme %}
{{ form_row(f) }}
{% else %}
<dl>
<dt>
{% set label_class = f.vars.label_attr.class is defined ? f.vars.label_attr.class : '' %}
{{ form_label(f, f.vars.label, { 'label_attr': {'class': label_class ~ ' ec-label' }}) }}
</dt>
<dd>
<div class="{{ f.vars.eccube_form_options.style_class }}{{ has_errors(f) ? ' error' }}">
{{ form_widget(f) }}
{{ form_errors(f) }}
</div>
</dd>
</dl>
{% endif %}
{% endfor %}
</form>
</div>
</div>
</div>
{% endblock %}